diff options
Diffstat (limited to 'backend/lib/CodeGen/FrameIndexElimination.cpp')
| -rw-r--r-- | backend/lib/CodeGen/FrameIndexElimination.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/backend/lib/CodeGen/FrameIndexElimination.cpp b/backend/lib/CodeGen/FrameIndexElimination.cpp index 53c64e1..acc502d 100644 --- a/backend/lib/CodeGen/FrameIndexElimination.cpp +++ b/backend/lib/CodeGen/FrameIndexElimination.cpp @@ -5,13 +5,11 @@ #include "rcc/CodeGen/MachineBasicBlock.h" #include "rcc/CodeGen/MachineFunction.h" #include "rcc/CodeGen/MachineInstr.h" -#include "rcc/CodeGen/MachineMemOperand.h" #include "rcc/CodeGen/MachineOperand.h" #include "rcc/CodeGen/RegisterScavenger.h" #include "rcc/CodeGen/TargetFrameLowering.h" #include <cstddef> -#include <utility> namespace rcc { @@ -32,26 +30,6 @@ Expected<bool> eliminateFrameIndices(MachineFunction &Function, const TargetDesc Changed = true; } - for (std::size_t Index = 0; Index < Instruction->memOperands().size(); ++Index) { - const MachineMemOperand *Memory = Instruction->memOperands()[Index]; - const auto Frame = Memory->description().Base.frameIndex(); - if (!Frame) - continue; - auto Reference = FrameLowering.getFrameIndexReference(Function, *Instruction, *Frame, - Memory->description().Offset); - if (!Reference) - return std::unexpected(Reference.error()); - MachineMemOperandDesc Description = Memory->description(); - Description.Base = MemoryBase::stack(); - Description.Offset = Reference->Offset; - auto Replacement = Function.createMemOperand(std::move(Description)); - if (!Replacement) - return std::unexpected(Replacement.error()); - auto Replaced = Instruction->replaceMemOperand(Index, **Replacement); - if (!Replaced) - return std::unexpected(Replaced.error()); - Changed = true; - } Instruction = Next; } } |
