[all-commits] [llvm/llvm-project] 112d76: [ARM] generate correct code for armv6-m XO big sta...
Ties Stuij via All-commits
all-commits at lists.llvm.org
Tue Jul 4 02:40:23 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 112d769e5ee8b7e961122ead3943f06119c05c5b
https://github.com/llvm/llvm-project/commit/112d769e5ee8b7e961122ead3943f06119c05c5b
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2023-07-04 (Tue, 04 Jul 2023)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
M llvm/test/CodeGen/ARM/large-stack.ll
Log Message:
-----------
[ARM] generate correct code for armv6-m XO big stack operations
The ARM backend codebase is dotted with places where armv6-m will generate
constant pools. Now that we can generate execute-only code for armv6-m, we need
to make sure we use the movs/lsls/adds/lsls/adds/lsls/adds pattern instead of
these.
Big stacks is one of the obvious places. In this patch we take care of two
sites:
1. take care of big stacks in prologue/epilogue
2. take care of save/tSTRspi nodes, which implicitly fixes
emitThumbRegPlusImmInReg which is used in several frame lowering fns
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D154233
More information about the All-commits
mailing list