summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/Instruction.cpp
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2015-12-14 19:11:35 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2015-12-14 19:11:35 +0000
commit2de4d0aa18ef099d41ff07878dcad2d796b1e31e (patch)
tree04764ab765734d7ba8e9913ff339696980d37b92 /llvm/lib/IR/Instruction.cpp
parentd44a1fd506a748122ebdf2053cebc09b737159d6 (diff)
downloadbcm5719-llvm-2de4d0aa18ef099d41ff07878dcad2d796b1e31e.tar.gz
bcm5719-llvm-2de4d0aa18ef099d41ff07878dcad2d796b1e31e.zip
Teach haveSameSpecialState about operand bundles
llvm-svn: 255527
Diffstat (limited to 'llvm/lib/IR/Instruction.cpp')
-rw-r--r--llvm/lib/IR/Instruction.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/IR/Instruction.cpp b/llvm/lib/IR/Instruction.cpp
index c219121104b..a0bd2c9698e 100644
--- a/llvm/lib/IR/Instruction.cpp
+++ b/llvm/lib/IR/Instruction.cpp
@@ -296,11 +296,12 @@ static bool haveSameSpecialState(const Instruction *I1, const Instruction *I2,
if (const CallInst *CI = dyn_cast<CallInst>(I1))
return CI->isTailCall() == cast<CallInst>(I2)->isTailCall() &&
CI->getCallingConv() == cast<CallInst>(I2)->getCallingConv() &&
- CI->getAttributes() == cast<CallInst>(I2)->getAttributes();
+ CI->getAttributes() == cast<CallInst>(I2)->getAttributes() &&
+ CI->hasIdenticalOperandBundleSchema(*cast<CallInst>(I2));
if (const InvokeInst *CI = dyn_cast<InvokeInst>(I1))
return CI->getCallingConv() == cast<InvokeInst>(I2)->getCallingConv() &&
- CI->getAttributes() ==
- cast<InvokeInst>(I2)->getAttributes();
+ CI->getAttributes() == cast<InvokeInst>(I2)->getAttributes() &&
+ CI->hasIdenticalOperandBundleSchema(*cast<InvokeInst>(I2));
if (const InsertValueInst *IVI = dyn_cast<InsertValueInst>(I1))
return IVI->getIndices() == cast<InsertValueInst>(I2)->getIndices();
if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(I1))
OpenPOWER on IntegriCloud