llvm-mirror/lib
Jakob Stoklund Olesen 7b1480ff12 Add the SpillPlacement analysis pass.
This pass precomputes CFG block frequency information that can be used by the
register allocator to find optimal spill code placement.

Given an interference pattern, placeSpills() will compute which basic blocks
should have the current variable enter or exit in a register, and which blocks
prefer the stack.

The algorithm is ready to consume block frequencies from profiling data, but for
now it gets by with the static estimates used for spill weights.

This is a work in progress and still not hooked up to RegAllocGreedy.

llvm-svn: 122938
2011-01-06 01:21:53 +00:00
..
Analysis Reorder, rename, and document some members to make this easier to follow. 2011-01-05 23:26:22 +00:00
Archive MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
AsmParser Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
Bitcode Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
CodeGen Add the SpillPlacement analysis pass. 2011-01-06 01:21:53 +00:00
CompilerDriver Support/PathV1: Deprecate get{Basename,Dirname,Suffix}. 2010-12-18 22:23:07 +00:00
ExecutionEngine Remove unneeded zero arrays. 2010-12-04 15:28:22 +00:00
Linker include the module identifier when emitting this warning, PR8865. 2010-12-30 02:49:45 +00:00
MC Fix PR8878. 2011-01-01 19:05:35 +00:00
Object Fix mismatched new[]/delete. 2010-12-17 09:56:50 +00:00
Support Support/PathV2: Implement remove_all. 2011-01-05 16:39:38 +00:00
Target PR8919 - LLVM incorrectly generates "_alloca" as the stack probing call. That 2011-01-06 00:50:34 +00:00
Transforms Stop reallocating SunkAddrs for each basic block. When we move to an instruction 2011-01-06 00:42:50 +00:00
VMCore Silence a warning from non-standard warning avoidance code. 2011-01-05 21:50:21 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00