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

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

lib/Target/ARM/ARMISelDAGToDAG.cpp

index 8577c8af47d54c4dd728036aa2f87e39c3de0440..08d598d7c5a66099f764943b660a18d3ef34be85 100644 (file)
@@ -73,6 +73,13 @@ public:
       Subtarget(&TM.getSubtarget<ARMSubtarget>()) {
   }
 
+  bool runOnMachineFunction(MachineFunction &MF) override {
+    // Reset the subtarget each time through.
+    Subtarget = &TM.getSubtarget<ARMSubtarget>();
+    SelectionDAGISel::runOnMachineFunction(MF);
+    return true;
+  }
+
   const char *getPassName() const override {
     return "ARM Instruction Selection";
   }