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 | fb2e752e4175920d0531f2afc93a23d0cdf4db14 (patch) | |
tree | c6166fa63d13ce47ec36ccde2eb8600d49e49c0d /lib/CodeGen/SelectionDAG/SelectionDAGBuild.h | |
parent | 558b79a399b0b6642e193d4fe59ac01e1f9cbba4 (diff) | |
download | external_llvm-fb2e752e4175920d0531f2afc93a23d0cdf4db14.tar.gz external_llvm-fb2e752e4175920d0531f2afc93a23d0cdf4db14.tar.bz2 external_llvm-fb2e752e4175920d0531f2afc93a23d0cdf4db14.zip |
Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.
Not functionality change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82273 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGBuild.h')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuild.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h index 9a079d62d5..06acc8a6bf 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h +++ b/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; |