@@ -1013,24 +1013,19 @@ define void @t17_mismatched_attrs_okay_merge() personality ptr @__gxx_personalit
10131013; CHECK-LABEL: define void @t17_mismatched_attrs_okay_merge() personality ptr @__gxx_personality_v0 {
10141014; CHECK-NEXT: [[ENTRY:.*:]]
10151015; CHECK-NEXT: [[C0:%.*]] = call i1 @cond()
1016- ; CHECK-NEXT: br i1 [[C0]], label %[[IF_THEN0:.*]], label %[[IF_ELSE:.*]]
1017- ; CHECK: [[IF_THEN0]]:
1018- ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR2:[0-9]+]]
1019- ; CHECK-NEXT: to label %[[INVOKE_CONT0:.*]] unwind label %[[LPAD:.*]]
1020- ; CHECK: [[INVOKE_CONT0]]:
1021- ; CHECK-NEXT: unreachable
1022- ; CHECK: [[LPAD]]:
1016+ ; CHECK-NEXT: br i1 [[C0]], label %[[IF_THEN1_INVOKE:.*]], label %[[IF_ELSE:.*]]
1017+ ; CHECK: [[LPAD:.*]]:
10231018; CHECK-NEXT: [[EH:%.*]] = landingpad { ptr, i32 }
10241019; CHECK-NEXT: cleanup
10251020; CHECK-NEXT: call void @destructor()
10261021; CHECK-NEXT: resume { ptr, i32 } [[EH]]
10271022; CHECK: [[IF_ELSE]]:
10281023; CHECK-NEXT: [[C1:%.*]] = call i1 @cond()
1029- ; CHECK-NEXT: br i1 [[C1]], label %[[IF_THEN1:.* ]], label %[[IF_END:.*]]
1030- ; CHECK: [[IF_THEN1 ]]:
1024+ ; CHECK-NEXT: br i1 [[C1]], label %[[IF_THEN1_INVOKE ]], label %[[IF_END:.*]]
1025+ ; CHECK: [[IF_THEN1_INVOKE ]]:
10311026; CHECK-NEXT: invoke void @simple_throw()
1032- ; CHECK-NEXT: to label %[[INVOKE_CONT2 :.*]] unwind label %[[LPAD]]
1033- ; CHECK: [[INVOKE_CONT2 ]]:
1027+ ; CHECK-NEXT: to label %[[IF_THEN1_CONT :.*]] unwind label %[[LPAD]]
1028+ ; CHECK: [[IF_THEN1_CONT ]]:
10341029; CHECK-NEXT: unreachable
10351030; CHECK: [[IF_END]]:
10361031; CHECK-NEXT: call void @sideeffect()
@@ -1070,24 +1065,19 @@ define void @t17_mismatched_attrs_okay_merge_intersect() personality ptr @__gxx_
10701065; CHECK-LABEL: define void @t17_mismatched_attrs_okay_merge_intersect() personality ptr @__gxx_personality_v0 {
10711066; CHECK-NEXT: [[ENTRY:.*:]]
10721067; CHECK-NEXT: [[C0:%.*]] = call i1 @cond()
1073- ; CHECK-NEXT: br i1 [[C0]], label %[[IF_THEN0:.*]], label %[[IF_ELSE:.*]]
1074- ; CHECK: [[IF_THEN0]]:
1075- ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR3:[0-9]+]]
1076- ; CHECK-NEXT: to label %[[INVOKE_CONT0:.*]] unwind label %[[LPAD:.*]]
1077- ; CHECK: [[INVOKE_CONT0]]:
1078- ; CHECK-NEXT: unreachable
1079- ; CHECK: [[LPAD]]:
1068+ ; CHECK-NEXT: br i1 [[C0]], label %[[IF_THEN1_INVOKE:.*]], label %[[IF_ELSE:.*]]
1069+ ; CHECK: [[LPAD:.*]]:
10801070; CHECK-NEXT: [[EH:%.*]] = landingpad { ptr, i32 }
10811071; CHECK-NEXT: cleanup
10821072; CHECK-NEXT: call void @destructor()
10831073; CHECK-NEXT: resume { ptr, i32 } [[EH]]
10841074; CHECK: [[IF_ELSE]]:
10851075; CHECK-NEXT: [[C1:%.*]] = call i1 @cond()
1086- ; CHECK-NEXT: br i1 [[C1]], label %[[IF_THEN1:.* ]], label %[[IF_END:.*]]
1087- ; CHECK: [[IF_THEN1 ]]:
1088- ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR2]]
1089- ; CHECK-NEXT: to label %[[INVOKE_CONT2 :.*]] unwind label %[[LPAD]]
1090- ; CHECK: [[INVOKE_CONT2 ]]:
1076+ ; CHECK-NEXT: br i1 [[C1]], label %[[IF_THEN1_INVOKE ]], label %[[IF_END:.*]]
1077+ ; CHECK: [[IF_THEN1_INVOKE ]]:
1078+ ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR2:[0-9]+ ]]
1079+ ; CHECK-NEXT: to label %[[IF_THEN1_CONT :.*]] unwind label %[[LPAD]]
1080+ ; CHECK: [[IF_THEN1_CONT ]]:
10911081; CHECK-NEXT: unreachable
10921082; CHECK: [[IF_END]]:
10931083; CHECK-NEXT: call void @sideeffect()
@@ -1127,24 +1117,19 @@ define void @t17_mismatched_attrs_okay_merge_intersect2() personality ptr @__gxx
11271117; CHECK-LABEL: define void @t17_mismatched_attrs_okay_merge_intersect2() personality ptr @__gxx_personality_v0 {
11281118; CHECK-NEXT: [[ENTRY:.*:]]
11291119; CHECK-NEXT: [[C0:%.*]] = call i1 @cond()
1130- ; CHECK-NEXT: br i1 [[C0]], label %[[IF_THEN0:.*]], label %[[IF_ELSE:.*]]
1131- ; CHECK: [[IF_THEN0]]:
1132- ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR2]]
1133- ; CHECK-NEXT: to label %[[INVOKE_CONT0:.*]] unwind label %[[LPAD:.*]]
1134- ; CHECK: [[INVOKE_CONT0]]:
1135- ; CHECK-NEXT: unreachable
1136- ; CHECK: [[LPAD]]:
1120+ ; CHECK-NEXT: br i1 [[C0]], label %[[IF_THEN1_INVOKE:.*]], label %[[IF_ELSE:.*]]
1121+ ; CHECK: [[LPAD:.*]]:
11371122; CHECK-NEXT: [[EH:%.*]] = landingpad { ptr, i32 }
11381123; CHECK-NEXT: cleanup
11391124; CHECK-NEXT: call void @destructor()
11401125; CHECK-NEXT: resume { ptr, i32 } [[EH]]
11411126; CHECK: [[IF_ELSE]]:
11421127; CHECK-NEXT: [[C1:%.*]] = call i1 @cond()
1143- ; CHECK-NEXT: br i1 [[C1]], label %[[IF_THEN1:.* ]], label %[[IF_END:.*]]
1144- ; CHECK: [[IF_THEN1 ]]:
1145- ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR3 ]]
1146- ; CHECK-NEXT: to label %[[INVOKE_CONT2 :.*]] unwind label %[[LPAD]]
1147- ; CHECK: [[INVOKE_CONT2 ]]:
1128+ ; CHECK-NEXT: br i1 [[C1]], label %[[IF_THEN1_INVOKE ]], label %[[IF_END:.*]]
1129+ ; CHECK: [[IF_THEN1_INVOKE ]]:
1130+ ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR2 ]]
1131+ ; CHECK-NEXT: to label %[[IF_THEN1_CONT :.*]] unwind label %[[LPAD]]
1132+ ; CHECK: [[IF_THEN1_CONT ]]:
11481133; CHECK-NEXT: unreachable
11491134; CHECK: [[IF_END]]:
11501135; CHECK-NEXT: call void @sideeffect()
@@ -1187,7 +1172,7 @@ define void @t17_mismatched_attrs_prevent_merge() personality ptr @__gxx_persona
11871172; CHECK-NEXT: [[C0:%.*]] = call i1 @cond()
11881173; CHECK-NEXT: br i1 [[C0]], label %[[IF_THEN0:.*]], label %[[IF_ELSE:.*]]
11891174; CHECK: [[IF_THEN0]]:
1190- ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR4 :[0-9]+]]
1175+ ; CHECK-NEXT: invoke void @simple_throw() #[[ATTR3 :[0-9]+]]
11911176; CHECK-NEXT: to label %[[INVOKE_CONT0:.*]] unwind label %[[LPAD:.*]]
11921177; CHECK: [[INVOKE_CONT0]]:
11931178; CHECK-NEXT: unreachable
@@ -2693,6 +2678,5 @@ declare dso_local i32 @__gxx_personality_v0(...)
26932678; CHECK: attributes #[[ATTR0:[0-9]+]] = { noreturn }
26942679; CHECK: attributes #[[ATTR1]] = { nomerge }
26952680; CHECK: attributes #[[ATTR2]] = { memory(none) }
2696- ; CHECK: attributes #[[ATTR3]] = { cold memory(none) }
2697- ; CHECK: attributes #[[ATTR4]] = { strictfp }
2681+ ; CHECK: attributes #[[ATTR3]] = { strictfp }
26982682;.
0 commit comments