[llvm] r230861 - Fixup for recent -fast-isel-abort change: code didn't match description

Mehdi Amini mehdi.amini at apple.com
Sat Feb 28 11:34:54 PST 2015


Author: mehdi_amini
Date: Sat Feb 28 13:34:54 2015
New Revision: 230861

URL: http://llvm.org/viewvc/llvm-project?rev=230861&view=rev
Log:
Fixup for recent -fast-isel-abort change: code didn't match description

Level 1 should abort for all instructions but call/terminators/args.
Instead it was aborting only if the level was > 2

From: Mehdi Amini <mehdi.amini at apple.com>

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=230861&r1=230860&r2=230861&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Sat Feb 28 13:34:54 2015
@@ -1282,16 +1282,19 @@ void SelectionDAGISel::SelectAllBasicBlo
           continue;
         }
 
+        bool ShouldAbort = EnableFastISelAbort;
         if (EnableFastISelVerbose || EnableFastISelAbort) {
           if (isa<TerminatorInst>(Inst)) {
             // Use a different message for terminator misses.
             dbgs() << "FastISel missed terminator: ";
+            // Don't abort unless for terminator unless the level is really high
+            ShouldAbort = (EnableFastISelAbort > 2);
           } else {
             dbgs() << "FastISel miss: ";
           }
           Inst->dump();
         }
-        if (EnableFastISelAbort > 2)
+        if (ShouldAbort)
           // FastISel selector couldn't handle something and bailed.
           // For the purpose of debugging, just abort.
           llvm_unreachable("FastISel didn't select the entire block");





More information about the llvm-commits mailing list