; CHECK-NEXT: [[LT:%.*]] = icmp slt i64 [[X:%.*]], [[Y:%.*]]
; CHECK-NEXT: br i1 [[LT]], label [[A:%.*]], label [[B:%.*]], !prof !7
; CHECK: a:
-; CHECK-NEXT: call void @helper(i32 0) #1
+; CHECK-NEXT: call void @helper(i32 0) [[ATTR1:#.*]]
; CHECK-NEXT: ret void
; CHECK: b:
-; CHECK-NEXT: call void @helper(i32 1) #1
+; CHECK-NEXT: call void @helper(i32 1) [[ATTR1]]
; CHECK-NEXT: ret void
;
entry:
; CHECK-NEXT: i32 92, label [[END]]
; CHECK-NEXT: ], !prof !8
; CHECK: a:
-; CHECK-NEXT: call void @helper(i32 0) #1
+; CHECK-NEXT: call void @helper(i32 0) [[ATTR1]]
; CHECK-NEXT: [[RETA:%.*]] = icmp slt i32 [[X]], [[Y:%.*]]
; CHECK-NEXT: ret i1 [[RETA]]
; CHECK: bees:
; CHECK-NEXT: br label [[END]]
; CHECK: end:
; CHECK-NEXT: [[RET:%.*]] = phi i1 [ true, [[ENTRY:%.*]] ], [ false, [[BEES]] ], [ true, [[ENTRY]] ], [ true, [[ENTRY]] ]
-; CHECK-NEXT: call void @helper(i32 2) #1
+; CHECK-NEXT: call void @helper(i32 2) [[ATTR1]]
; CHECK-NEXT: ret i1 [[RET]]
;
entry:
; CHECK-NEXT: [[SWITCH:%.*]] = icmp ult i32 [[X_OFF]], 3
; CHECK-NEXT: br i1 [[SWITCH]], label [[LOR_END:%.*]], label [[LOR_RHS:%.*]], !prof !9
; CHECK: lor.rhs:
-; CHECK-NEXT: call void @helper(i32 1) #1
+; CHECK-NEXT: call void @helper(i32 1) [[ATTR1]]
; CHECK-NEXT: ret void
; CHECK: lor.end:
-; CHECK-NEXT: call void @helper(i32 0) #1
+; CHECK-NEXT: call void @helper(i32 0) [[ATTR1]]
; CHECK-NEXT: ret void
;
entry:
; CHECK-NEXT: [[COND:%.*]] = icmp eq i32 [[I]], 24
; CHECK-NEXT: br i1 [[COND]], label [[C:%.*]], label [[A:%.*]], !prof !10
; CHECK: a:
-; CHECK-NEXT: call void @helper(i32 0) #1
+; CHECK-NEXT: call void @helper(i32 0) [[ATTR1]]
; CHECK-NEXT: ret void
; CHECK: c:
-; CHECK-NEXT: call void @helper(i32 2) #1
+; CHECK-NEXT: call void @helper(i32 2) [[ATTR1]]
; CHECK-NEXT: ret void
;
%i = shl i32 %x, 1
define void @test13(i32 %x) nounwind {
; CHECK-LABEL: @test13(
; CHECK-NEXT: entry:
-; CHECK-NEXT: call void @helper(i32 0) #1
+; CHECK-NEXT: call void @helper(i32 0) [[ATTR1]]
; CHECK-NEXT: ret void
;
entry:
; CHECK-LABEL: @HoistThenElseCodeToIf(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp eq i32 [[N:%.*]], 0
-; CHECK-NEXT: [[DOT:%.*]] = select i1 [[TOBOOL]], i32 1, i32 234, !prof !12
-; CHECK-NEXT: ret i32 [[DOT]]
+; CHECK-NEXT: [[RETVAL_0:%.*]] = select i1 [[TOBOOL]], i32 1, i32 234, !prof !12
+; CHECK-NEXT: ret i32 [[RETVAL_0]]
;
entry:
%tobool = icmp eq i32 %n, 0
; CHECK-LABEL: @test6(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[TMP_1_I:%.*]] = getelementptr { i32, i32 }, { i32, i32 }* [[I:%.*]], i64 0, i32 1
-; CHECK-NEXT: [[TMP_2_I:%.*]] = load i32, i32* [[TMP_1_I]]
+; CHECK-NEXT: [[TMP_2_I:%.*]] = load i32, i32* [[TMP_1_I]], align 4
; CHECK-NEXT: [[TMP_2_I_OFF:%.*]] = add i32 [[TMP_2_I]], -14
; CHECK-NEXT: [[SWITCH:%.*]] = icmp ult i32 [[TMP_2_I_OFF]], 6
; CHECK-NEXT: [[SPEC_SELECT:%.*]] = select i1 [[SWITCH]], i1 true, i1 false
; CHECK-NEXT: i8 97, label [[IF_THEN]]
; CHECK-NEXT: ]
; CHECK: if.then:
-; CHECK-NEXT: tail call void @foo1() #2
+; CHECK-NEXT: tail call void @foo1() [[ATTR2:#.*]]
; CHECK-NEXT: ret void
; CHECK: if.end:
; CHECK-NEXT: ret void
; CHECK-NEXT: ]
; CHECK: if.then:
; CHECK-NEXT: [[A:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ 42, [[SWITCH_EARLY_TEST]] ], [ 42, [[N]] ], [ 42, [[SWITCH_EARLY_TEST]] ]
-; CHECK-NEXT: tail call void @foo1() #2
+; CHECK-NEXT: tail call void @foo1() [[ATTR2]]
; CHECK-NEXT: ret i32 [[A]]
; CHECK: if.end:
; CHECK-NEXT: ret i32 0
define void @test12() nounwind {
; CHECK-LABEL: @test12(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[A_OLD:%.*]] = icmp eq i32 undef, undef
-; CHECK-NEXT: br i1 [[A_OLD]], label [[BB55_US_US:%.*]], label [[MALFORMED:%.*]]
+; CHECK-NEXT: [[DOTOLD:%.*]] = icmp eq i32 undef, undef
+; CHECK-NEXT: br i1 [[DOTOLD]], label [[BB55_US_US:%.*]], label [[MALFORMED:%.*]]
; CHECK: bb55.us.us:
; CHECK-NEXT: [[B:%.*]] = icmp ugt i32 undef, undef
; CHECK-NEXT: [[A:%.*]] = icmp eq i32 undef, undef
; CHECK-NEXT: i32 0, label [[IF_THEN]]
; CHECK-NEXT: ]
; CHECK: if.then:
-; CHECK-NEXT: call void @foo1() #3
+; CHECK-NEXT: call void @foo1() [[ATTR3:#.*]]
; CHECK-NEXT: br label [[IF_END]]
; CHECK: if.end:
; CHECK-NEXT: ret void
; CHECK-NEXT: i32 0, label [[IF_THEN]]
; CHECK-NEXT: ]
; CHECK: if.then:
-; CHECK-NEXT: call void @foo1() #3
+; CHECK-NEXT: call void @foo1() [[ATTR3]]
; CHECK-NEXT: br label [[IF_END]]
; CHECK: if.end:
; CHECK-NEXT: ret void