diff options
Diffstat (limited to 'llvm/lib/IR/Instruction.cpp')
-rw-r--r-- | llvm/lib/IR/Instruction.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/IR/Instruction.cpp b/llvm/lib/IR/Instruction.cpp index 763cc18..b7cd12a 100644 --- a/llvm/lib/IR/Instruction.cpp +++ b/llvm/lib/IR/Instruction.cpp @@ -942,14 +942,13 @@ bool Instruction::isIdenticalToWhenDefined(const Instruction *I, // We have two instructions of identical opcode and #operands. Check to see // if all operands are the same. - if (!std::equal(op_begin(), op_end(), I->op_begin())) + if (!equal(operands(), I->operands())) return false; // WARNING: this logic must be kept in sync with EliminateDuplicatePHINodes()! - if (const PHINode *thisPHI = dyn_cast<PHINode>(this)) { - const PHINode *otherPHI = cast<PHINode>(I); - return std::equal(thisPHI->block_begin(), thisPHI->block_end(), - otherPHI->block_begin()); + if (const PHINode *Phi = dyn_cast<PHINode>(this)) { + const PHINode *OtherPhi = cast<PHINode>(I); + return equal(Phi->blocks(), OtherPhi->blocks()); } return this->hasSameSpecialState(I, /*IgnoreAlignment=*/false, |