mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
new helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20491 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be876b6036
commit
51a4ad475b
@ -175,6 +175,21 @@ public:
|
||||
Blocks.push_back(BB);
|
||||
}
|
||||
|
||||
/// moveToHeader - This method is used to move BB (which must be part of this
|
||||
/// loop) to be the loop header of the loop (the block that dominates all
|
||||
/// others).
|
||||
void moveToHeader(BasicBlock *BB) {
|
||||
if (Blocks[0] == BB) return;
|
||||
for (unsigned i = 0; ; ++i) {
|
||||
assert(i != Blocks.size() && "Loop does not contain BB!");
|
||||
if (Blocks[i] == BB) {
|
||||
Blocks[i] = Blocks[0];
|
||||
Blocks[0] = BB;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// removeBlockFromLoop - This removes the specified basic block from the
|
||||
/// current loop, updating the Blocks as appropriate. This does not update
|
||||
/// the mapping in the LoopInfo class.
|
||||
|
Loading…
Reference in New Issue
Block a user