- Sep 05, 2006
-
-
Chris Lattner authored
actually *removes* one of the operands, instead of just assigning both operands the same register. This make reasoning about instructions unnecessarily complex, because you need to know if you are before or after register allocation to match up operand #'s with the target description file. Changing this also gets rid of a bunch of hacky code in various places. This patch also includes changes to fold loads into cmp/test instructions in the X86 backend, along with a significant simplification to the X86 spill folding code. llvm-svn: 30108
-
- Sep 04, 2006
-
-
Chris Lattner authored
llvm-svn: 30099
-
Chris Lattner authored
llvm-svn: 30098
-
- Sep 03, 2006
-
-
Chris Lattner authored
llvm-svn: 30066
-
Chris Lattner authored
llvm-svn: 30065
-
- Sep 02, 2006
-
-
Chris Lattner authored
Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll llvm-svn: 30050
-
Chris Lattner authored
method for joining the live ranges instead of the fully-general one. llvm-svn: 30049
-
- Sep 01, 2006
-
-
Chris Lattner authored
need recursion. llvm-svn: 30015
-
Chris Lattner authored
analysis 16% on crafty. Wrap long lines. llvm-svn: 30012
-
Chris Lattner authored
crafty with and without it). Removing it speeds up live intervals 6%. llvm-svn: 30010
-
- Aug 31, 2006
-
-
Chris Lattner authored
llvm-svn: 29996
-
Chris Lattner authored
llvm-svn: 29995
-
Chris Lattner authored
llvm-svn: 29994
-
Chris Lattner authored
llvm-svn: 29989
-
- Aug 30, 2006
-
-
Chris Lattner authored
number of copies, potentially defining live ranges that appear to have differing value numbers that become identical when coallsced. Among other things, this fixes CodeGen/X86/shift-coalesce.ll and PR687. llvm-svn: 29968
-
- Aug 28, 2006
-
-
Chris Lattner authored
llvm-svn: 29921
-
- Aug 27, 2006
-
-
Chris Lattner authored
llvm-svn: 29910
-
- Aug 26, 2006
-
-
Chris Lattner authored
llvm-svn: 29896
-
Chris Lattner authored
paves the way for future changes, increases coallescing opportunities (in theory, not witnessed in practice), and eliminates the really expensive LiveIntervals::overlapsAliases method. llvm-svn: 29890
-
- Aug 25, 2006
-
-
Chris Lattner authored
instructions which define each value#) to simplify and improve the coallescer. In particular, this patch: 1. Implements iterative coallescing. 2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a better solution. 3. Implements PR865, "coallescing" away the second copy in code like: A = B ... B = A This also includes changes to symbolically print registers in intervals when possible. llvm-svn: 29862
-
- Aug 22, 2006
-
-
Chris Lattner authored
defines each value# tracked by the interval. This will be used to improve coallescing. llvm-svn: 29830
-
Chris Lattner authored
llvm-svn: 29805
-
Chris Lattner authored
*** Register mapping *** reg 1024 -> %reg1028 reg 1026 -> EAX reg 1027 -> %reg1028 instead of: *** Register mapping *** reg 1024 -> reg 1028 reg 1026 -> reg 15 reg 1027 -> reg 1028 llvm-svn: 29803
-
- Jul 21, 2006
-
-
Jim Laskey authored
llvm-svn: 29250
-
- Jul 20, 2006
-
-
Andrew Lenharth authored
llvm-svn: 29220
-
- May 24, 2006
-
-
Chris Lattner authored
by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447
-
- May 12, 2006
-
-
Evan Cheng authored
llvm-svn: 28236
-
- May 11, 2006
-
-
Evan Cheng authored
spilled. llvm-svn: 28220
-
- May 09, 2006
-
-
Evan Cheng authored
llvm-svn: 28197
-
- May 04, 2006
-
-
Chris Lattner authored
llvm-svn: 28102
-
- May 01, 2006
-
-
Chris Lattner authored
llvm-svn: 28039
-
- Apr 30, 2006
-
-
Evan Cheng authored
But this is incorrect if the spilled value live range extends beyond the current BB. It is currently controlled by a temporary option -spiller-check-liveout. llvm-svn: 28024
-
- Jan 23, 2006
-
-
Chris Lattner authored
llvm-svn: 25515
-
- Jan 10, 2006
-
-
Chris Lattner authored
llvm-svn: 25173
-
- Jan 03, 2006
-
-
Chris Lattner authored
GDB use tolerable llvm-svn: 25064
-
- Oct 26, 2005
-
-
Chris Lattner authored
llvm-svn: 24019
-
- Oct 21, 2005
-
-
Chris Lattner authored
For example, we can now join things like [0-30:0)[31-40:1)[52-59:2) with [40:60:0) if the 52-59 range is defined by a copy from the 40-60 range. The resultant range ends up being [0-30:0)[31-60:1). This fires a lot through-out the test suite (e.g. shrinking bc from 19492 -> 18509 machineinstrs) though most gains are smaller (e.g. about 50 copies eliminated from crafty). llvm-svn: 23866
-
- Sep 21, 2005
-
-
Chris Lattner authored
llvm-svn: 23400
-
- Sep 09, 2005
-
-
Chris Lattner authored
llvm-svn: 23294
-
Chris Lattner authored
only add a reload live range once for the instruction. This is one step towards fixing a regalloc pessimization that Nate notice, but is later undone by the spiller (so no code is changed). llvm-svn: 23293
-