1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

GlobalISel: Remove unnecessary check for copy type

COPY isn't allowed to change the type, but can mix no type with type.
This commit is contained in:
Matt Arsenault 2020-08-15 10:26:21 -04:00
parent 45fb989d05
commit 5bcccd9fb4
2 changed files with 3 additions and 4 deletions

View File

@ -151,9 +151,8 @@ const ConstantFP* getConstantFPVRegVal(Register VReg,
MachineInstr *getOpcodeDef(unsigned Opcode, Register Reg, MachineInstr *getOpcodeDef(unsigned Opcode, Register Reg,
const MachineRegisterInfo &MRI); const MachineRegisterInfo &MRI);
/// Find the def instruction for \p Reg, folding away any trivial copies. Note /// Find the def instruction for \p Reg, folding away any trivial copies. May
/// it may still return a COPY, if it changes the type. May return nullptr if \p /// return nullptr if \p Reg is not a generic virtual register.
/// Reg is not a generic virtual register.
MachineInstr *getDefIgnoringCopies(Register Reg, MachineInstr *getDefIgnoringCopies(Register Reg,
const MachineRegisterInfo &MRI); const MachineRegisterInfo &MRI);

View File

@ -365,7 +365,7 @@ getDefSrcRegIgnoringCopies(Register Reg, const MachineRegisterInfo &MRI) {
while (DefMI->getOpcode() == TargetOpcode::COPY) { while (DefMI->getOpcode() == TargetOpcode::COPY) {
Register SrcReg = DefMI->getOperand(1).getReg(); Register SrcReg = DefMI->getOperand(1).getReg();
auto SrcTy = MRI.getType(SrcReg); auto SrcTy = MRI.getType(SrcReg);
if (!SrcTy.isValid() || SrcTy != DstTy) if (!SrcTy.isValid())
break; break;
DefMI = MRI.getVRegDef(SrcReg); DefMI = MRI.getVRegDef(SrcReg);
DefSrcReg = SrcReg; DefSrcReg = SrcReg;