- Nov 21, 2005
-
-
Duraid Madina authored
do it. :) <_sabre_> excuses excuses llvm-svn: 24471
-
Chris Lattner authored
asserts. llvm-svn: 24445
-
- Sep 21, 2005
-
-
Chris Lattner authored
llvm-svn: 23400
-
- Aug 30, 2005
-
-
Chris Lattner authored
This fixes PR621 and Regression/CodeGen/X86/2005-08-30-RegAllocAliasProblem.ll llvm-svn: 23158
-
- Aug 24, 2005
-
-
Chris Lattner authored
Use this information to avoid doing expensive interval intersections for registers that could not possible be interesting. This speeds up linscan on ia64 compiling kc++ in release mode from taking 7.82s to 4.8s(!), total itanium llc time on this program is 27.3s now. This marginally speeds up PPC and X86, but they appear to be limited by other parts of linscan, not this code. On this program, on itanium, live intervals now takes 41% of llc time. llvm-svn: 22986
-
- Aug 22, 2005
-
-
Chris Lattner authored
number of regs (e.g. most riscs), many functions won't need to use callee clobbered registers. Do a speculative check to see if we can get a free register without processing the fixed list (which has all of these). This saves a lot of time on machines with lots of callee clobbered regs (e.g. ppc and itanium, also x86). This reduces ppc llc compile time from 184s -> 172s on kc++. This is probably worth FAR FAR more on itanium though. llvm-svn: 22972
-
Chris Lattner authored
we spill out of the fast path. The scan of active_ and the calls to updateSpillWeights don't need to happen unless a spill occurs. This reduces debug llc time of kc++ with ppc from 187.3s to 183.2s. llvm-svn: 22971
-
Chris Lattner authored
add some comments. This loop really needs to be reevaluated! llvm-svn: 22966
-
- Apr 22, 2005
-
-
Misha Brukman authored
llvm-svn: 21420
-
- Jan 23, 2005
-
-
Chris Lattner authored
llvm-svn: 19791
-
- Jan 08, 2005
-
-
Chris Lattner authored
llvm-svn: 19385
-
- Dec 15, 2004
-
-
Chris Lattner authored
llvm-svn: 18955
-
- Dec 07, 2004
-
-
Nate Begeman authored
20%, shaving 0.1s off hbd compile time on my g5. Yay. llvm-svn: 18592
-
- Nov 18, 2004
-
-
Chris Lattner authored
* Do not put fixed registers into the unhandled set. This means they will never find their way into the inactive, active, or handled sets, so we can simplify a bunch of code. llvm-svn: 17945
-
Chris Lattner authored
intersecting an interval. llvm-svn: 17939
-
Chris Lattner authored
search physreg intervals every time we access it. This takes another half second off of linscan. llvm-svn: 17937
-
Chris Lattner authored
the iterator hints we have to speed up overlaps(). This speeds linscan up by about .2s (out of 8.7) on 175.vpr for PPC. llvm-svn: 17935
-
Chris Lattner authored
* Eliminate the releaseMemory method, this is not an analysis * Change the fixed, active, and inactive lists of intervals to maintain an iterator for the current position in the interval. This allows us to do constant time increments of the iterator instead of having to do a binary search to find our liverange in our liveinterval all of the time, which substantially speeds up cases where LiveIntervals have many LiveRanges - which is very common for physical registers. On targets with many physregs, this can make a noticable difference. With a release build of LLC for PPC, this halves the time in processInactiveIntervals and processActiveIntervals, from 1.5s to .75s. This also lays the ground for more to come. llvm-svn: 17933
-
Chris Lattner authored
iterator/begin/end members. llvm-svn: 17930
-
- Nov 05, 2004
-
-
Chris Lattner authored
llvm-svn: 17483
-
- Sep 30, 2004
-
-
Chris Lattner authored
the beginning of processing the next one. llvm-svn: 16605
-
- Sep 03, 2004
-
-
Alkis Evlogimenos authored
Patch contributed by Paolo Invernizzi! llvm-svn: 16152
-
- Sep 02, 2004
-
-
Alkis Evlogimenos authored
free allocatable register, we prefer the a free one with the most uses of inactive intervals. This causes less spills and performes a bit better compared to gcc: Program | GCC/LLC (Before)| GCC/LLC (After) 164.gzip/164.gzip | 0.59 | 0.60 175.vpr/175.vpr | 0.57 | 0.58 176.gcc/176.gcc | 0.59 | 0.61 181.mcf/181.mcf | 0.94 | 0.95 186.crafty/186.crafty | 0.62 | 0.62 197.parser/197.parser | 0.89 | 0.88 252.eon/252.eon | 0.61 | 0.66 253.perlbmk/253.perlbmk | 0.79 | 0.84 254.gap/254.gap | 0.81 | 0.81 255.vortex/255.vortex | 0.92 | 0.93 256.bzip2/256.bzip2 | 0.69 | 0.69 300.twolf/300.twolf | 0.91 | 0.90 llvm-svn: 16147
-
Alkis Evlogimenos authored
stored in a binary heap. llvm-svn: 16143
-
Reid Spencer authored
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
-
Alkis Evlogimenos authored
lists. Instead of scanning the vector backwards, scan it forward and swap each element we want to erase. Then at the end erase all removed intervals at once. This doesn't save much: 0.08s out of 4s when compiling 176.gcc. llvm-svn: 16136
-
- Aug 27, 2004
-
-
Alkis Evlogimenos authored
LiveVariables. llvm-svn: 16076
-
Alkis Evlogimenos authored
investicated further as the linearscan variants don't really need LiveVariables... llvm-svn: 16074
-
Alkis Evlogimenos authored
llvm-svn: 16071
-
- Aug 04, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 15489
-
- Jul 25, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 15200
-
- Jul 24, 2004
-
-
Alkis Evlogimenos authored
LiveInterval>. This saves some space and removes the pointer indirection caused by following the pointer. llvm-svn: 15167
-
Chris Lattner authored
ownership of the intervals. llvm-svn: 15155
-
- Jul 23, 2004
-
-
Chris Lattner authored
llvm-svn: 15135
-
- Jul 22, 2004
-
-
Alkis Evlogimenos authored
compilation of gcc: * Use vectors instead of lists for the intervals sets * Use a heap for the unhandled set to keep intervals always sorted and makes insertions back to the heap very fast (compared to scanning a list) llvm-svn: 15103
-
- Jul 21, 2004
-
-
Brian Gaeke authored
llvm-svn: 15089
-
- Jul 20, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 15011
-
- Jul 19, 2004
-
-
Chris Lattner authored
llvm-svn: 14991
-
Chris Lattner authored
is sorted. This is not the case currently, which is causing no end of problems. llvm-svn: 14990
-
- Jul 04, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 14626
-