llvm-mirror/lib
Andrew Trick c3cc8fa604 RegAlloc superpass: includes phi elimination, coalescing, and scheduling.
Creates a configurable regalloc pipeline.

Ensure specific llc options do what they say and nothing more: -reglloc=... has no effect other than selecting the allocator pass itself. This patch introduces a new umbrella flag, "-optimize-regalloc", to enable/disable the optimizing regalloc "superpass". This allows for example testing coalscing and scheduling under -O0 or vice-versa.

When a CodeGen pass requires the MachineFunction to have a particular property, we need to explicitly define that property so it can be directly queried rather than naming a specific Pass. For example, to check for SSA, use MRI->isSSA, not addRequired<PHIElimination>.

CodeGen transformation passes are never "required" as an analysis

ProcessImplicitDefs does not require LiveVariables.

We have a plan to massively simplify some of the early passes within the regalloc superpass.

llvm-svn: 150226
2012-02-10 04:10:36 +00:00
..
Analysis Add support for a temporary forward decl type. We want this so we 2012-02-08 00:22:26 +00:00
Archive Avoid using an invalidated iterator. 2012-01-23 05:07:16 +00:00
AsmParser Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Bitcode Enable streaming of bitcode 2012-02-06 22:30:29 +00:00
CodeGen RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
DebugInfo More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
ExecutionEngine Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Linker Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
MC Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Object Object: avoid undefined behavior when bounds-checking 2012-02-04 02:41:39 +00:00
Support Change default error_code ctor to a 'named ctor' so it's more self-documenting. 2012-02-09 19:24:12 +00:00
TableGen Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Target RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
Transforms Tweak comment readability and grammar. 2012-02-09 16:28:15 +00:00
VMCore Added Pass::createPass(ID) to handle pass configuration by ID 2012-02-08 21:22:34 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00