mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 21:32:39 +00:00
R600/SI: Fix SIFixSGPRCopies for copies to physical registers
This shows up when operands required to be passed in VCC are copied to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223208 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5c2d295d86
commit
a4ec31ed52
@ -182,7 +182,12 @@ bool SIFixSGPRCopies::isVGPRToSGPRCopy(const MachineInstr &Copy,
|
|||||||
unsigned DstReg = Copy.getOperand(0).getReg();
|
unsigned DstReg = Copy.getOperand(0).getReg();
|
||||||
unsigned SrcReg = Copy.getOperand(1).getReg();
|
unsigned SrcReg = Copy.getOperand(1).getReg();
|
||||||
unsigned SrcSubReg = Copy.getOperand(1).getSubReg();
|
unsigned SrcSubReg = Copy.getOperand(1).getSubReg();
|
||||||
const TargetRegisterClass *DstRC = MRI.getRegClass(DstReg);
|
|
||||||
|
const TargetRegisterClass *DstRC
|
||||||
|
= TargetRegisterInfo::isVirtualRegister(DstReg) ?
|
||||||
|
MRI.getRegClass(DstReg) :
|
||||||
|
TRI->getRegClass(DstReg);
|
||||||
|
|
||||||
const TargetRegisterClass *SrcRC;
|
const TargetRegisterClass *SrcRC;
|
||||||
|
|
||||||
if (!TargetRegisterInfo::isVirtualRegister(SrcReg) ||
|
if (!TargetRegisterInfo::isVirtualRegister(SrcReg) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user