Added addition atomic instrinsics and, or, xor, min, and max.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50663 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Mon P Wang
2008-05-05 19:05:59 +00:00
parent 94bbdc8c25
commit 63307c335a
15 changed files with 598 additions and 65 deletions

View File

@ -252,6 +252,19 @@ void MachineBasicBlock::removePredecessor(MachineBasicBlock *pred) {
Predecessors.erase(I);
}
void MachineBasicBlock::transferSuccessors(MachineBasicBlock *fromMBB)
{
if (this == fromMBB)
return;
for(MachineBasicBlock::succ_iterator iter = fromMBB->succ_begin(),
end = fromMBB->succ_end(); iter != end; ++iter) {
addSuccessor(*iter);
}
while(!fromMBB->succ_empty())
fromMBB->removeSuccessor(fromMBB->succ_begin());
}
bool MachineBasicBlock::isSuccessor(MachineBasicBlock *MBB) const {
std::vector<MachineBasicBlock *>::const_iterator I =
std::find(Successors.begin(), Successors.end(), MBB);