llvm-6502/include/llvm/Transforms
Kostya Serebryany daa1bf3b74 [asan] rewrite asan's stack frame layout
Summary:
Rewrite asan's stack frame layout.
First, most of the stack layout logic is moved into a separte file
to make it more testable and (potentially) useful for other projects.
Second, make the frames more compact by using adaptive redzones
(smaller for small objects, larger for large objects).
Third, try to minimized gaps due to large alignments (this is hypothetical since
today we don't see many stack vars aligned by more than 32).

The frames indeed become more compact, but I'll still need to run more benchmarks
before committing, but I am sking for review now to get early feedback.

This change will be accompanied by a trivial change in compiler-rt tests
to match the new frame sizes.

Reviewers: samsonov, dvyukov

Reviewed By: samsonov

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D2324

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196568 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-06 09:00:17 +00:00
..
IPO Add #pragma vectorize enable/disable to LLVM 2013-12-05 21:20:02 +00:00
Utils [asan] rewrite asan's stack frame layout 2013-12-06 09:00:17 +00:00
Instrumentation.h Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
IPO.h Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
ObjCARC.h Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Scalar.h Add a Scalarizer pass. 2013-11-22 16:58:05 +00:00
Vectorize.h Add #pragma vectorize enable/disable to LLVM 2013-12-05 21:20:02 +00:00