llvm-6502/include/llvm/Transforms/Utils
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
..
ASanStackFrameLayout.h [asan] rewrite asan's stack frame layout 2013-12-06 09:00:17 +00:00
BasicBlockUtils.h Factor FlattenCFG out from SimplifyCFG 2013-08-06 02:43:45 +00:00
BuildLibCalls.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
BypassSlowDivision.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Cloning.h Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00
CmpInstAnalysis.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CodeExtractor.h Remove excess semi-colons to quiet warnings. 2012-05-08 20:45:04 +00:00
GlobalStatus.h Optimize more linkonce_odr values during LTO. 2013-10-21 17:14:55 +00:00
IntegerDivision.h Add support for software expansion of 64-bit integer division instructions. 2013-11-19 06:54:19 +00:00
Local.h Fix assert with GEP ptr vector indexing structs 2013-08-19 21:43:16 +00:00
LoopUtils.h Rename LoopSimplify.h to LoopUtils.h 2013-05-20 20:46:30 +00:00
ModuleUtils.h Respect llvm.used in Internalize. 2013-07-25 03:23:25 +00:00
PromoteMemToReg.h Revert r187191, which broke opt -mem2reg on the testcases included in PR16867. 2013-08-13 22:51:58 +00:00
SimplifyIndVar.h Remove unused declaration 2012-09-11 00:39:12 +00:00
SimplifyLibCalls.h instcombine: Migrate math library call simplifications 2012-11-13 04:16:17 +00:00
SpecialCaseList.h Add forgotten header guards 2013-12-05 12:52:32 +00:00
SSAUpdater.h Update comments for SSAUpdater to use the modern doxygen comment 2013-07-28 22:00:33 +00:00
SSAUpdaterImpl.h Fix SSAUpdaterImpl's RecordMatchingPHI to record exactly the 2012-02-03 01:07:01 +00:00
UnifyFunctionExitNodes.h Fix "existant" typos 2013-10-29 02:35:28 +00:00
UnrollLoop.h Add -unroll-runtime for unrolling loops with run-time trip counts. 2011-12-09 06:19:40 +00:00
ValueMapper.h Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00