llvm-project/llvm/test
James Y Knight 2e64b8b79e [Sparc] Don't overlap variable-sized allocas with other stack variables.
On SparcV8, it was previously the case that a variable-sized alloca
might overlap by 4-bytes the last fixed stack variable, effectively
because 92 (the number of bytes reserved for the register spill area) !=
96 (the offset added to SP for where to start a DYNAMIC_STACKALLOC).

It's not as simple as changing 96 to 92, because variables that should
be 8-byte aligned would then be misaligned.

For now, simply increase the allocation size by 8 bytes for each dynamic
allocation -- wastes space, but at least doesn't overlap. As the large
comment says, doing this more efficiently will require larger changes in
llvm.

Also adds some test cases showing that we continue to not support
dynamic stack allocation and over-alignment in the same function.

llvm-svn: 285131
2016-10-25 22:13:28 +00:00
..
Analysis Fix regression from my recent GlobalsAA fix. 2016-10-24 21:47:44 +00:00
Assembler DebugInfo: preparation to implement DW_AT_alignment 2016-10-20 00:13:12 +00:00
Bindings
Bitcode DebugInfo: remove broken bitcode upgrade test 2016-10-20 00:26:36 +00:00
BugPoint Add -strip-nonlinetable-debuginfo capability 2016-10-25 18:44:13 +00:00
CodeGen [Sparc] Don't overlap variable-sized allocas with other stack variables. 2016-10-25 22:13:28 +00:00
DebugInfo [codeview] support emitting indirect virtual base class information 2016-10-25 22:11:52 +00:00
Demangle
Examples
ExecutionEngine Fix PREL31 relocation on ARM 2016-10-20 21:15:29 +00:00
Feature
FileCheck
Instrumentation [asan] Append line number to variable name if line is available and in the same file as the function. 2016-10-18 23:29:41 +00:00
Integer
JitListener
LTO LTO: Use the correct mangler function in LTOCodeGenerator::applyScopeRestrictions(). 2016-10-12 20:12:19 +00:00
LibDriver
Linker Fix autoupgrade logic for Objective-C class properties module flag 2016-09-16 00:38:18 +00:00
MC [MC] Fix Various End Of Line Comment checkings 2016-10-24 14:35:29 +00:00
Object nother additional error check for an invalid Mach-O file 2016-10-24 21:15:11 +00:00
ObjectYAML
Other [PM] Port CFGViewer and CFGPrinter to the new Pass Manager 2016-09-15 18:35:27 +00:00
SymbolRewriter
TableGen
ThinLTO/X86 [ThinLTO] Don't link module level assembly when importing 2016-10-12 18:39:29 +00:00
Transforms [PGO] Fix select instruction annotation 2016-10-25 21:47:24 +00:00
Unit
Verifier Verifier: Reject any unknown named MD nodes in the llvm.dbg namespace. 2016-10-05 22:15:37 +00:00
YAMLParser
tools [llvm-cov] Add support for loading coverage from multiple objects 2016-10-25 17:40:55 +00:00
.clang-format
CMakeLists.txt Add an llvm-opt-report tool to generate basic source-annotated optimization summaries 2016-10-05 22:10:35 +00:00
TestRunner.sh
lit.cfg cmake: Install the OCaml libraries into a more correct path 2016-09-30 18:34:23 +00:00
lit.site.cfg.in