diff options
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp index cc1fdd4fbf2..644c643d066 100644 --- a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp +++ b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp @@ -532,8 +532,11 @@ void HexagonFrameLowering::insertPrologueInBlock(MachineBasicBlock &MBB, unsigned MaxCF = MFI.getMaxCallFrameSize(); MachineBasicBlock::iterator InsertPt = MBB.begin(); - auto *FuncInfo = MF.getInfo<HexagonMachineFunctionInfo>(); - auto &AdjustRegs = FuncInfo->getAllocaAdjustInsts(); + SmallVector<MachineInstr *, 4> AdjustRegs; + for (auto &MBB : MF) + for (auto &MI : MBB) + if (MI.getOpcode() == Hexagon::PS_alloca) + AdjustRegs.push_back(&MI); for (auto MI : AdjustRegs) { assert((MI->getOpcode() == Hexagon::PS_alloca) && "Expected alloca"); |