diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2020-06-18 10:32:32 -0400 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2020-06-24 10:52:58 -0400 |
commit | c5d240093b60729829cb55823448e30bdfc69142 (patch) | |
tree | 990d87eeabf968cecf580c4896dec028842a6c40 /llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp | |
parent | 457db4036a14635c6bc6875a24e17c502a30f6e8 (diff) | |
download | llvm-c5d240093b60729829cb55823448e30bdfc69142.zip llvm-c5d240093b60729829cb55823448e30bdfc69142.tar.gz llvm-c5d240093b60729829cb55823448e30bdfc69142.tar.bz2 |
WebAssembly: Don't store MachineFunction in MachineFunctionInfo
Soon it will be disallowed to depend on MachineFunction state in the
constructor. This was only being used to get the MachineRegisterInfo
for an assert, which I'm not sure is necessarily worth it. I would
think any missing defs would be caught by the verifier later instead.
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp index 82f752f..8011f6a 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp @@ -530,7 +530,7 @@ static MachineInstr *moveForSingleUse(unsigned Reg, MachineOperand &Op, if (MRI.hasOneDef(Reg) && MRI.hasOneUse(Reg)) { // No one else is using this register for anything so we can just stackify // it in place. - MFI.stackifyVReg(Reg); + MFI.stackifyVReg(MRI, Reg); } 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. @@ -547,7 +547,7 @@ static MachineInstr *moveForSingleUse(unsigned Reg, MachineOperand &Op, LIS.getInstructionIndex(*Op.getParent()).getRegSlot(), /*RemoveDeadValNo=*/true); - MFI.stackifyVReg(NewReg); + MFI.stackifyVReg(MRI, NewReg); DefDIs.updateReg(NewReg); @@ -576,7 +576,7 @@ static MachineInstr *rematerializeCheapDef( MachineInstr *Clone = &*std::prev(Insert); LIS.InsertMachineInstrInMaps(*Clone); LIS.createAndComputeVirtRegInterval(NewReg); - MFI.stackifyVReg(NewReg); + MFI.stackifyVReg(MRI, NewReg); imposeStackOrdering(Clone); LLVM_DEBUG(dbgs() << " - Cloned to "; Clone->dump()); @@ -667,8 +667,8 @@ static MachineInstr *moveAndTeeForMultiUse( // Finish stackifying the new regs. LIS.createAndComputeVirtRegInterval(TeeReg); LIS.createAndComputeVirtRegInterval(DefReg); - MFI.stackifyVReg(DefReg); - MFI.stackifyVReg(TeeReg); + MFI.stackifyVReg(MRI, DefReg); + MFI.stackifyVReg(MRI, TeeReg); imposeStackOrdering(Def); imposeStackOrdering(Tee); @@ -934,7 +934,7 @@ bool WebAssemblyRegStackify::runOnMachineFunction(MachineFunction &MF) { // TODO: This single-use restriction could be relaxed by using tees if (DefReg != UseReg || !MRI.hasOneUse(DefReg)) break; - MFI.stackifyVReg(DefReg); + MFI.stackifyVReg(MRI, DefReg); ++SubsequentDef; ++SubsequentUse; } |