mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-27 04:18:42 +00:00
[C++11] Modernize the IR library a bit.
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203465 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
1 parent
e1820a6a4e
commit
6e9eeab69f
8 files changed
+50
-78
No files matched your search
+6
-10
@@ -281,9 +281,8 @@ bool Instruction::isIdenticalToWhenDefined(const Instruction *I) const {
|
||||
|
||||
// We have two instructions of identical opcode and #operands. Check to see
|
||||
// if all operands are the same.
|
||||
for (unsigned i = 0, e = getNumOperands(); i != e; ++i)
|
||||
if (getOperand(i) != I->getOperand(i))
|
||||
return false;
|
||||
if (!std::equal(op_begin(), op_end(), I->op_begin()))
|
||||
return false;
|
||||
|
||||
// Check special state that is a part of some instructions.
|
||||
if (const LoadInst *LI = dyn_cast<LoadInst>(this))
|
||||
@@ -323,11 +322,8 @@ bool Instruction::isIdenticalToWhenDefined(const Instruction *I) const {
|
||||
RMWI->getSynchScope() == cast<AtomicRMWInst>(I)->getSynchScope();
|
||||
if (const PHINode *thisPHI = dyn_cast<PHINode>(this)) {
|
||||
const PHINode *otherPHI = cast<PHINode>(I);
|
||||
for (unsigned i = 0, e = thisPHI->getNumOperands(); i != e; ++i) {
|
||||
if (thisPHI->getIncomingBlock(i) != otherPHI->getIncomingBlock(i))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return std::equal(thisPHI->block_begin(), thisPHI->block_end(),
|
||||
otherPHI->block_begin());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -552,8 +548,8 @@ Instruction *Instruction::clone() const {
|
||||
// new one.
|
||||
SmallVector<std::pair<unsigned, MDNode*>, 4> TheMDs;
|
||||
getAllMetadataOtherThanDebugLoc(TheMDs);
|
||||
for (unsigned i = 0, e = TheMDs.size(); i != e; ++i)
|
||||
New->setMetadata(TheMDs[i].first, TheMDs[i].second);
|
||||
for (const auto &MD : TheMDs)
|
||||
New->setMetadata(MD.first, MD.second);
|
||||
|
||||
New->setDebugLoc(getDebugLoc());
|
||||
return New;
|
||||
|
||||
Reference in new issue
Block a user