[PATCH] Change the fast-isel-abort option from bool to int to enable "levels"

Eric Christopher echristo at gmail.com
Fri Feb 27 09:50:13 PST 2015


Some inline comments.


================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:171
@@ -170,9 +170,3 @@
                    "instruction selector"));
-static cl::opt<bool>
-EnableFastISelAbort("fast-isel-abort", cl::Hidden,
-          cl::desc("Enable abort calls when \"fast\" instruction selection "
-                   "fails to lower an instruction"));
-static cl::opt<bool>
-EnableFastISelAbortArgs("fast-isel-abort-args", cl::Hidden,
-          cl::desc("Enable abort calls when \"fast\" instruction selection "
-                   "fails to lower a formal argument"));
+static cl::opt<int> EnableFastISelAbort(
+    "fast-isel-abort", cl::Hidden,
----------------
Can we make this default to the current default behavior? It'll mean that you don't need to update testcases too :)

================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:175
@@ +174,3 @@
+             "fails to lower an instruction: 0 disable the abort, 1 will "
+             "abort but for args, calls and terminators, 1 will also "
+             "abort for argument lowering, and 3 will never fallback "
----------------
Did you mean 2 on this line? :)

================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:418
@@ -418,3 +417,3 @@
   assert((!EnableFastISelAbort || TM.Options.EnableFastISel) &&
-         "-fast-isel-abort requires -fast-isel");
+         "-fast-isel-abort=1 requires -fast-isel");
 
----------------
 > 0?

================
Comment at: lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1255
@@ +1254,3 @@
+          if (EnableFastISelAbort > 2)
+            // The "fast" selector couldn't handle something and bailed.
+            // For the purpose of debugging, just abort.
----------------
Don't need quotes here. (Though should probably fix from where you copied it as well :)

http://reviews.llvm.org/D7941

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list