• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; PR726
2; RUN: opt < %s -indvars -S | FileCheck %s
3
4; Make sure to compute the right exit value based on negative strides.
5
6define i32 @test() {
7; CHECK-LABEL: @test(
8; CHECK: ret i32 27
9entry:
10        br label %cond_true
11
12cond_true:              ; preds = %cond_true, %entry
13        %a.0.0 = phi i32 [ 10, %entry ], [ %tmp4, %cond_true ]          ; <i32> [#uses=2]
14        %b.0.0 = phi i32 [ 0, %entry ], [ %tmp2, %cond_true ]           ; <i32> [#uses=1]
15        %tmp2 = add i32 %b.0.0, %a.0.0          ; <i32> [#uses=2]
16        %tmp4 = add i32 %a.0.0, -1              ; <i32> [#uses=2]
17        %tmp = icmp sgt i32 %tmp4, 7            ; <i1> [#uses=1]
18        br i1 %tmp, label %cond_true, label %bb7
19
20bb7:            ; preds = %cond_true
21        ret i32 %tmp2
22}
23
24