Because unconditional branch relaxation on AArch64 grows the stack to
spill a register, splitting a function would cause the red zone to be
overwritten. Explicitly disable MFS for such functions.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Sorry I accidentally closed the revision. I think just re-opening it should be fine then when you commit it, you can still use this differential revision.
Use an LLVM IR test instead of an MIR test since those are easier to read. Removes dependency on https://reviews.llvm.org/D157063.
It would be great to reuse the existing corpus of splitting tests for ARM. They would cover basic functionality along with interactions with different flavours of FDO. Can you create a separate patch to move the existing tests in test/CodeGen/X86/machine-function-splitter.ll to test/CodeGen/Generic/machine-function-splitter.ll? Then we can add the triple and appropriate CHECKs for x86 and ARM.
One precedent I can find is: test/CodeGen/Generic/cfi-sections.ll which has x86 and ARM triples (and REQUIRES the x86 and ARM registered targets).