CI->getMetadata(LLVMContext::MD_range),
cast<CallInst>(R)->getMetadata(LLVMContext::MD_range));
}
- if (const InvokeInst *CI = dyn_cast<InvokeInst>(L)) {
- if (int Res = cmpNumbers(CI->getCallingConv(),
+ if (const InvokeInst *II = dyn_cast<InvokeInst>(L)) {
+ if (int Res = cmpNumbers(II->getCallingConv(),
cast<InvokeInst>(R)->getCallingConv()))
return Res;
if (int Res =
- cmpAttrs(CI->getAttributes(), cast<InvokeInst>(R)->getAttributes()))
+ cmpAttrs(II->getAttributes(), cast<InvokeInst>(R)->getAttributes()))
return Res;
- if (int Res = cmpOperandBundlesSchema(CI, R))
+ if (int Res = cmpOperandBundlesSchema(II, R))
return Res;
return cmpRangeMetadata(
- CI->getMetadata(LLVMContext::MD_range),
+ II->getMetadata(LLVMContext::MD_range),
cast<InvokeInst>(R)->getMetadata(LLVMContext::MD_range));
}
if (const InsertValueInst *IVI = dyn_cast<InsertValueInst>(L)) {
ret i32 %v2
}
+
+define i32 @f.invoke() personality i8 3 {
+; CHECK-LABEL: @f.invoke(
+ entry:
+; CHECK: %v0 = invoke i32 (...) @foo(i32 10) [ "foo"(i32 20) ]
+ %v0 = invoke i32 (...) @foo(i32 10) [ "foo"(i32 20) ]
+ to label %normal unwind label %exception
+
+ normal:
+ ret i32 %v0
+
+ exception:
+ %cleanup = landingpad i8 cleanup
+ ret i32 0
+}
+
+define i32 @g.invoke() personality i8 3 {
+; CHECK-LABEL: @g.invoke(
+ entry:
+; CHECK: %v0 = invoke i32 (...) @foo() [ "foo"(i32 10, i32 20) ]
+ %v0 = invoke i32 (...) @foo() [ "foo"(i32 10, i32 20) ]
+ to label %normal unwind label %exception
+
+ normal:
+ ret i32 %v0
+
+ exception:
+ %cleanup = landingpad i8 cleanup
+ ret i32 0
+}