llvm/test/DebugInfo
Geoff Berry b3b95be2f2 [AArch64] Combine callee-save and local stack SP adjustment instructions.
Summary:
If a function needs to allocate both callee-save stack memory and local
stack memory, we currently decrement/increment the SP in two steps:
first for the callee-save area, and then for the local stack area.  This
changes the code to allocate them both at once at the very beginning/end
of the function.  This has two benefits:

1) there is one fewer sub/add micro-op in the prologue/epilogue

2) the stack adjustment instructions act as a scheduling barrier, so
moving them to the very beginning/end of the function increases post-RA
scheduler's ability to move instructions (that only depend on argument
registers) before any of the callee-save stores

This change can cause an increase in instructions if the original local
stack SP decrement could be folded into the first store to the stack.
This occurs when the first local stack store is to stack offset 0.  In
this case we are trading off one more sub instruction for one fewer sub
micro-op (along with benefits (2) and (3) above).

Reviewers: t.p.northover

Subscribers: aemerson, rengolin, mcrosier, llvm-commits

Differential Revision: http://reviews.llvm.org/D18619

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268746 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-06 16:34:59 +00:00
..
AArch64 [AArch64] Combine callee-save and local stack SP adjustment instructions. 2016-05-06 16:34:59 +00:00
ARM Debug Info: Restore the pre-r240853 behavior for DWARF2 bitfields. 2016-04-28 15:37:52 +00:00
COFF [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
Generic Moved test case for r268323 to DebugInfo/X86 to unbreak aarch64. 2016-05-03 00:22:09 +00:00
Inputs llvm-symbolizer: Avoid infinite recursion walking dwos where the dwo contains a dwo_name attribute 2016-04-22 22:50:56 +00:00
Lanai [lanai] Add Lanai backend. 2016-03-28 13:09:54 +00:00
Mips [mips][ias] Only round section sizes when explicitly requested. 2016-05-04 13:21:06 +00:00
MIR [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
PDB Reland "Use ScopedPrinter in llvm-pdbdump" 2016-05-04 16:09:04 +00:00
PowerPC [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
Sparc [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
SystemZ [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
X86 Moved test case for r268323 to DebugInfo/X86 to unbreak aarch64. 2016-05-03 00:22:09 +00:00
arm-relocs.test Add support for the R_ARM_ABS32 relocation. 2014-04-03 02:27:00 +00:00
debuglineinfo-macho.test [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
debuglineinfo.test [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
debugmacinfo.test Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
dwarfdump-64-bit-dwarf.test DebugInfo: .debug_line DWARF64 support 2015-05-28 15:38:17 +00:00
dwarfdump-accel.test Fix a bunch of trivial cases of 'CHECK[^:]*$' in the tests. NFCI 2015-08-10 19:01:27 +00:00
dwarfdump-debug-frame-simple.test [dwarfdump] Make debug_frame dump actually useful. 2015-02-25 21:30:22 +00:00
dwarfdump-debug-loc-simple.test Spell correct (s/begining/beginning/) 2013-06-19 21:42:05 +00:00
dwarfdump-dump-flags.test [dwarfdump] Ignore scattered relocations for mach-o. 2015-07-31 20:22:50 +00:00
dwarfdump-dwp.test dwarfdump: Correctly indentify the indicies for DWP records 2015-12-03 18:41:59 +00:00
dwarfdump-invalid.test Make llvm-dwarfdump exit with non-zero exit code if error was occured. 2015-06-25 23:40:15 +00:00
dwarfdump-line-dwo.test llvm-dwarfdump: Support for debug_line.dwo section for file names for type units under fission. 2014-02-24 23:58:54 +00:00
dwarfdump-macho-relocs.test [dwarfdump] Do not apply relocations in mach-o files if there is no LoadedObjectInfo. 2015-08-23 04:44:21 +00:00
dwarfdump-macho-universal.test Don't use test inputs from other directories. 2015-08-03 11:59:45 +00:00
dwarfdump-objc.test [dwarfdump] Prettyprint DW_AT_APPLE_property_attribute bitfield values. 2014-10-10 15:51:10 +00:00
dwarfdump-pubnames.test DebugInfo: Make pubnames header printing similar to unit header printing 2013-11-01 17:53:30 +00:00
dwarfdump-ranges.test [dwarfdump] Dump DW_AT_ranges values inline in the debug_info dump. 2014-10-23 04:08:34 +00:00
dwarfdump-type-units.test llvm-dwarfdump: support for emitting only the debug_types section using -debug-dump 2013-11-19 00:29:42 +00:00
dwarfdump-zlib.test Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer for that. 2014-05-19 18:45:32 +00:00
dwo.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
llvm-symbolizer-split-dwarf-empty.test Use %T instead of cd'ing to Output directly. 2016-04-23 11:01:36 +00:00
llvm-symbolizer-zlib.test Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer for that. 2014-05-19 18:45:32 +00:00
llvm-symbolizer.test llvm-symbolizer: prefer .dwo contents over fission-gmlt-like-data when .dwo file is present 2016-04-22 21:32:59 +00:00
member-pointers.o Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
missing-abstract-variable.o Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
skeletoncu.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00