llvm-6502/lib
Quentin Colombet 230bb1b426 [RegAllocGreedy] Provide a flag to disable the local reassignment heuristic.
By default, no functionality change.

Before evicting a local variable, this heuristic tries to find another (set of)
local(s) that can be reassigned to a free color.

In some extreme cases (large basic blocks with tons of local variables), the
compilation time is dominated by the local interference checks that this
heuristic must perform, with no code gen gain.
E.g., the motivating example takes 4 minutes to compile with this heuristic, 12
seconds without.

Improving the situation will likely require to make drastic changes to the
register allocator and/or the interference check framework.

For now, provide this flag to better understand the impact of that heuristic.

<rdar://problem/17444599>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212099 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-01 14:08:37 +00:00
..
Analysis Suppress inlining when the block address is taken 2014-07-01 00:19:34 +00:00
AsmParser IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
Bitcode IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
CodeGen [RegAllocGreedy] Provide a flag to disable the local reassignment heuristic. 2014-07-01 14:08:37 +00:00
DebugInfo Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
ExecutionEngine ExecutionEngine::create(): fix interpreter fallback when JIT is unavailable 2014-07-01 03:18:49 +00:00
IR Revert "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself." 2014-07-01 04:11:45 +00:00
IRReader IRReader: don't mark MemoryBuffers const 2014-06-27 09:19:14 +00:00
LineEditor
Linker Include <tuple> to make buildbots happy 2014-06-27 18:38:12 +00:00
LTO Use a range loop. No functionality change. 2014-06-28 18:44:59 +00:00
MC Fix .seh_stackalloc 0 2014-07-01 00:42:47 +00:00
Object Speculatively fix some code handling Power64 MachO files 2014-06-30 20:12:59 +00:00
Option Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
ProfileData Renaming SwapByteOrder() to getSwappedBytes() 2014-06-14 11:36:01 +00:00
Support Remove obsolete function TargetRegistry::getClosestTargetForJIT() 2014-07-01 10:47:13 +00:00
TableGen Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
Target Fix .seh_stackalloc 0 2014-07-01 00:42:47 +00:00
Transforms GlobalOpt: Handle non-zero offsets for aliases 2014-07-01 00:30:56 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile