llvm-6502/lib
Jakob Stoklund Olesen 35071a0847 Disable physical register coalescing when the number of live ranges for the
physreg becomes ridiculously high.

std::upper_bound may be log(N), but for sufficiently large live intervals, it
becomes log(N)*cachemiss = a long long time.

This patch improves coalescer time by 4500x for a function with 20000
function calls. The generated code is different, but not significantly worse -
the allocator hints are almost as good as physreg coalescing anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:59:48 +00:00
..
Analysis Start using DIFile. See updated SourceLevelDebugging.html for more information. 2010-03-09 00:44:10 +00:00
Archive From PR6228: 2010-02-04 06:19:43 +00:00
AsmParser Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
Bitcode Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options. 2010-03-06 00:30:06 +00:00
CodeGen Disable physical register coalescing when the number of live ranges for the 2010-03-09 00:59:48 +00:00
CompilerDriver Use FindExecutable as a fall-back search method. 2010-03-05 04:46:28 +00:00
ExecutionEngine Fix PR6360. It's easy for a stub's address to escape to user code, so we can't 2010-03-04 19:45:09 +00:00
Linker Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move some 2010-02-16 14:50:09 +00:00
MC add a EmitSymbolValue convenience method to MCStreamer. 2010-03-09 00:39:24 +00:00
Support make APFloat::toString be const. 2010-03-06 19:20:13 +00:00
System follow-on to PR6280 2010-02-14 18:20:09 +00:00
Target Print blank line and clear stubs vector. 2010-03-09 00:43:34 +00:00
Transforms Re-commit 97860 with fix. getMallocAllocatedType may return null. 2010-03-08 22:54:36 +00:00
VMCore Roll back r97918 again. Just configuring against llvm-gcc wasn't enough to run 2010-03-07 19:26:40 +00:00
Makefile