[PATCH] D32622: ARM: Compute MaxCallFrame size early

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 1 11:23:02 PDT 2017


MatzeB updated this revision to Diff 97317.
MatzeB added a reviewer: ab.
MatzeB added a comment.

I had GlobalISel disabled in my earlier tests (cmake cache from times when it wasn't enabled yet).

I had to change GlobalISel to call TLI->finalizeLowering() late in InstructionSelect instead of after IRTranslator. While most ADJCALLSTACK/CALL instructions are already visible after IRTranslator we may miss operations getting implemented by library calls later. It also seems to delay freezing the reserved registers + extra adjustments until after ISel is finished. This also matches the current SelectionDAG behavior.

+Reviewers Ahmed because of the finalizeLowering/freezeReg movement.


Repository:
  rL LLVM

https://reviews.llvm.org/D32622

Files:
  include/llvm/CodeGen/MachineFrameInfo.h
  lib/CodeGen/GlobalISel/IRTranslator.cpp
  lib/CodeGen/GlobalISel/InstructionSelect.cpp
  lib/CodeGen/MachineFrameInfo.cpp
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/Target/ARM/ARMBaseRegisterInfo.cpp
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/ARM/ARMISelLowering.h
  test/CodeGen/ARM/alloca-align.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32622.97317.patch
Type: text/x-patch
Size: 7659 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170501/6f6b57aa/attachment.bin>


More information about the llvm-commits mailing list