diff options
author | Craig Topper <craig.topper@intel.com> | 2019-03-27 21:05:07 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-03-27 21:05:07 +0000 |
commit | 4bc38cfe297746858a7159bd4a537261d628b47e (patch) | |
tree | 4a3653bd1fc8295c5a8d90b55f16e7267c6b281d /llvm/lib/Target | |
parent | 495156dc6acf800343bb604d2cac94fdfd43d58b (diff) | |
download | bcm5719-llvm-4bc38cfe297746858a7159bd4a537261d628b47e.tar.gz bcm5719-llvm-4bc38cfe297746858a7159bd4a537261d628b47e.zip |
[X86ISelDAGToDAG] Move initialization of OptForSize and OptForMinSize from PreprocessISelDAG to runOnMachineFunction. NFCI
This makes more sense as a place to initialize these. I don't think runOnMachineFunction was overriden when these cached values were originally created.
llvm-svn: 357123
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp index b52eead4ad4..89585d74cb8 100644 --- a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -181,6 +181,13 @@ namespace { Subtarget = &MF.getSubtarget<X86Subtarget>(); IndirectTlsSegRefs = MF.getFunction().hasFnAttribute( "indirect-tls-seg-refs"); + + // OptFor[Min]Size are used in pattern predicates that isel is matching. + OptForSize = MF.getFunction().optForSize(); + OptForMinSize = MF.getFunction().optForMinSize(); + assert((!OptForMinSize || OptForSize) && + "OptForMinSize implies OptForSize"); + SelectionDAGISel::runOnMachineFunction(MF); return true; } @@ -738,11 +745,6 @@ static bool isCalleeLoad(SDValue Callee, SDValue &Chain, bool HasCallSeq) { } void X86DAGToDAGISel::PreprocessISelDAG() { - // OptFor[Min]Size are used in pattern predicates that isel is matching. - OptForSize = MF->getFunction().optForSize(); - OptForMinSize = MF->getFunction().optForMinSize(); - assert((!OptForMinSize || OptForSize) && "OptForMinSize implies OptForSize"); - for (SelectionDAG::allnodes_iterator I = CurDAG->allnodes_begin(), E = CurDAG->allnodes_end(); I != E; ) { SDNode *N = &*I++; // Preincrement iterator to avoid invalidation issues. |