• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-attributes
2; RUN: opt < %s -loop-deletion -S | FileCheck %s
3
4define void @f() #0 {
5; CHECK: Function Attrs: mustprogress
6; CHECK-LABEL: define {{[^@]+}}@f
7; CHECK-SAME: () [[ATTR0:#.*]] {
8; CHECK-NEXT:    br label [[TMP1:%.*]]
9; CHECK:       1:
10; CHECK-NEXT:    [[DOT01:%.*]] = phi i32 [ 1, [[TMP0:%.*]] ], [ [[TMP3:%.*]], [[TMP2:%.*]] ]
11; CHECK-NEXT:    [[DOT0:%.*]] = phi i32 [ 1, [[TMP0]] ], [ [[TMP3]], [[TMP2]] ]
12; CHECK-NEXT:    br label [[TMP2]]
13; CHECK:       2:
14; CHECK-NEXT:    [[TMP3]] = add nsw i32 [[DOT01]], [[DOT0]]
15; CHECK-NEXT:    br label [[TMP1]]
16;
17  br label %1
18
19  %.01 = phi i32 [ 1, %0 ], [ %3, %2 ]
20  %.0 = phi i32 [ 1, %0 ], [ %3, %2 ]
21  br label %2
22
23  %3 = add nsw i32 %.01, %.0
24  br label %1
25}
26
27attributes #0 = { mustprogress }
28