diff options
author | Nico Rieck <nico.rieck@gmail.com> | 2014-01-12 14:09:17 +0000 |
---|---|---|
committer | Nico Rieck <nico.rieck@gmail.com> | 2014-01-12 14:09:17 +0000 |
commit | b5262d6d8f53debae1e1c9de9486e719594cebcf (patch) | |
tree | b90834b2fa3ef2b94923fec8f8c9acb727532023 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | |
parent | 52eef8876ed3ce28ae762206c046c0aa76d39a12 (diff) | |
download | bcm5719-llvm-b5262d6d8f53debae1e1c9de9486e719594cebcf.tar.gz bcm5719-llvm-b5262d6d8f53debae1e1c9de9486e719594cebcf.zip |
Fix non-deterministic SDNodeOrder-dependent codegen
Reset SelectionDAGBuilder's SDNodeOrder to ensure deterministic code
generation.
llvm-svn: 199050
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h index d67c84664eb..d32d13f343d 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h @@ -488,6 +488,10 @@ private: private: const TargetMachine &TM; public: + /// Lowest valid SDNodeOrder. The special case 0 is reserved for scheduling + /// nodes without a corresponding SDNode. + static const unsigned LowestSDNodeOrder = 1; + SelectionDAG &DAG; const DataLayout *TD; AliasAnalysis *AA; @@ -534,7 +538,7 @@ public: SelectionDAGBuilder(SelectionDAG &dag, FunctionLoweringInfo &funcinfo, CodeGenOpt::Level ol) - : CurInst(NULL), SDNodeOrder(0), TM(dag.getTarget()), + : CurInst(NULL), SDNodeOrder(LowestSDNodeOrder), TM(dag.getTarget()), DAG(dag), FuncInfo(funcinfo), OptLevel(ol), HasTailCall(false) { } |