llvm-project/llvm/test/Transforms/SafeStack
Evgeniy Stepanov a5da256f92 StackColoring for SafeStack.
This is a fix for PR27842.

An IR-level implementation of stack coloring tailored to work with
SafeStack. It is a bit weaker than the MI implementation in that it
does not the "lifetime start at first access" logic. This can be
improved in the future.

This patch also replaces the naive implementation of stack frame
layout with a greedy algorithm that can split existing stack slots
and even fit small objects inside the alignment padding of other
objects.

llvm-svn: 274162
2016-06-29 20:37:43 +00:00
..
AArch64 [AArch64] [ARM] Make a target-independent llvm.thread.pointer intrinsic. 2016-04-19 20:51:05 +00:00
ARM [safestack] Make sure the unsafe stack pointer is popped in all cases 2016-02-02 01:03:11 +00:00
X86 [safestack] Add canary to unsafe stack frames 2016-04-11 22:27:48 +00:00
addr-taken.ll
array-aligned.ll [safestack] Sink unsafe address computation to each use. 2016-06-16 22:34:04 +00:00
array.ll [safestack] Sink unsafe address computation to each use. 2016-06-16 22:34:04 +00:00
byval.ll [safestack] Protect byval function arguments. 2015-12-01 00:40:05 +00:00
call.ll [safestack] Rewrite isAllocaSafe using SCEV. 2015-11-13 21:21:42 +00:00
cast.ll [safestack] Rewrite isAllocaSafe using SCEV. 2015-11-13 21:21:42 +00:00
coloring.ll StackColoring for SafeStack. 2016-06-29 20:37:43 +00:00
coloring2.ll StackColoring for SafeStack. 2016-06-29 20:37:43 +00:00
constant-gep-call.ll
constant-gep.ll
constant-geps.ll
debug-loc-dynamic.ll [safestack] Fixup llvm.dbg.value when rewriting unsafe allocas. 2016-06-16 22:34:00 +00:00
debug-loc.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
debug-loc2.ll [safestack] Fixup llvm.dbg.value when rewriting unsafe allocas. 2016-06-16 22:34:00 +00:00
dynamic-alloca.ll [safestack] Make sure the unsafe stack pointer is popped in all cases 2016-02-02 01:03:11 +00:00
escape-addr-pointer.ll
escape-bitcast-store.ll
escape-bitcast-store2.ll
escape-call.ll
escape-casted-pointer.ll
escape-gep-call.ll
escape-gep-invoke.ll
escape-gep-negative.ll
escape-gep-ptrtoint.ll
escape-gep-store.ll
escape-phi-call.ll
escape-select-call.ll
escape-vector.ll
invoke.ll
no-attr.ll
phi-cycle.ll
phi.ll [safestack] Sink unsafe address computation to each use. 2016-06-16 22:34:04 +00:00
ret.ll [safestack] Rewrite isAllocaSafe using SCEV. 2015-11-13 21:21:42 +00:00
setjmp.ll
setjmp2.ll [safestack] Make sure the unsafe stack pointer is popped in all cases 2016-02-02 01:03:11 +00:00
sink-to-use.ll [safestack] Sink unsafe address computation to each use. 2016-06-16 22:34:04 +00:00
store.ll [safestack] Rewrite isAllocaSafe using SCEV. 2015-11-13 21:21:42 +00:00
struct.ll [safestack] Sink unsafe address computation to each use. 2016-06-16 22:34:04 +00:00