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