aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChristopher Lamb <christopher.lamb@gmail.com>2007-07-26 08:12:07 +0000
committerChristopher Lamb <christopher.lamb@gmail.com>2007-07-26 08:12:07 +0000
commite24f8f1ec9277dc80ebf38f0d914053f8c31caf1 (patch)
treed1cac228405df6a392b0e0e83fe008bd3ff71989 /include
parent1367fd09cb021bae61e7dd2ee208f76574c8e789 (diff)
downloadexternal_llvm-e24f8f1ec9277dc80ebf38f0d914053f8c31caf1.zip
external_llvm-e24f8f1ec9277dc80ebf38f0d914053f8c31caf1.tar.gz
external_llvm-e24f8f1ec9277dc80ebf38f0d914053f8c31caf1.tar.bz2
Teach DAG scheduling how to properly emit subreg insert/extract machine instructions. PR1350
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40520 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/ScheduleDAG.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h
index 06d2f2e..fd72aeb 100644
--- a/include/llvm/CodeGen/ScheduleDAG.h
+++ b/include/llvm/CodeGen/ScheduleDAG.h
@@ -255,6 +255,11 @@ namespace llvm {
virtual void Schedule() {}
private:
+ /// EmitSubregNode - Generate machine code for subreg nodes.
+ ///
+ void EmitSubregNode(SDNode *Node,
+ DenseMap<SDOperand, unsigned> &VRBaseMap);
+
void AddOperand(MachineInstr *MI, SDOperand Op, unsigned IIOpNum,
const TargetInstrDescriptor *II,
DenseMap<SDOperand, unsigned> &VRBaseMap);