forked from OSchip/llvm-project
[ARM] Fix another ARM FastISel -verify-machineinstrs issue.
llvm-svn: 189109
This commit is contained in:
parent
0649d36172
commit
c7cda1c59e
|
@ -1182,6 +1182,7 @@ bool ARMFastISel::ARMEmitStore(MVT VT, unsigned SrcReg, Address &Addr,
|
|||
(const TargetRegisterClass*)&ARM::tGPRRegClass :
|
||||
(const TargetRegisterClass*)&ARM::GPRRegClass);
|
||||
unsigned Opc = isThumb2 ? ARM::t2ANDri : ARM::ANDri;
|
||||
SrcReg = constrainOperandRegClass(TII.get(Opc), SrcReg, 1);
|
||||
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
||||
TII.get(Opc), Res)
|
||||
.addReg(SrcReg).addImm(1));
|
||||
|
@ -1253,6 +1254,7 @@ bool ARMFastISel::ARMEmitStore(MVT VT, unsigned SrcReg, Address &Addr,
|
|||
ARMSimplifyAddress(Addr, VT, useAM3);
|
||||
|
||||
// Create the base instruction, then add the operands.
|
||||
SrcReg = constrainOperandRegClass(TII.get(StrOpc), SrcReg, 0);
|
||||
MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
||||
TII.get(StrOpc))
|
||||
.addReg(SrcReg);
|
||||
|
@ -1856,6 +1858,8 @@ bool ARMFastISel::SelectBinaryIntOp(const Instruction *I, unsigned ISDOpcode) {
|
|||
if (SrcReg2 == 0) return false;
|
||||
|
||||
unsigned ResultReg = createResultReg(&ARM::GPRnopcRegClass);
|
||||
SrcReg1 = constrainOperandRegClass(TII.get(Opc), SrcReg1, 1);
|
||||
SrcReg2 = constrainOperandRegClass(TII.get(Opc), SrcReg2, 2);
|
||||
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
||||
TII.get(Opc), ResultReg)
|
||||
.addReg(SrcReg1).addReg(SrcReg2));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=armv7-apple-ios | FileCheck %s --check-prefix=ARM
|
||||
; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=armv7-linux-gnueabi | FileCheck %s --check-prefix=ARM
|
||||
; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios | FileCheck %s --check-prefix=THUMB
|
||||
; RUN: llc < %s -O0 -fast-isel-abort -verify-machineinstrs -relocation-model=dynamic-no-pic -mtriple=armv7-apple-ios | FileCheck %s --check-prefix=ARM
|
||||
; RUN: llc < %s -O0 -fast-isel-abort -verify-machineinstrs -relocation-model=dynamic-no-pic -mtriple=armv7-linux-gnueabi | FileCheck %s --check-prefix=ARM
|
||||
; RUN: llc < %s -O0 -fast-isel-abort -verify-machineinstrs -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios | FileCheck %s --check-prefix=THUMB
|
||||
|
||||
; Test add with non-legal types
|
||||
|
||||
|
|
Loading…
Reference in New Issue