forked from OSchip/llvm-project
[webassembly] Apply llvm-prefer-register-over-unsigned from clang-tidy to LLVM
Summary: This clang-tidy check is looking for unsigned integer variables whose initializer starts with an implicit cast from llvm::Register and changes the type of the variable to llvm::Register (dropping the llvm:: where possible). Reviewers: aheejin Subscribers: jholewinski, MatzeB, qcolombet, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, wdng, nhaehnle, sbc100, jgravelle-google, kristof.beyls, hiraditya, aheejin, kbarton, fedor.sergeev, javed.absar, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, tpr, PkmX, jocewei, jsji, Petar.Avramovic, asbirlea, Jim, s.egerton, llvm-commits Tags: #llvm Differential Revision for whole review: https://reviews.llvm.org/D65962 llvm-svn: 368627
This commit is contained in:
parent
ef8f1c473a
commit
05c145d694
|
@ -67,7 +67,7 @@ MVT WebAssemblyAsmPrinter::getRegType(unsigned RegNo) const {
|
|||
}
|
||||
|
||||
std::string WebAssemblyAsmPrinter::regToString(const MachineOperand &MO) {
|
||||
unsigned RegNo = MO.getReg();
|
||||
Register RegNo = MO.getReg();
|
||||
assert(Register::isVirtualRegister(RegNo) &&
|
||||
"Unlowered physical register encountered during assembly printing");
|
||||
assert(!MFI->isVRegStackified(RegNo));
|
||||
|
|
|
@ -936,7 +936,7 @@ bool WebAssemblyCFGStackify::fixUnwindMismatches(MachineFunction &MF) {
|
|||
// of the function with a local.get and a rethrow instruction.
|
||||
if (NeedAppendixBlock) {
|
||||
auto *AppendixBB = getAppendixBlock(MF);
|
||||
unsigned ExnReg = MRI.createVirtualRegister(&WebAssembly::EXNREFRegClass);
|
||||
Register ExnReg = MRI.createVirtualRegister(&WebAssembly::EXNREFRegClass);
|
||||
BuildMI(AppendixBB, DebugLoc(), TII.get(WebAssembly::RETHROW))
|
||||
.addReg(ExnReg);
|
||||
// These instruction ranges should branch to this appendix BB.
|
||||
|
|
|
@ -168,7 +168,7 @@ static MVT typeForRegClass(const TargetRegisterClass *RC) {
|
|||
static MachineInstr *findStartOfTree(MachineOperand &MO,
|
||||
MachineRegisterInfo &MRI,
|
||||
WebAssemblyFunctionInfo &MFI) {
|
||||
unsigned Reg = MO.getReg();
|
||||
Register Reg = MO.getReg();
|
||||
assert(MFI.isVRegStackified(Reg));
|
||||
MachineInstr *Def = MRI.getVRegDef(Reg);
|
||||
|
||||
|
@ -207,7 +207,7 @@ bool WebAssemblyExplicitLocals::runOnMachineFunction(MachineFunction &MF) {
|
|||
MachineInstr &MI = *I++;
|
||||
if (!WebAssembly::isArgument(MI.getOpcode()))
|
||||
break;
|
||||
unsigned Reg = MI.getOperand(0).getReg();
|
||||
Register Reg = MI.getOperand(0).getReg();
|
||||
assert(!MFI.isVRegStackified(Reg));
|
||||
Reg2Local[Reg] = static_cast<unsigned>(MI.getOperand(1).getImm());
|
||||
MI.eraseFromParent();
|
||||
|
@ -238,13 +238,13 @@ bool WebAssemblyExplicitLocals::runOnMachineFunction(MachineFunction &MF) {
|
|||
if (WebAssembly::isTee(MI.getOpcode())) {
|
||||
assert(MFI.isVRegStackified(MI.getOperand(0).getReg()));
|
||||
assert(!MFI.isVRegStackified(MI.getOperand(1).getReg()));
|
||||
unsigned OldReg = MI.getOperand(2).getReg();
|
||||
Register OldReg = MI.getOperand(2).getReg();
|
||||
const TargetRegisterClass *RC = MRI.getRegClass(OldReg);
|
||||
|
||||
// Stackify the input if it isn't stackified yet.
|
||||
if (!MFI.isVRegStackified(OldReg)) {
|
||||
unsigned LocalId = getLocalId(Reg2Local, CurLocal, OldReg);
|
||||
unsigned NewReg = MRI.createVirtualRegister(RC);
|
||||
Register NewReg = MRI.createVirtualRegister(RC);
|
||||
unsigned Opc = getLocalGetOpcode(RC);
|
||||
BuildMI(MBB, &MI, MI.getDebugLoc(), TII->get(Opc), NewReg)
|
||||
.addImm(LocalId);
|
||||
|
@ -270,10 +270,10 @@ bool WebAssemblyExplicitLocals::runOnMachineFunction(MachineFunction &MF) {
|
|||
// we handle at most one def.
|
||||
assert(MI.getDesc().getNumDefs() <= 1);
|
||||
if (MI.getDesc().getNumDefs() == 1) {
|
||||
unsigned OldReg = MI.getOperand(0).getReg();
|
||||
Register OldReg = MI.getOperand(0).getReg();
|
||||
if (!MFI.isVRegStackified(OldReg)) {
|
||||
const TargetRegisterClass *RC = MRI.getRegClass(OldReg);
|
||||
unsigned NewReg = MRI.createVirtualRegister(RC);
|
||||
Register NewReg = MRI.createVirtualRegister(RC);
|
||||
auto InsertPt = std::next(MI.getIterator());
|
||||
if (MI.getOpcode() == WebAssembly::IMPLICIT_DEF) {
|
||||
MI.eraseFromParent();
|
||||
|
@ -310,7 +310,7 @@ bool WebAssemblyExplicitLocals::runOnMachineFunction(MachineFunction &MF) {
|
|||
if (!MO.isReg())
|
||||
continue;
|
||||
|
||||
unsigned OldReg = MO.getReg();
|
||||
Register OldReg = MO.getReg();
|
||||
|
||||
// Inline asm may have a def in the middle of the operands. Our contract
|
||||
// with inline asm register operands is to provide local indices as
|
||||
|
@ -345,7 +345,7 @@ bool WebAssemblyExplicitLocals::runOnMachineFunction(MachineFunction &MF) {
|
|||
// Insert a local.get.
|
||||
unsigned LocalId = getLocalId(Reg2Local, CurLocal, OldReg);
|
||||
const TargetRegisterClass *RC = MRI.getRegClass(OldReg);
|
||||
unsigned NewReg = MRI.createVirtualRegister(RC);
|
||||
Register NewReg = MRI.createVirtualRegister(RC);
|
||||
unsigned Opc = getLocalGetOpcode(RC);
|
||||
InsertPt =
|
||||
BuildMI(MBB, InsertPt, MI.getDebugLoc(), TII->get(Opc), NewReg)
|
||||
|
|
|
@ -358,7 +358,7 @@ void WebAssemblyFixIrreducibleControlFlow::makeSingleEntryLoop(
|
|||
// Add the register which will be used to tell the jump table which block to
|
||||
// jump to.
|
||||
MachineRegisterInfo &MRI = MF.getRegInfo();
|
||||
unsigned Reg = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
Register Reg = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
MIB.addReg(Reg);
|
||||
|
||||
// Compute the indices in the superheader, one for each bad block, and
|
||||
|
|
|
@ -183,14 +183,14 @@ void WebAssemblyFrameLowering::emitPrologue(MachineFunction &MF,
|
|||
bool HasBP = hasBP(MF);
|
||||
if (HasBP) {
|
||||
auto FI = MF.getInfo<WebAssemblyFunctionInfo>();
|
||||
unsigned BasePtr = MRI.createVirtualRegister(PtrRC);
|
||||
Register BasePtr = MRI.createVirtualRegister(PtrRC);
|
||||
FI->setBasePointerVreg(BasePtr);
|
||||
BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::COPY), BasePtr)
|
||||
.addReg(SPReg);
|
||||
}
|
||||
if (StackSize) {
|
||||
// Subtract the frame size
|
||||
unsigned OffsetReg = MRI.createVirtualRegister(PtrRC);
|
||||
Register OffsetReg = MRI.createVirtualRegister(PtrRC);
|
||||
BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), OffsetReg)
|
||||
.addImm(StackSize);
|
||||
BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::SUB_I32),
|
||||
|
@ -199,7 +199,7 @@ void WebAssemblyFrameLowering::emitPrologue(MachineFunction &MF,
|
|||
.addReg(OffsetReg);
|
||||
}
|
||||
if (HasBP) {
|
||||
unsigned BitmaskReg = MRI.createVirtualRegister(PtrRC);
|
||||
Register BitmaskReg = MRI.createVirtualRegister(PtrRC);
|
||||
unsigned Alignment = MFI.getMaxAlignment();
|
||||
assert((1u << countTrailingZeros(Alignment)) == Alignment &&
|
||||
"Alignment must be a power of 2");
|
||||
|
@ -244,7 +244,7 @@ void WebAssemblyFrameLowering::emitEpilogue(MachineFunction &MF,
|
|||
} else if (StackSize) {
|
||||
const TargetRegisterClass *PtrRC =
|
||||
MRI.getTargetRegisterInfo()->getPointerRegClass(MF);
|
||||
unsigned OffsetReg = MRI.createVirtualRegister(PtrRC);
|
||||
Register OffsetReg = MRI.createVirtualRegister(PtrRC);
|
||||
BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), OffsetReg)
|
||||
.addImm(StackSize);
|
||||
// In the epilog we don't need to write the result back to the SP32 physreg
|
||||
|
|
|
@ -337,8 +337,8 @@ static MachineBasicBlock *LowerFPToInt(MachineInstr &MI, DebugLoc DL,
|
|||
bool Float64, unsigned LoweredOpcode) {
|
||||
MachineRegisterInfo &MRI = BB->getParent()->getRegInfo();
|
||||
|
||||
unsigned OutReg = MI.getOperand(0).getReg();
|
||||
unsigned InReg = MI.getOperand(1).getReg();
|
||||
Register OutReg = MI.getOperand(0).getReg();
|
||||
Register InReg = MI.getOperand(1).getReg();
|
||||
|
||||
unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32;
|
||||
unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32;
|
||||
|
@ -396,9 +396,9 @@ static MachineBasicBlock *LowerFPToInt(MachineInstr &MI, DebugLoc DL,
|
|||
// For unsigned numbers, we have to do a separate comparison with zero.
|
||||
if (IsUnsigned) {
|
||||
Tmp1 = MRI.createVirtualRegister(MRI.getRegClass(InReg));
|
||||
unsigned SecondCmpReg =
|
||||
Register SecondCmpReg =
|
||||
MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
unsigned AndReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
Register AndReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
BuildMI(BB, DL, TII.get(FConst), Tmp1)
|
||||
.addFPImm(cast<ConstantFP>(ConstantFP::get(Ty, 0.0)));
|
||||
BuildMI(BB, DL, TII.get(GE), SecondCmpReg).addReg(Tmp0).addReg(Tmp1);
|
||||
|
@ -915,7 +915,7 @@ SDValue WebAssemblyTargetLowering::LowerFormalArguments(
|
|||
// the buffer is passed as an argument.
|
||||
if (IsVarArg) {
|
||||
MVT PtrVT = getPointerTy(MF.getDataLayout());
|
||||
unsigned VarargVreg =
|
||||
Register VarargVreg =
|
||||
MF.getRegInfo().createVirtualRegister(getRegClassFor(PtrVT));
|
||||
MFI->setVarargBufferVreg(VarargVreg);
|
||||
Chain = DAG.getCopyToReg(
|
||||
|
@ -1071,7 +1071,7 @@ SDValue WebAssemblyTargetLowering::LowerFRAMEADDR(SDValue Op,
|
|||
|
||||
DAG.getMachineFunction().getFrameInfo().setFrameAddressIsTaken(true);
|
||||
EVT VT = Op.getValueType();
|
||||
unsigned FP =
|
||||
Register FP =
|
||||
Subtarget->getRegisterInfo()->getFrameRegister(DAG.getMachineFunction());
|
||||
return DAG.getCopyFromReg(DAG.getEntryNode(), SDLoc(Op), FP, VT);
|
||||
}
|
||||
|
|
|
@ -131,7 +131,7 @@ bool WebAssemblyLateEHPrepare::addCatches(MachineFunction &MF) {
|
|||
auto InsertPos = MBB.begin();
|
||||
if (InsertPos->isEHLabel()) // EH pad starts with an EH label
|
||||
++InsertPos;
|
||||
unsigned DstReg = MRI.createVirtualRegister(&WebAssembly::EXNREFRegClass);
|
||||
Register DstReg = MRI.createVirtualRegister(&WebAssembly::EXNREFRegClass);
|
||||
BuildMI(MBB, InsertPos, MBB.begin()->getDebugLoc(),
|
||||
TII.get(WebAssembly::CATCH), DstReg);
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ bool WebAssemblyLateEHPrepare::replaceFuncletReturns(MachineFunction &MF) {
|
|||
if (CatchPos->isEHLabel()) // EH pad starts with an EH label
|
||||
++CatchPos;
|
||||
MachineInstr *Catch = &*CatchPos;
|
||||
unsigned ExnReg = Catch->getOperand(0).getReg();
|
||||
Register ExnReg = Catch->getOperand(0).getReg();
|
||||
BuildMI(MBB, TI, TI->getDebugLoc(), TII.get(WebAssembly::RETHROW))
|
||||
.addReg(ExnReg);
|
||||
TI->eraseFromParent();
|
||||
|
@ -293,7 +293,7 @@ bool WebAssemblyLateEHPrepare::addExceptionExtraction(MachineFunction &MF) {
|
|||
// thenbb:
|
||||
// %exn:i32 = extract_exception
|
||||
// ... use exn ...
|
||||
unsigned ExnReg = Catch->getOperand(0).getReg();
|
||||
Register ExnReg = Catch->getOperand(0).getReg();
|
||||
auto *ThenMBB = MF.CreateMachineBasicBlock();
|
||||
auto *ElseMBB = MF.CreateMachineBasicBlock();
|
||||
MF.insert(std::next(MachineFunction::iterator(EHPad)), ElseMBB);
|
||||
|
|
|
@ -68,7 +68,7 @@ bool WebAssemblyLowerBrUnless::runOnMachineFunction(MachineFunction &MF) {
|
|||
if (MI->getOpcode() != WebAssembly::BR_UNLESS)
|
||||
continue;
|
||||
|
||||
unsigned Cond = MI->getOperand(1).getReg();
|
||||
Register Cond = MI->getOperand(1).getReg();
|
||||
bool Inverted = false;
|
||||
|
||||
// Attempt to invert the condition in place.
|
||||
|
@ -188,7 +188,7 @@ bool WebAssemblyLowerBrUnless::runOnMachineFunction(MachineFunction &MF) {
|
|||
// If we weren't able to invert the condition in place. Insert an
|
||||
// instruction to invert it.
|
||||
if (!Inverted) {
|
||||
unsigned Tmp = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
Register Tmp = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
BuildMI(MBB, MI, MI->getDebugLoc(), TII.get(WebAssembly::EQZ_I32), Tmp)
|
||||
.addReg(Cond);
|
||||
MFI.stackifyVReg(Tmp);
|
||||
|
|
|
@ -166,8 +166,8 @@ static bool optimizeCall(MachineBasicBlock &MBB, MachineInstr &MI,
|
|||
if (!LibInfo.getLibFunc(Name, Func))
|
||||
return false;
|
||||
|
||||
unsigned FromReg = MI.getOperand(2).getReg();
|
||||
unsigned ToReg = MI.getOperand(0).getReg();
|
||||
Register FromReg = MI.getOperand(2).getReg();
|
||||
Register ToReg = MI.getOperand(0).getReg();
|
||||
if (MRI.getRegClass(FromReg) != MRI.getRegClass(ToReg))
|
||||
report_fatal_error("Memory Intrinsic results: call to builtin function "
|
||||
"with wrong signature, from/to mismatch");
|
||||
|
|
|
@ -63,7 +63,7 @@ static bool maybeRewriteToDrop(unsigned OldReg, unsigned NewReg,
|
|||
bool Changed = false;
|
||||
if (OldReg == NewReg) {
|
||||
Changed = true;
|
||||
unsigned NewReg = MRI.createVirtualRegister(MRI.getRegClass(OldReg));
|
||||
Register NewReg = MRI.createVirtualRegister(MRI.getRegClass(OldReg));
|
||||
MO.setReg(NewReg);
|
||||
MO.setIsDead();
|
||||
MFI.stackifyVReg(NewReg);
|
||||
|
@ -94,9 +94,9 @@ static bool maybeRewriteToFallthrough(MachineInstr &MI, MachineBasicBlock &MBB,
|
|||
// If the operand isn't stackified, insert a COPY to read the operand and
|
||||
// stackify it.
|
||||
MachineOperand &MO = MI.getOperand(0);
|
||||
unsigned Reg = MO.getReg();
|
||||
Register Reg = MO.getReg();
|
||||
if (!MFI.isVRegStackified(Reg)) {
|
||||
unsigned NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg));
|
||||
Register NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg));
|
||||
BuildMI(MBB, MI, MI.getDebugLoc(), TII.get(CopyLocalOpc), NewReg)
|
||||
.addReg(Reg);
|
||||
MO.setReg(NewReg);
|
||||
|
@ -143,8 +143,8 @@ bool WebAssemblyPeephole::runOnMachineFunction(MachineFunction &MF) {
|
|||
report_fatal_error("Peephole: call to builtin function with "
|
||||
"wrong signature, not consuming reg");
|
||||
MachineOperand &MO = MI.getOperand(0);
|
||||
unsigned OldReg = MO.getReg();
|
||||
unsigned NewReg = Op2.getReg();
|
||||
Register OldReg = MO.getReg();
|
||||
Register NewReg = Op2.getReg();
|
||||
|
||||
if (MRI.getRegClass(NewReg) != MRI.getRegClass(OldReg))
|
||||
report_fatal_error("Peephole: call to builtin function with "
|
||||
|
|
|
@ -120,7 +120,7 @@ static void convertImplicitDefToConstZero(MachineInstr *MI,
|
|||
Type::getDoubleTy(MF.getFunction().getContext())));
|
||||
MI->addOperand(MachineOperand::CreateFPImm(Val));
|
||||
} else if (RegClass == &WebAssembly::V128RegClass) {
|
||||
unsigned TempReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
Register TempReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass);
|
||||
MI->setDesc(TII->get(WebAssembly::SPLAT_v4i32));
|
||||
MI->addOperand(MachineOperand::CreateReg(TempReg, false));
|
||||
MachineInstr *Const = BuildMI(*MI->getParent(), MI, MI->getDebugLoc(),
|
||||
|
@ -334,7 +334,7 @@ static bool isSafeToMove(const MachineInstr *Def, const MachineInstr *Insert,
|
|||
for (const MachineOperand &MO : Def->operands()) {
|
||||
if (!MO.isReg() || MO.isUndef())
|
||||
continue;
|
||||
unsigned Reg = MO.getReg();
|
||||
Register Reg = MO.getReg();
|
||||
|
||||
// If the register is dead here and at Insert, ignore it.
|
||||
if (MO.isDead() && Insert->definesRegister(Reg) &&
|
||||
|
@ -436,7 +436,7 @@ static bool oneUseDominatesOtherUses(unsigned Reg, const MachineOperand &OneUse,
|
|||
const MachineOperand &MO = UseInst->getOperand(0);
|
||||
if (!MO.isReg())
|
||||
return false;
|
||||
unsigned DefReg = MO.getReg();
|
||||
Register DefReg = MO.getReg();
|
||||
if (!Register::isVirtualRegister(DefReg) ||
|
||||
!MFI.isVRegStackified(DefReg))
|
||||
return false;
|
||||
|
@ -499,7 +499,7 @@ static MachineInstr *moveForSingleUse(unsigned Reg, MachineOperand &Op,
|
|||
} else {
|
||||
// The register may have unrelated uses or defs; create a new register for
|
||||
// just our one def and use so that we can stackify it.
|
||||
unsigned NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg));
|
||||
Register NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg));
|
||||
Def->getOperand(0).setReg(NewReg);
|
||||
Op.setReg(NewReg);
|
||||
|
||||
|
@ -535,7 +535,7 @@ static MachineInstr *rematerializeCheapDef(
|
|||
|
||||
WebAssemblyDebugValueManager DefDIs(&Def);
|
||||
|
||||
unsigned NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg));
|
||||
Register NewReg = MRI.createVirtualRegister(MRI.getRegClass(Reg));
|
||||
TII->reMaterialize(MBB, Insert, NewReg, 0, Def, *TRI);
|
||||
Op.setReg(NewReg);
|
||||
MachineInstr *Clone = &*std::prev(Insert);
|
||||
|
@ -607,8 +607,8 @@ static MachineInstr *moveAndTeeForMultiUse(
|
|||
|
||||
// Create the Tee and attach the registers.
|
||||
const auto *RegClass = MRI.getRegClass(Reg);
|
||||
unsigned TeeReg = MRI.createVirtualRegister(RegClass);
|
||||
unsigned DefReg = MRI.createVirtualRegister(RegClass);
|
||||
Register TeeReg = MRI.createVirtualRegister(RegClass);
|
||||
Register DefReg = MRI.createVirtualRegister(RegClass);
|
||||
MachineOperand &DefMO = Def->getOperand(0);
|
||||
MachineInstr *Tee = BuildMI(MBB, Insert, Insert->getDebugLoc(),
|
||||
TII->get(getTeeOpcode(RegClass)), TeeReg)
|
||||
|
@ -807,7 +807,7 @@ bool WebAssemblyRegStackify::runOnMachineFunction(MachineFunction &MF) {
|
|||
if (!Op.isReg())
|
||||
continue;
|
||||
|
||||
unsigned Reg = Op.getReg();
|
||||
Register Reg = Op.getReg();
|
||||
assert(Op.isUse() && "explicit_uses() should only iterate over uses");
|
||||
assert(!Op.isImplicit() &&
|
||||
"explicit_uses() should only iterate over explicit operands");
|
||||
|
@ -915,7 +915,7 @@ bool WebAssemblyRegStackify::runOnMachineFunction(MachineFunction &MF) {
|
|||
for (MachineOperand &MO : reverse(MI.explicit_operands())) {
|
||||
if (!MO.isReg())
|
||||
continue;
|
||||
unsigned Reg = MO.getReg();
|
||||
Register Reg = MO.getReg();
|
||||
|
||||
if (MFI.isVRegStackified(Reg)) {
|
||||
if (MO.isDef())
|
||||
|
|
|
@ -91,7 +91,7 @@ void WebAssemblyRegisterInfo::eliminateFrameIndex(
|
|||
if (MI.getOpcode() == WebAssembly::ADD_I32) {
|
||||
MachineOperand &OtherMO = MI.getOperand(3 - FIOperandNum);
|
||||
if (OtherMO.isReg()) {
|
||||
unsigned OtherMOReg = OtherMO.getReg();
|
||||
Register OtherMOReg = OtherMO.getReg();
|
||||
if (Register::isVirtualRegister(OtherMOReg)) {
|
||||
MachineInstr *Def = MF.getRegInfo().getUniqueVRegDef(OtherMOReg);
|
||||
// TODO: For now we just opportunistically do this in the case where
|
||||
|
@ -117,7 +117,7 @@ void WebAssemblyRegisterInfo::eliminateFrameIndex(
|
|||
// Create i32.add SP, offset and make it the operand.
|
||||
const TargetRegisterClass *PtrRC =
|
||||
MRI.getTargetRegisterInfo()->getPointerRegClass(MF);
|
||||
unsigned OffsetOp = MRI.createVirtualRegister(PtrRC);
|
||||
Register OffsetOp = MRI.createVirtualRegister(PtrRC);
|
||||
BuildMI(MBB, *II, II->getDebugLoc(), TII->get(WebAssembly::CONST_I32),
|
||||
OffsetOp)
|
||||
.addImm(FrameOffset);
|
||||
|
|
|
@ -32,7 +32,7 @@ bool WebAssembly::isChild(const MachineInstr &MI,
|
|||
const MachineOperand &MO = MI.getOperand(0);
|
||||
if (!MO.isReg() || MO.isImplicit() || !MO.isDef())
|
||||
return false;
|
||||
unsigned Reg = MO.getReg();
|
||||
Register Reg = MO.getReg();
|
||||
return Register::isVirtualRegister(Reg) && MFI.isVRegStackified(Reg);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue