summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-06-05 20:48:41 -0400
committerTom Stellard <[email protected]>2012-06-06 13:46:04 -0400
commitedceed1b9a46c4a92a6113e8b1c5d2433568143d (patch)
tree3220523e4f4808ef1d9d5da5a57daadd244d57ce /src/gallium/drivers/radeon
parentf81e4663a766e71e907886640327abea4a0d78e2 (diff)
radeon/llvm: Remove AMDIL MOVE* instructions
Diffstat (limited to 'src/gallium/drivers/radeon')
-rw-r--r--src/gallium/drivers/radeon/AMDILISelDAGToDAG.cpp2
-rw-r--r--src/gallium/drivers/radeon/AMDILISelLowering.cpp2
-rw-r--r--src/gallium/drivers/radeon/AMDILInstrInfo.cpp15
-rw-r--r--src/gallium/drivers/radeon/AMDILInstrInfo.h2
-rw-r--r--src/gallium/drivers/radeon/AMDILInstructions.td1
5 files changed, 2 insertions, 20 deletions
diff --git a/src/gallium/drivers/radeon/AMDILISelDAGToDAG.cpp b/src/gallium/drivers/radeon/AMDILISelDAGToDAG.cpp
index d7b08b0aa77..4e70a54145b 100644
--- a/src/gallium/drivers/radeon/AMDILISelDAGToDAG.cpp
+++ b/src/gallium/drivers/radeon/AMDILISelDAGToDAG.cpp
@@ -163,7 +163,7 @@ SDNode *AMDILDAGToDAGISel::Select(SDNode *N) {
if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(N)) {
unsigned int FI = FIN->getIndex();
EVT OpVT = N->getValueType(0);
- unsigned int NewOpc = AMDIL::MOVE_i32;
+ unsigned int NewOpc = AMDIL::COPY;
SDValue TFI = CurDAG->getTargetFrameIndex(FI, MVT::i32);
return CurDAG->SelectNodeTo(N, NewOpc, OpVT, TFI);
}
diff --git a/src/gallium/drivers/radeon/AMDILISelLowering.cpp b/src/gallium/drivers/radeon/AMDILISelLowering.cpp
index 1c5c9ba8266..a0be1f45f41 100644
--- a/src/gallium/drivers/radeon/AMDILISelLowering.cpp
+++ b/src/gallium/drivers/radeon/AMDILISelLowering.cpp
@@ -59,8 +59,6 @@ getConversionNode(SelectionDAG &DAG, SDValue& Src, SDValue& Dst, bool asType)
} else if (svt.isInteger() && dvt.isInteger()) {
if (!svt.bitsEq(dvt)) {
Src = DAG.getSExtOrTrunc(Src, DL, dvt);
- } else {
- Src = DAG.getNode(AMDILISD::MOVE, DL, dvt, Src);
}
} else if (svt.isInteger()) {
unsigned opcode = (asType) ? ISDBITCAST : ISD::SINT_TO_FP;
diff --git a/src/gallium/drivers/radeon/AMDILInstrInfo.cpp b/src/gallium/drivers/radeon/AMDILInstrInfo.cpp
index 5143f3fd8fc..11a6516a2c3 100644
--- a/src/gallium/drivers/radeon/AMDILInstrInfo.cpp
+++ b/src/gallium/drivers/radeon/AMDILInstrInfo.cpp
@@ -244,21 +244,6 @@ MachineBasicBlock::iterator skipFlowControl(MachineBasicBlock *MBB) {
}
void
-AMDILInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
- MachineBasicBlock::iterator MI, DebugLoc DL,
- unsigned DestReg, unsigned SrcReg,
- bool KillSrc) const
-{
- BuildMI(MBB, MI, DL, get(AMDIL::MOVE_v4i32), DestReg)
- .addReg(SrcReg, getKillRegState(KillSrc));
- return;
-#if 0
- DEBUG(dbgs() << "Cannot copy " << RI.getName(SrcReg)
- << " to " << RI.getName(DestReg) << '\n');
- abort();
-#endif
-}
-void
AMDILInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MI,
unsigned SrcReg, bool isKill,
diff --git a/src/gallium/drivers/radeon/AMDILInstrInfo.h b/src/gallium/drivers/radeon/AMDILInstrInfo.h
index 7ea88348a9a..bff729b4685 100644
--- a/src/gallium/drivers/radeon/AMDILInstrInfo.h
+++ b/src/gallium/drivers/radeon/AMDILInstrInfo.h
@@ -77,7 +77,7 @@ public:
virtual void copyPhysReg(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MI, DebugLoc DL,
unsigned DestReg, unsigned SrcReg,
- bool KillSrc) const;
+ bool KillSrc) const = 0;
void storeRegToStackSlot(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MI,
diff --git a/src/gallium/drivers/radeon/AMDILInstructions.td b/src/gallium/drivers/radeon/AMDILInstructions.td
index afddefebce6..ec3f8cbe31b 100644
--- a/src/gallium/drivers/radeon/AMDILInstructions.td
+++ b/src/gallium/drivers/radeon/AMDILInstructions.td
@@ -10,7 +10,6 @@
// Operations in this file are generic to all data types
// This opcode has custom swizzle pattern encoded in Swizzle Encoder
let isReMaterializable = 1, isAsCheapAsAMove = 1 in {
- defm MOVE : UnaryOpMC<IL_OP_MOV, IL_mov>;
defm PHIMOVE : UnaryOpMC<IL_OP_MOV, IL_phimov>;
}
defm CMOV : BinaryOpMC<IL_OP_CMOV, IL_cmov>;