mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
AMDGPU/SI: Remove REGISTER_STORE/REGISTER_LOAD code which is now dead
Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15050 llvm-svn: 254427
This commit is contained in:
parent
38c62313dd
commit
f2ce04ba14
@ -458,41 +458,6 @@ SDNode *AMDGPUDAGToDAGISel::Select(SDNode *N) {
|
||||
N = glueCopyToM0(N);
|
||||
break;
|
||||
}
|
||||
case AMDGPUISD::REGISTER_LOAD: {
|
||||
if (Subtarget->getGeneration() <= AMDGPUSubtarget::NORTHERN_ISLANDS)
|
||||
break;
|
||||
SDValue Addr, Offset;
|
||||
|
||||
SDLoc DL(N);
|
||||
SelectADDRIndirect(N->getOperand(1), Addr, Offset);
|
||||
const SDValue Ops[] = {
|
||||
Addr,
|
||||
Offset,
|
||||
CurDAG->getTargetConstant(0, DL, MVT::i32),
|
||||
N->getOperand(0),
|
||||
};
|
||||
return CurDAG->getMachineNode(AMDGPU::SI_RegisterLoad, DL,
|
||||
CurDAG->getVTList(MVT::i32, MVT::i64,
|
||||
MVT::Other),
|
||||
Ops);
|
||||
}
|
||||
case AMDGPUISD::REGISTER_STORE: {
|
||||
if (Subtarget->getGeneration() <= AMDGPUSubtarget::NORTHERN_ISLANDS)
|
||||
break;
|
||||
SDValue Addr, Offset;
|
||||
SelectADDRIndirect(N->getOperand(2), Addr, Offset);
|
||||
SDLoc DL(N);
|
||||
const SDValue Ops[] = {
|
||||
N->getOperand(1),
|
||||
Addr,
|
||||
Offset,
|
||||
CurDAG->getTargetConstant(0, DL, MVT::i32),
|
||||
N->getOperand(0),
|
||||
};
|
||||
return CurDAG->getMachineNode(AMDGPU::SI_RegisterStorePseudo, DL,
|
||||
CurDAG->getVTList(MVT::Other),
|
||||
Ops);
|
||||
}
|
||||
|
||||
case AMDGPUISD::BFE_I32:
|
||||
case AMDGPUISD::BFE_U32: {
|
||||
|
@ -848,27 +848,11 @@ SDValue SITargetLowering::LowerFormalArguments(
|
||||
MachineBasicBlock * SITargetLowering::EmitInstrWithCustomInserter(
|
||||
MachineInstr * MI, MachineBasicBlock * BB) const {
|
||||
|
||||
MachineBasicBlock::iterator I = *MI;
|
||||
const SIInstrInfo *TII =
|
||||
static_cast<const SIInstrInfo *>(Subtarget->getInstrInfo());
|
||||
|
||||
switch (MI->getOpcode()) {
|
||||
default:
|
||||
return AMDGPUTargetLowering::EmitInstrWithCustomInserter(MI, BB);
|
||||
case AMDGPU::BRANCH:
|
||||
return BB;
|
||||
case AMDGPU::SI_RegisterStorePseudo: {
|
||||
MachineRegisterInfo &MRI = BB->getParent()->getRegInfo();
|
||||
unsigned Reg = MRI.createVirtualRegister(&AMDGPU::SReg_64RegClass);
|
||||
MachineInstrBuilder MIB =
|
||||
BuildMI(*BB, I, MI->getDebugLoc(), TII->get(AMDGPU::SI_RegisterStore),
|
||||
Reg);
|
||||
for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i)
|
||||
MIB.addOperand(MI->getOperand(i));
|
||||
|
||||
MI->eraseFromParent();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return BB;
|
||||
}
|
||||
|
@ -1942,36 +1942,6 @@ def SI_KILL : InstSI <
|
||||
|
||||
let Uses = [EXEC], Defs = [EXEC,VCC,M0] in {
|
||||
|
||||
//defm SI_ : RegisterLoadStore <VGPR_32, FRAMEri, ADDRIndirect>;
|
||||
|
||||
let UseNamedOperandTable = 1 in {
|
||||
|
||||
def SI_RegisterLoad : InstSI <
|
||||
(outs VGPR_32:$dst, SReg_64:$temp),
|
||||
(ins FRAMEri32:$addr, i32imm:$chan),
|
||||
"", []
|
||||
> {
|
||||
let isRegisterLoad = 1;
|
||||
let mayLoad = 1;
|
||||
}
|
||||
|
||||
class SIRegStore<dag outs> : InstSI <
|
||||
outs,
|
||||
(ins VGPR_32:$val, FRAMEri32:$addr, i32imm:$chan),
|
||||
"", []
|
||||
> {
|
||||
let isRegisterStore = 1;
|
||||
let mayStore = 1;
|
||||
}
|
||||
|
||||
let usesCustomInserter = 1 in {
|
||||
def SI_RegisterStorePseudo : SIRegStore<(outs)>;
|
||||
} // End usesCustomInserter = 1
|
||||
def SI_RegisterStore : SIRegStore<(outs SReg_64:$temp)>;
|
||||
|
||||
|
||||
} // End UseNamedOperandTable = 1
|
||||
|
||||
class SI_INDIRECT_SRC<RegisterClass rc> : InstSI <
|
||||
(outs VGPR_32:$dst, SReg_64:$temp),
|
||||
(ins rc:$src, VSrc_32:$idx, i32imm:$off),
|
||||
|
Loading…
x
Reference in New Issue
Block a user