llvm.org GIT mirror llvm / ad748b7
Disable shrink-wrap for Thumb1 Summary: In ARMConstantIslandPass, which runs after Shrink Wrap pass, long jumps will be fixed up as BL (tBfar) which depends on spilling LR in epilogue. However, shrink-wrap may remove the LR, which causes issues when the function returns. Reviewers: qcolombet, rengolin Subscribers: aemerson, rengolin Differential Revision: http://reviews.llvm.org/D15984 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257187 91177308-0d34-0410-b5e6-96231b3b80d8 Weiming Zhao 4 years ago
1 changed file(s) with 5 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
5252 /// \p MBB will be correctly handled by the target.
5353 bool canUseAsEpilogue(const MachineBasicBlock &MBB) const override;
5454
55 /// Disable shrink wrap as tBfar/BL will be used to adjust for long jumps.
56 bool enableShrinkWrapping(const MachineFunction &MF) const override {
57 return false;
58 }
59
5560 private:
5661 /// Check if the frame lowering of \p MF needs a special fixup
5762 /// code sequence for the epilogue.