mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-14 17:34:41 +00:00
Fix an extremely serious regression that was causing LLVM basic blocks to be
scrambled around almost at random, having really bad effects on icache locality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15225 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1d78516c65
commit
badf091b47
@ -383,6 +383,12 @@ static BasicBlock *getBBVal(const ValID &ID, bool isDefinition = false) {
|
||||
ThrowException("Redefinition of label " + ID.getName());
|
||||
|
||||
ID.destroy(); // Free strdup'd memory.
|
||||
|
||||
// Make sure to move the basic block to the correct location in the
|
||||
// function, instead of leaving it inserted wherever it was first
|
||||
// referenced.
|
||||
CurFun.CurrentFunction->getBasicBlockList().remove(BB);
|
||||
CurFun.CurrentFunction->getBasicBlockList().push_back(BB);
|
||||
return BB;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user