mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 17:29:19 +00:00
[FastISel][ARM] Fix a bug in the integer materialization code.
getRegClassFor returns the incorrect register class when in Thumb2 mode. This fix simply manually selects the register class as in the code just a few lines above. There is no test case for this code, because the code is currently unreachable. This will be changed in a future commit and existing test cases will exercise this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215583 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eac0bae1e8
commit
c76c3fe5cf
@ -536,7 +536,9 @@ unsigned ARMFastISel::ARMMaterializeInt(const Constant *C, MVT VT) {
|
||||
(ARM_AM::getSOImmVal(Imm) != -1);
|
||||
if (UseImm) {
|
||||
unsigned Opc = isThumb2 ? ARM::t2MVNi : ARM::MVNi;
|
||||
unsigned ImmReg = createResultReg(TLI.getRegClassFor(MVT::i32));
|
||||
const TargetRegisterClass *RC = isThumb2 ? &ARM::rGPRRegClass :
|
||||
&ARM::GPRRegClass;
|
||||
unsigned ImmReg = createResultReg(RC);
|
||||
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc,
|
||||
TII.get(Opc), ImmReg)
|
||||
.addImm(Imm));
|
||||
|
Loading…
Reference in New Issue
Block a user