summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-09-18 21:02:19 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-09-18 21:02:19 +0000
commit270d0f986f795101d39439b550bf6db3fe286f46 (patch)
tree4708d4005f1c8c3157a47536116e55d343462f21 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
parentabbfd629dc1b51a61065b8387faea0bb5ba6c755 (diff)
downloadbcm5719-llvm-270d0f986f795101d39439b550bf6db3fe286f46.tar.gz
bcm5719-llvm-270d0f986f795101d39439b550bf6db3fe286f46.zip
Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.
Not functionality change yet. llvm-svn: 82273
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
index 9a079d62d54..06acc8a6bfa 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h
@@ -345,9 +345,15 @@ public:
/// BitTestCases - Vector of BitTestBlock structures used to communicate
/// SwitchInst code generation information.
std::vector<BitTestBlock> BitTestCases;
-
+
+ /// PHINodesToUpdate - A list of phi instructions whose operand list will
+ /// be updated after processing the current basic block.
std::vector<std::pair<MachineInstr*, unsigned> > PHINodesToUpdate;
+ /// EdgeMapping - If an edge from CurMBB to any MBB is changed (e.g. due to
+ /// scheduler custom lowering), track the change here.
+ DenseMap<MachineBasicBlock*, MachineBasicBlock*> EdgeMapping;
+
// Emit PHI-node-operand constants only once even if used by multiple
// PHI nodes.
DenseMap<Constant*, unsigned> ConstantsOut;
OpenPOWER on IntegriCloud