mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-09 00:51:41 +00:00
Minor random cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12382 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
16d0eb0468
commit
bb41156c0c
@ -353,17 +353,18 @@ Function *CodeExtractor::constructFunction(const Values &inputs,
|
|||||||
void CodeExtractor::moveCodeToFunction(const std::vector<BasicBlock*> &code,
|
void CodeExtractor::moveCodeToFunction(const std::vector<BasicBlock*> &code,
|
||||||
Function *newFunction)
|
Function *newFunction)
|
||||||
{
|
{
|
||||||
|
Function *oldFunc = code[0]->getParent();
|
||||||
|
Function::BasicBlockListType &oldBlocks = oldFunc->getBasicBlockList();
|
||||||
|
Function::BasicBlockListType &newBlocks = newFunction->getBasicBlockList();
|
||||||
|
|
||||||
for (std::vector<BasicBlock*>::const_iterator i = code.begin(), e =code.end();
|
for (std::vector<BasicBlock*>::const_iterator i = code.begin(), e =code.end();
|
||||||
i != e; ++i) {
|
i != e; ++i) {
|
||||||
BasicBlock *BB = *i;
|
BasicBlock *BB = *i;
|
||||||
Function *oldFunc = BB->getParent();
|
|
||||||
Function::BasicBlockListType &oldBlocks = oldFunc->getBasicBlockList();
|
|
||||||
|
|
||||||
// Delete the basic block from the old function, and the list of blocks
|
// Delete the basic block from the old function, and the list of blocks
|
||||||
oldBlocks.remove(BB);
|
oldBlocks.remove(BB);
|
||||||
|
|
||||||
// Insert this basic block into the new function
|
// Insert this basic block into the new function
|
||||||
Function::BasicBlockListType &newBlocks = newFunction->getBasicBlockList();
|
|
||||||
newBlocks.push_back(BB);
|
newBlocks.push_back(BB);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -569,22 +570,19 @@ Function *CodeExtractor::ExtractCodeRegion(const std::vector<BasicBlock*> &code)
|
|||||||
/// function
|
/// function
|
||||||
///
|
///
|
||||||
Function* llvm::ExtractCodeRegion(const std::vector<BasicBlock*> &code) {
|
Function* llvm::ExtractCodeRegion(const std::vector<BasicBlock*> &code) {
|
||||||
CodeExtractor CE;
|
return CodeExtractor().ExtractCodeRegion(code);
|
||||||
return CE.ExtractCodeRegion(code);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// ExtractBasicBlock - slurp a natural loop into a brand new function
|
/// ExtractBasicBlock - slurp a natural loop into a brand new function
|
||||||
///
|
///
|
||||||
Function* llvm::ExtractLoop(Loop *L) {
|
Function* llvm::ExtractLoop(Loop *L) {
|
||||||
CodeExtractor CE;
|
return CodeExtractor().ExtractCodeRegion(L->getBlocks());
|
||||||
return CE.ExtractCodeRegion(L->getBlocks());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// ExtractBasicBlock - slurp a basic block into a brand new function
|
/// ExtractBasicBlock - slurp a basic block into a brand new function
|
||||||
///
|
///
|
||||||
Function* llvm::ExtractBasicBlock(BasicBlock *BB) {
|
Function* llvm::ExtractBasicBlock(BasicBlock *BB) {
|
||||||
CodeExtractor CE;
|
|
||||||
std::vector<BasicBlock*> Blocks;
|
std::vector<BasicBlock*> Blocks;
|
||||||
Blocks.push_back(BB);
|
Blocks.push_back(BB);
|
||||||
return CE.ExtractCodeRegion(Blocks);
|
return CodeExtractor().ExtractCodeRegion(Blocks);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user