- Aug 24, 2005
-
-
Chris Lattner authored
binary search to test for membership. This speeds up LLC a bit more on KC++, e.g. on itanium from 16.6974s to 14.8272s, PPC from 11.4926s to 10.7089s and X86 from 10.8128s to 9.7943s, with no difference in generated code (like all of the RA patches). With these changes, isel is the slowest pass for PPC/X86, but linscan+live intervals is still > 50% of the compile time for itanium. More work could be done, but this is the last for now. llvm-svn: 22993
-
Chris Lattner authored
llvm-svn: 22992
-
Chris Lattner authored
llvm-svn: 22991
-
Chris Lattner authored
rearrange some of the accessors to be more efficient. This makes it much more efficient to iterate over all of the things with the same value. This speeds up liveintervals analysis from 8.63s to 3.79s with a release build of llc on kc++ with -march=ia64. This also speeds up live var from 1.66s -> 0.87s as well, reducing total llc time from 20.1s->15.2s. This also speeds up other targets slightly, e.g. llc time on X86 from 16.84 -> 16.45s, and PPC from 17.64->17.03s. llvm-svn: 22990
-
Chris Lattner authored
llvm-svn: 22989
-
Chris Lattner authored
llvm-svn: 22988
-
Chris Lattner authored
llvm-svn: 22987
-
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 23, 2005
-
-
Chris Lattner authored
llvm-svn: 22985
-
Chris Lattner authored
x%y for 'rem' on fp values. llvm-svn: 22984
-
Chris Lattner authored
llvm-svn: 22983
-
Chris Lattner authored
llvm-svn: 22982
-
Nate Begeman authored
llvm-svn: 22981
-
Nate Begeman authored
llvm-svn: 22979
-
Nate Begeman authored
either seteq X, 0 or srl (ctlz X), size(X-1), depending on what's legal for the target. llvm-svn: 22978
-
Nate Begeman authored
llvm-svn: 22977
-
Nate Begeman authored
llvm-svn: 22976
-
Chris Lattner authored
llvm-svn: 22975
-
Chris Lattner authored
in the asmprinter. This changes the .td files to use lower case register names, avoiding the need to do this call. This speeds up the asmprinter from 1.52s to 1.06s on kc++ in a release build. llvm-svn: 22974
-
- Aug 22, 2005
-
-
Chris Lattner authored
It used to crash on any function that took float arguments. llvm-svn: 22973
-
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
llvm-svn: 22970
-
Chris Lattner authored
promoted to the right type. This fixes: IA64/2005-08-22-LegalizerCrash.ll llvm-svn: 22969
-
Chris Lattner authored
llvm-svn: 22968
-
Chris Lattner authored
llvm-svn: 22967
-
Chris Lattner authored
add some comments. This loop really needs to be reevaluated! llvm-svn: 22966
-
Chris Lattner authored
llvm-svn: 22965
-
Chris Lattner authored
llvm-svn: 22964
-
Chris Lattner authored
llvm-svn: 22963
-
Chris Lattner authored
allowing us to compile this: float %test2(float* %P) { %Q = load float* %P %R = add float %Q, 10.1 ret float %R } to this: _test2: lfs r2, 0(r3) lis r3, ha16(.CPI_test2_0) lfs r3, lo16(.CPI_test2_0)(r3) fadds f1, r2, r3 blr llvm-svn: 22962
-
Chris Lattner authored
float %test2(float* %P) { %Q = load float* %P %R = add float %Q, %Q ret float %R } By returning the right result. llvm-svn: 22961
-
Chris Lattner authored
Make sure expressions only have one use before emitting them into a place that is conditionally executed llvm-svn: 22960
-
Chris Lattner authored
llvm-svn: 22959
-
Chris Lattner authored
llvm-svn: 22958
-
Chris Lattner authored
llvm-svn: 22957
-
- Aug 21, 2005
-
-
Chris Lattner authored
llvm-svn: 22956
-
Chris Lattner authored
llvm-svn: 22955
-
Chris Lattner authored
llvm-svn: 22954
-
Chris Lattner authored
llvm-svn: 22953
-