diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-12-14 19:11:35 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-12-14 19:11:35 +0000 |
commit | 2de4d0aa18ef099d41ff07878dcad2d796b1e31e (patch) | |
tree | 04764ab765734d7ba8e9913ff339696980d37b92 /llvm/lib/IR/Instruction.cpp | |
parent | d44a1fd506a748122ebdf2053cebc09b737159d6 (diff) | |
download | bcm5719-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.cpp | 7 |
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)) |