[llvm] r279877 - [SelectionDAG] Do not run the ISel process on already selected code.

Quentin Colombet via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 26 15:32:55 PDT 2016


Author: qcolombet
Date: Fri Aug 26 17:32:55 2016
New Revision: 279877

URL: http://llvm.org/viewvc/llvm-project?rev=279877&view=rev
Log:
[SelectionDAG] Do not run the ISel process on already selected code.

Right now, this cannot happen, but with the fall back path of GlobalISel
it will show up eventually.

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=279877&r1=279876&r2=279877&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Fri Aug 26 17:32:55 2016
@@ -426,6 +426,10 @@ static void SplitCriticalSideEffectEdges
 }
 
 bool SelectionDAGISel::runOnMachineFunction(MachineFunction &mf) {
+  // If we already selected that function, we do not need to run SDISel.
+  if (mf.getProperties().hasProperty(
+          MachineFunctionProperties::Property::Selected))
+    return false;
   // Do some sanity-checking on the command-line options.
   assert((!EnableFastISelVerbose || TM.Options.EnableFastISel) &&
          "-fast-isel-verbose requires -fast-isel");




More information about the llvm-commits mailing list