mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-07 16:42:07 +00:00
Catch runaway ARMConstantIslandPass even in -Asserts builds.
The pass is prone to looping, and it is better to crash than loop forever, even in a -Asserts build. <rdar://problem/10660175> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147806 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c16d96f6f4
commit
169db15717
@ -435,7 +435,7 @@ bool ARMConstantIslands::runOnMachineFunction(MachineFunction &mf) {
|
||||
for (unsigned i = 0, e = CPUsers.size(); i != e; ++i)
|
||||
CPChange |= HandleConstantPoolUser(i);
|
||||
if (CPChange && ++NoCPIters > 30)
|
||||
llvm_unreachable("Constant Island pass failed to converge!");
|
||||
report_fatal_error("Constant Island pass failed to converge!");
|
||||
DEBUG(dumpBBs());
|
||||
|
||||
// Clear NewWaterList now. If we split a block for branches, it should
|
||||
@ -447,7 +447,7 @@ bool ARMConstantIslands::runOnMachineFunction(MachineFunction &mf) {
|
||||
for (unsigned i = 0, e = ImmBranches.size(); i != e; ++i)
|
||||
BRChange |= FixUpImmediateBr(ImmBranches[i]);
|
||||
if (BRChange && ++NoBRIters > 30)
|
||||
llvm_unreachable("Branch Fix Up pass failed to converge!");
|
||||
report_fatal_error("Branch Fix Up pass failed to converge!");
|
||||
DEBUG(dumpBBs());
|
||||
|
||||
if (!CPChange && !BRChange)
|
||||
|
Loading…
x
Reference in New Issue
Block a user