summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
diff options
context:
space:
mode:
authorNico Rieck <nico.rieck@gmail.com>2014-01-12 14:09:17 +0000
committerNico Rieck <nico.rieck@gmail.com>2014-01-12 14:09:17 +0000
commitb5262d6d8f53debae1e1c9de9486e719594cebcf (patch)
treeb90834b2fa3ef2b94923fec8f8c9acb727532023 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
parent52eef8876ed3ce28ae762206c046c0aa76d39a12 (diff)
downloadbcm5719-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.h6
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) {
}
OpenPOWER on IntegriCloud