aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
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
commitfb2e752e4175920d0531f2afc93a23d0cdf4db14 (patch)
treec6166fa63d13ce47ec36ccde2eb8600d49e49c0d /include/llvm
parent558b79a399b0b6642e193d4fe59ac01e1f9cbba4 (diff)
downloadexternal_llvm-fb2e752e4175920d0531f2afc93a23d0cdf4db14.zip
external_llvm-fb2e752e4175920d0531f2afc93a23d0cdf4db14.tar.gz
external_llvm-fb2e752e4175920d0531f2afc93a23d0cdf4db14.tar.bz2
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 'include/llvm')
-rw-r--r--include/llvm/CodeGen/ScheduleDAG.h3
-rw-r--r--include/llvm/Target/TargetLowering.h3
2 files changed, 4 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h
index af30948..d35525d 100644
--- a/include/llvm/CodeGen/ScheduleDAG.h
+++ b/include/llvm/CodeGen/ScheduleDAG.h
@@ -461,7 +461,8 @@ namespace llvm {
/// EmitSchedule - Insert MachineInstrs into the MachineBasicBlock
/// according to the order specified in Sequence.
///
- virtual MachineBasicBlock *EmitSchedule() = 0;
+ virtual MachineBasicBlock*
+ EmitSchedule(DenseMap<MachineBasicBlock*, MachineBasicBlock*>*) = 0;
void dumpSchedule() const;
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index a7ae0ef..c33d7df 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -1441,7 +1441,8 @@ public:
// insert. The specified MachineInstr is created but not inserted into any
// basic blocks, and the scheduler passes ownership of it to this method.
virtual MachineBasicBlock *EmitInstrWithCustomInserter(MachineInstr *MI,
- MachineBasicBlock *MBB) const;
+ MachineBasicBlock *MBB,
+ DenseMap<MachineBasicBlock*, MachineBasicBlock*> *EM) const;
//===--------------------------------------------------------------------===//
// Addressing mode description hooks (used by LSR etc).