From 0ecfbdf4ad64389ab9ed6f84cc9b893c50b4f736 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Thu, 22 May 2014 01:07:21 +0000 Subject: Reset the subtarget for DAGToDAG on every iteration of runOnMachineFunction. llvm-svn: 209374 --- llvm/lib/Target/ARM64/ARM64ISelDAGToDAG.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Target/ARM64/ARM64ISelDAGToDAG.cpp b/llvm/lib/Target/ARM64/ARM64ISelDAGToDAG.cpp index 4a1f9717bf7..45a837e69f6 100644 --- a/llvm/lib/Target/ARM64/ARM64ISelDAGToDAG.cpp +++ b/llvm/lib/Target/ARM64/ARM64ISelDAGToDAG.cpp @@ -45,7 +45,7 @@ class ARM64DAGToDAGISel : public SelectionDAGISel { public: explicit ARM64DAGToDAGISel(ARM64TargetMachine &tm, CodeGenOpt::Level OptLevel) : SelectionDAGISel(tm, OptLevel), TM(tm), - Subtarget(&TM.getSubtarget()), ForCodeSize(false) {} + Subtarget(nullptr), ForCodeSize(false) {} const char *getPassName() const override { return "ARM64 Instruction Selection"; @@ -57,6 +57,7 @@ public: FnAttrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::OptimizeForSize) || FnAttrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::MinSize); + Subtarget = &TM.getSubtarget(); return SelectionDAGISel::runOnMachineFunction(MF); } -- cgit v1.2.3