[PATCH] D90836: [ARM][MachineOutliner] Add stack fixup feature.

Yvan Roux via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 5 03:24:45 PST 2020


yroux created this revision.
yroux added reviewers: samparker, paquette, efriedma.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
yroux requested review of this revision.

This patch handles cases where we have to save/restore the link register into the stack and and load/store instruction which use the stack are part of the outlined region.  It checks that there will be no overflow introduced by the new offset and fixup these instructions accordingly.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D90836

Files:
  llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  llvm/lib/Target/ARM/ARMBaseInstrInfo.h
  llvm/test/CodeGen/ARM/machine-outliner-calls.mir
  llvm/test/CodeGen/ARM/machine-outliner-default.mir
  llvm/test/CodeGen/ARM/machine-outliner-no-lr-save.mir
  llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-arm.mir
  llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-thumb.mir
  llvm/test/CodeGen/ARM/machine-outliner-stack-use.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90836.303065.patch
Type: text/x-patch
Size: 53164 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201105/be757b29/attachment-0001.bin>


More information about the llvm-commits mailing list