diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-09-18 21:02:19 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-09-18 21:02:19 +0000 |
commit | 270d0f986f795101d39439b550bf6db3fe286f46 (patch) | |
tree | 4708d4005f1c8c3157a47536116e55d343462f21 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h | |
parent | abbfd629dc1b51a61065b8387faea0bb5ba6c755 (diff) | |
download | bcm5719-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.h | 8 |
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; |