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
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;
}