1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

Simplify this code. The case where one class is GR64RegClass and the

other is a subclass of it is effectively handled by the prior tests.

llvm-svn: 78676
This commit is contained in:
Dan Gohman 2009-08-11 15:59:48 +00:00
parent 0c6e8e18aa
commit 9fbdb3de0d

View File

@ -1699,15 +1699,11 @@ bool X86InstrInfo::copyRegToReg(MachineBasicBlock &MBB,
// Neither of GR64_NOREX or GR64_NOSP is a superclass of the other,
// but we want to copy then as GR64. Similarly, for GR32_NOREX and
// GR32_NOSP, copy as GR32.
if ((SrcRC == &X86::GR64RegClass ||
SrcRC->hasSuperClass(&X86::GR64RegClass)) &&
(DestRC == &X86::GR64RegClass ||
DestRC->hasSuperClass(&X86::GR64RegClass)))
if (SrcRC->hasSuperClass(&X86::GR64RegClass) &&
DestRC->hasSuperClass(&X86::GR64RegClass))
CommonRC = &X86::GR64RegClass;
else if ((SrcRC == &X86::GR32RegClass ||
SrcRC->hasSuperClass(&X86::GR32RegClass)) &&
(DestRC == &X86::GR32RegClass ||
DestRC->hasSuperClass(&X86::GR32RegClass)))
else if (SrcRC->hasSuperClass(&X86::GR32RegClass) &&
DestRC->hasSuperClass(&X86::GR32RegClass))
CommonRC = &X86::GR32RegClass;
else
CommonRC = 0;