Override runOnMachineFunction for X86ISelDAGToDAG so that we can
authorEric Christopher <echristo@gmail.com>
Thu, 22 May 2014 01:53:26 +0000 (01:53 +0000)
committerEric Christopher <echristo@gmail.com>
Thu, 22 May 2014 01:53:26 +0000 (01:53 +0000)
reset the subtarget on each function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209384 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelDAGToDAG.cpp

index 03c9620db4a25ed1f7beaf3bb9b16de05e3d83ff..74386d33990ddacfdb15ca0536270608a78b1173 100644 (file)
@@ -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;