llvm-project/llvm/test/CodeGen/Thumb
Lucas Prates 70a5c52534 [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records
Currently the a AAPCS compliant frame record is not always created for
functions when it should. Although a consistent frame record might not
be required in some cases, there are still scenarios where applications
may want to make use of the call hierarchy made available trough it.

In order to enable the use of AAPCS compliant frame records whilst keep
backwards compatibility, this patch introduces a new command-line option
(`-mframe-chain=[none|aapcs|aapcs+leaf]`) for Aarch32 and Thumb backends.
The option allows users to explicitly select when to use it, and is also
useful to ensure the extra overhead introduced by the frame records is
only introduced when necessary, in particular for Thumb targets.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D125094
2022-06-27 14:08:48 +01:00
..
2007-01-31-RegInfoAssert.ll
2007-02-02-JoinIntervalsCrash.ll
2007-05-05-InvalidPushPop.ll
2009-06-18-ThumbCommuteMul.ll
2009-07-20-TwoAddrBug.ll
2009-07-27-PEIAssert.ll
2009-08-12-ConstIslandAssert.ll
2009-08-12-RegInfoAssert.ll
2009-08-20-ISelBug.ll
2009-12-17-pre-regalloc-taildup.ll
2010-06-18-SibCallCrash.ll
2010-07-01-FuncAlign.ll
2010-07-15-debugOrdering.ll OpaquePtr: Update more tests to use typed sret 2020-11-20 20:08:43 -05:00
2011-05-11-DAGLegalizer.ll
2011-06-16-NoGPRs.ll
2011-EpilogueBug.ll
2012-04-26-M0ISelBug.ll
2014-06-10-thumb1-ldst-opt-bug.ll
DbgValueOtherTargets.test
PR17309.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
PR35481.ll [ARM] Change a couple of instances of LiveRegs.contains to !LiveRegs.available 2021-08-10 09:53:26 +01:00
PR36658.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
addr-modes.ll
and_neg.ll
asmprinter-bug.ll
barrier.ll
bic_imm.ll
branchless-cmp.ll
callee_save.ll
cmp-add-fold.ll [ARM] Regenerate some test checks. NFC 2021-03-24 15:34:34 +00:00
cmp-and-fold.ll
cmp-fold.ll [ARM] Regenerate some test checks. NFC 2021-03-24 15:34:34 +00:00
constants.ll
consthoist-few-dependents.ll
consthoist-imm8-costs-1.ll
consthoist-physical-addr.ll
copy_thumb.ll
cortex-m0-unaligned-access.ll
dyn-stackalloc.ll Revert "Allow rematerialization of virtual reg uses" 2021-09-24 10:26:11 -07:00
emergency-spill-slot.ll [TwoAddressInstructionPass] Update existing physreg live intervals 2021-11-05 21:20:30 +00:00
fastcc.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
fpconv.ll
fpow.ll
frame-access.ll [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records 2022-06-27 14:08:48 +01:00
frame-chain-reserved-fp.ll [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records 2022-06-27 14:08:48 +01:00
frame-chain.ll [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records 2022-06-27 14:08:48 +01:00
frame_thumb.ll
high-reg-clobber.mir [clang][ARM] PACBTI-M assembly support 2021-11-30 09:28:18 +00:00
i8-phi-ext.ll
iabs-vector.ll
iabs.ll [SelectionDAG][RISCV][ARM][PowerPC][X86][WebAssembly] Change default abs expansion to use sra (X, size(X)-1); sub (xor (X, Y), Y). 2022-02-20 21:11:23 -08:00
inline-asm-i-constraint-i1.ll
inlineasm-imm-thumb.ll
inlineasm-thumb.ll
ispositive.ll [ARM] Regenerate some test checks. NFC 2021-03-24 15:34:34 +00:00
large-fn-switch.ll
large-stack.ll
ldm-merge-call.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
ldm-merge-struct.ll
ldm-stm-base-materialization-thumb2.ll
ldm-stm-base-materialization.ll
ldm-stm-postinc.ll [ARM] Make sure we don't transform unaligned store to stm on Thumb1. 2021-06-21 14:32:42 -07:00
ldr_ext.ll [ARM] Use lrdsb for more thumb1 loads. 2021-03-17 15:29:02 +00:00
ldr_frame.ll
lit.local.cfg
litpoolremat.ll
long-setcc.ll
long.ll
long_shift.ll
machine-cse-deadreg.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
machine-cse-physreg.mir
mature-mc-support.ll
mul.ll
mvn.ll
opt-phis.mir
optionaldef-scheduling.ll [SelectionDAG][RISCV][ARM][PowerPC][X86][WebAssembly] Change default abs expansion to use sra (X, size(X)-1); sub (xor (X, Y), Y). 2022-02-20 21:11:23 -08:00
peephole-cmp.mir
peephole-mi.mir
pop.ll
pr35836.ll
pr35836_2.ll [TwoAddressInstructionPass] Improve the SrcRegMap and DstRegMap computation 2021-10-11 15:28:31 -07:00
pr42760.ll
push.ll
ragreedy-implicit-def.ll
rev.ll [DAGCombiner] Fix bug in MatchBSwapHWordLow. 2022-05-18 09:23:18 -07:00
scheduler-clone-cpsr-def.ll
segmented-stacks-dynamic.ll
segmented-stacks.ll [ARM] Only update the successor edges for immediate predecessors of PrologueMBB 2022-05-03 12:36:35 +01:00
select.ll
shift-and.ll
sjljehprepare-lower-vector.ll
srem-seteq-illegal-types.ll [ValueTypes] Define MVTs for v128i2/v64i4 as well as i2 and i4. 2022-06-02 00:49:11 +00:00
stack-access.ll
stack-coloring-without-frame-ptr.ll
stack-frame.ll
stack-mis-alignment.ll
stack_guard_remat.ll [CodeGen] Remove unneeded regex escaping in FileCheck patterns. NFC. 2022-02-18 16:10:56 +00:00
stm-deprecated.ll
stm-merge.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
stm-scavenging.ll
tbb-reuse.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
thumb-imm.ll
thumb-ldm.ll
thumb-shrink-wrapping.ll
thumb1-cmp.ll
trap.ll
triple.ll
tst_teq.ll
umulo-32-legalisation-lowering.ll
umulo-128-legalisation-lowering.ll Do not generate calls to the 128-bit function __multi3() on 32-bit ARM 2021-06-11 11:45:21 +01:00
unord.ll
urem-seteq-illegal-types.ll [ARM] Implement target hook function to decide folding (mul (add x, c1), c2) 2021-09-07 15:42:43 +08:00
uxth.ll
vargs.ll