[llvm] r209384 - Override runOnMachineFunction for X86ISelDAGToDAG so that we can

Eric Christopher echristo at gmail.com
Wed May 21 18:53:27 PDT 2014


Author: echristo
Date: Wed May 21 20:53:26 2014
New Revision: 209384

URL: http://llvm.org/viewvc/llvm-project?rev=209384&view=rev
Log:
Override runOnMachineFunction for X86ISelDAGToDAG so that we can
reset the subtarget on each function.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp?rev=209384&r1=209383&r2=209384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelDAGToDAG.cpp Wed May 21 20:53:26 2014
@@ -162,6 +162,13 @@ namespace {
       return "X86 DAG->DAG Instruction Selection";
     }
 
+    bool runOnMachineFunction(MachineFunction &MF) override {
+      // Reset the subtarget each time through.
+      Subtarget = &TM.getSubtarget<X86Subtarget>();
+      SelectionDAGISel::runOnMachineFunction(MF);
+      return true;
+    }
+
     void EmitFunctionEntryCode() override;
 
     bool IsProfitableToFold(SDValue N, SDNode *U, SDNode *Root) const override;





More information about the llvm-commits mailing list