diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-12-14 19:11:45 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-12-14 19:11:45 +0000 |
commit | adfec011e130ef110040b80400f0d8e7738388bb (patch) | |
tree | 5344d90275562387161428f4d450827eab6e5aee | |
parent | 2a74eb0000818e4d8b9ffd12165e6d7103b83a28 (diff) | |
download | bcm5719-llvm-adfec011e130ef110040b80400f0d8e7738388bb.tar.gz bcm5719-llvm-adfec011e130ef110040b80400f0d8e7738388bb.zip |
[MergeFunctions] Use II instead of CI for InvokeInst; NFC
Using `CI` is slightly misleading.
llvm-svn: 255529
-rw-r--r-- | llvm/lib/Transforms/IPO/MergeFunctions.cpp | 10 | ||||
-rw-r--r-- | llvm/test/Feature/OperandBundles/merge-func.ll | 30 |
2 files changed, 35 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/IPO/MergeFunctions.cpp b/llvm/lib/Transforms/IPO/MergeFunctions.cpp index 132b5872fbe..8a209a18c54 100644 --- a/llvm/lib/Transforms/IPO/MergeFunctions.cpp +++ b/llvm/lib/Transforms/IPO/MergeFunctions.cpp @@ -974,17 +974,17 @@ int FunctionComparator::cmpOperations(const Instruction *L, 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)) { diff --git a/llvm/test/Feature/OperandBundles/merge-func.ll b/llvm/test/Feature/OperandBundles/merge-func.ll index aad9262c901..1fa6eb09308 100644 --- a/llvm/test/Feature/OperandBundles/merge-func.ll +++ b/llvm/test/Feature/OperandBundles/merge-func.ll @@ -32,3 +32,33 @@ define i32 @g() { 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 +} |