Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-06-28 Thread Duncan Sands
Hi Evan If a livein is not used in the block. It's live through. thanks for doing this. Does this mean that the value in the livein register is available in all blocks reachable from this one? If so, why is propagateEHRegister needed? Or does it mean that the value is available in successor

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-06-28 Thread Evan Cheng
On Jun 28, 2007, at 2:02 AM, Duncan Sands wrote: Hi Evan If a livein is not used in the block. It's live through. thanks for doing this. Does this mean that the value in the livein register is available in all blocks reachable from this one? No. It just means the value is not clobbered

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-06-27 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.249 - 1.250 --- Log message: If a livein is not used in the block. It's live through. --- Diffs of the changes: (+8 -5) LiveIntervalAnalysis.cpp | 13 - 1 files changed, 8 insertions(+), 5 deletions(-)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-06-26 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.248 - 1.249 --- Log message: Fix an obvious bug. Old code only worked for the entry block. --- Diffs of the changes: (+4 -3) LiveIntervalAnalysis.cpp |7 --- 1 files changed, 4 insertions(+), 3 deletions(-)

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp

2007-06-18 Thread Dan Gohman
Is this necessary? ARM is already doing this by marking trivially re- materializable instructions with let isReMaterializable = 1. It's not necessary, but it seems cleaner :-). In the ARM target, other than instructions that are always trivially rematerialiable, there's only LDR, with a

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp

2007-06-18 Thread Evan Cheng
We can eliminate LDRcp, that's fine. However, I still don't like the separate hook and targetinstrinfo bit. Dan, can you have just a single isTriviallyReMaterializable hook that encompass all these? Evan On Jun 18, 2007, at 9:42 AM, Chris Lattner wrote: On Jun 18, 2007, at 7:46 AM, Dan

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp

2007-06-18 Thread Dan Gohman
We can eliminate LDRcp, that's fine. However, I still don't like the separate hook and targetinstrinfo bit. Dan, can you have just a single isTriviallyReMaterializable hook that encompass all these? What do you think about the attached patch? It's not tested yet, but it shows what I

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp

2007-06-18 Thread Dan Gohman
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.247 - 1.248 VirtRegMap.cpp updated: 1.112 - 1.113 --- Log message: Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad with a general target hook to identify rematerializable instructions. Some

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp

2007-06-17 Thread Evan Cheng
Hi Dan, Is this necessary? ARM is already doing this by marking trivially re- materializable instructions with let isReMaterializable = 1. Evan On Jun 14, 2007, at 1:51 PM, Dan Gohman wrote: Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.246 - 1.247

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp

2007-06-14 Thread Dan Gohman
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.246 - 1.247 VirtRegMap.cpp updated: 1.111 - 1.112 --- Log message: Add a target hook to allow loads from constant pools to be rematerialized, and an implementation for x86. --- Diffs of the changes: (+6 -3)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-05-14 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.243 - 1.244 --- Log message: Fix for PR1406: http://llvm.org/PR1406 : v1 = r2 = move v1 = op r2kill ... r2 = move v1 = op r2kill Clear the first r2 kill if v1 and r2 are joined. --- Diffs of the changes: (+35

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-05-14 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.244 - 1.245 --- Log message: Only worry about intervening kill if there are more than one live ranges in the interval. --- Diffs of the changes: (+5 -3) LiveIntervalAnalysis.cpp |8 +--- 1 files changed, 5

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp MachineModuleInfo.cpp

2007-05-02 Thread Lauro Ramos Venancio
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.240 - 1.241 MachineModuleInfo.cpp updated: 1.6 - 1.7 --- Log message: Fix build error. --- Diffs of the changes: (+2 -2) LiveIntervalAnalysis.cpp |2 +- MachineModuleInfo.cpp|2 +- 2 files changed, 2

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp MachineInstr.cpp RegisterScavenging.cpp VirtRegMap.cpp

2007-04-26 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.238 - 1.239 LiveVariables.cpp updated: 1.78 - 1.79 MachineInstr.cpp updated: 1.146 - 1.147 RegisterScavenging.cpp updated: 1.15 - 1.16 VirtRegMap.cpp updated: 1.110 - 1.111 --- Log message: Rename findRegisterUseOperand

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp

2007-04-25 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.237 - 1.238 LiveVariables.cpp updated: 1.73 - 1.74 --- Log message: Fix for PR1306: http://llvm.org/PR1306 . - A register def / use now implicitly affects sub-register liveness but does not affect liveness information

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2007-04-17 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.234 - 1.235 RegAllocLinearScan.cpp updated: 1.142 - 1.143 --- Log message: Copy coalescing change to prevent a physical register from being pin to a long live interval that has low usage density. 1. Change order of

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-04-17 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.235 - 1.236 --- Log message: Don't populate TryAgainList when coalescing only physical registers with virtual registers. --- Diffs of the changes: (+6 -6) LiveIntervalAnalysis.cpp | 12 ++-- 1 files

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp PHIElimination.cpp TwoAddressInstructionPass.cpp

2007-04-17 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.236 - 1.237 LiveVariables.cpp updated: 1.72 - 1.73 PHIElimination.cpp updated: 1.56 - 1.57 TwoAddressInstructionPass.cpp updated: 1.46 - 1.47 --- Log message: VarInfo::UsedBlocks is no longer used. Remove. --- Diffs of

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-04-04 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.232 - 1.233 --- Log message: Trivially re-materializable instructions have spill weights that are half of what it would be otherwise. --- Diffs of the changes: (+6 -6) LiveIntervalAnalysis.cpp | 12 ++--

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.h VirtRegMap.cpp

2007-04-04 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.233 - 1.234 VirtRegMap.h updated: 1.27 - 1.28 VirtRegMap.cpp updated: 1.108 - 1.109 --- Log message: Re-materialize all loads from fixed stack slots. --- Diffs of the changes: (+34 -15) LiveIntervalAnalysis.cpp |

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-04-02 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.231 - 1.232 --- Log message: Ugh. Copy coalescer does not update register numbers. --- Diffs of the changes: (+15 -2) LiveIntervalAnalysis.cpp | 17 +++-- 1 files changed, 15 insertions(+), 2

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-30 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.230 - 1.231 --- Log message: Bug fix for PR1279: http://llvm.org/PR1279 . When isDead is propagate by copy coalescing, we keep length of dead def live interval at 1 to avoid multiple def's targeting the same register.

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp VirtRegMap.cpp VirtRegMap.h

2007-03-30 Thread Chris Lattner
First cut trivial re-materialization support. Woot! unsigned reg = rep(mop.getReg()); mii-getOperand(i).setReg(reg); +// If the definition instruction is re-materializable, its spill +// weight is zero. LiveInterval RegInt

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp VirtRegMap.cpp VirtRegMap.h

2007-03-30 Thread Evan Cheng
On Mar 30, 2007, at 2:44 PM, Chris Lattner wrote: First cut trivial re-materialization support. Woot! unsigned reg = rep(mop.getReg()); mii-getOperand(i).setReg(reg); +// If the definition instruction is re- materializable, its spill +

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp VirtRegMap.cpp VirtRegMap.h

2007-03-30 Thread Chris Lattner
On Mar 30, 2007, at 3:03 PM, Evan Cheng wrote: unsigned reg = rep(mop.getReg()); mii-getOperand(i).setReg(reg); +// If the definition instruction is re- materializable, its spill +// weight is zero. LiveInterval RegInt =

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp VirtRegMap.cpp VirtRegMap.h

2007-03-30 Thread Evan Cheng
On Mar 30, 2007, at 3:09 PM, Chris Lattner wrote: On Mar 30, 2007, at 3:03 PM, Evan Cheng wrote: unsigned reg = rep(mop.getReg()); mii-getOperand(i).setReg(reg); +// If the definition instruction is re- materializable, its spill +//

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp VirtRegMap.cpp VirtRegMap.h

2007-03-30 Thread Chris Lattner
- (mop.isUse() + mop.isDef()) * pow(10.0F, (int) loopDepth); +if (!RegInt.remat) { + RegInt.weight += +(mop.isUse() + mop.isDef()) * pow(10.0F, (int) loopDepth); +} Should it really be zero? It should definitely be lower

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-28 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.229 - 1.230 --- Log message: Move rematerialization out of beta. --- Diffs of the changes: (+1 -7) LiveIntervalAnalysis.cpp |8 +--- 1 files changed, 1 insertion(+), 7 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-27 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.228 - 1.229 --- Log message: Fix for PR1279: http://llvm.org/PR1279 . Dead def has a live interval of length 1. Copy coalescing should not violate that. --- Diffs of the changes: (+5 -3) LiveIntervalAnalysis.cpp |

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-21 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.226 - 1.227 --- Log message: Fix for PR1257: http://llvm.org/PR1257 . Bug in live range shortening as a result of copy coalescing where the destination is dead. --- Diffs of the changes: (+9 -11)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp VirtRegMap.cpp VirtRegMap.h

2007-03-20 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.225 - 1.226 RegAllocLinearScan.cpp updated: 1.141 - 1.142 VirtRegMap.cpp updated: 1.104 - 1.105 VirtRegMap.h updated: 1.26 - 1.27 --- Log message: First cut trivial re-materialization support. --- Diffs of the changes:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-19 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.224 - 1.225 --- Log message: Remove -reduce-joining-phys-regs options. Make it on by default. --- Diffs of the changes: (+1 -3) LiveIntervalAnalysis.cpp |4 +--- 1 files changed, 1 insertion(+), 3 deletions(-)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-18 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.222 - 1.223 --- Log message: - Merge UsedBlocks info after two virtual registers are coalesced. - Use distance to closest use to determine whether to abort coalescing. --- Diffs of the changes: (+30 -23)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-18 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.223 - 1.224 --- Log message: Minor bug fix. --- Diffs of the changes: (+1 -1) LiveIntervalAnalysis.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-17 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.221 - 1.222 --- Log message: Joining a live interval of a physical register with a virtual one can turn out to be really bad. Once they are joined they are not broken apart. Also, physical intervals cannot be spilled!

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-15 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.220 - 1.221 --- Log message: Debugging output stuff. --- Diffs of the changes: (+4 -4) LiveIntervalAnalysis.cpp |8 1 files changed, 4 insertions(+), 4 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-02 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.218 - 1.219 --- Log message: Dead live-in detection bug. --- Diffs of the changes: (+2 -2) LiveIntervalAnalysis.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-03-02 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.219 - 1.220 --- Log message: Watch out for cases like this: entry (0x8b056f0, LLVM BB @0x8b01b30, ID#0): Live Ins: %r0 %r1 %r2 %r3 %reg1032 = tMOVrr %r3kill %reg1033 = tMOVri8 1 %reg1034 =

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-28 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.217 - 1.218 --- Log message: Oops. --- Diffs of the changes: (+0 -1) LiveIntervalAnalysis.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp diff -u

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-26 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.215 - 1.216 --- Log message: Joining an interval with a dead copy instruction. Shorten the live range to the last use. --- Diffs of the changes: (+46 -20) LiveIntervalAnalysis.cpp | 66

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-25 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.213 - 1.214 --- Log message: If the liveinterval of the source instruction has been extended, remove the IsKill marker. --- Diffs of the changes: (+6 -0) LiveIntervalAnalysis.cpp |6 ++ 1 files changed, 6

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-25 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.214 - 1.215 --- Log message: Fix a couple of bugs related IsDead back propagation during coalescing. --- Diffs of the changes: (+10 -5) LiveIntervalAnalysis.cpp | 15 ++- 1 files changed, 10

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-23 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.212 - 1.213 --- Log message: Handle cases when joining live intervals of two virtual registers. --- Diffs of the changes: (+17 -7) LiveIntervalAnalysis.cpp | 24 +--- 1 files changed, 17

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-22 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.211 - 1.212 --- Log message: Remove unnecessary isKill properties if a live range has been lengthened due to coalescing. --- Diffs of the changes: (+24 -1) LiveIntervalAnalysis.cpp | 25 -

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-21 Thread Jim Laskey
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.210 - 1.211 --- Log message: Allow for live in registers for eh landing pads. --- Diffs of the changes: (+6 -5) LiveIntervalAnalysis.cpp | 11 ++- 1 files changed, 6 insertions(+), 5 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-20 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.209 - 1.210 --- Log message: Out of bound reference. --- Diffs of the changes: (+2 -2) LiveIntervalAnalysis.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp MachineBasicBlock.cpp MachineInstr.cpp RegAllocLinearScan.cpp

2007-02-19 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.208 - 1.209 LiveVariables.cpp updated: 1.67 - 1.68 MachineBasicBlock.cpp updated: 1.41 - 1.42 MachineInstr.cpp updated: 1.143 - 1.144 RegAllocLinearScan.cpp updated: 1.139 - 1.140 --- Log message: Re-apply my

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp MachineBasicBlock.cpp MachineInstr.cpp RegAllocLinearScan.cpp

2007-02-18 Thread Reid Spencer
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.207 - 1.208 LiveVariables.cpp updated: 1.66 - 1.67 MachineBasicBlock.cpp updated: 1.40 - 1.41 MachineInstr.cpp updated: 1.142 - 1.143 RegAllocLinearScan.cpp updated: 1.138 - 1.139 --- Log message: For PR1207:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2007-02-17 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.206 - 1.207 --- Log message: - Changes how function livein's are handled, they now have a start index of 0. - When coalescing a copy MI, if its destination is dead, propagate the property to the source MI's

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLocal.cpp

2007-02-14 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.205 - 1.206 RegAllocLocal.cpp updated: 1.100 - 1.101 --- Log message: Use BitVector instead of vectorbool which can be extremely slow. --- Diffs of the changes: (+2 -2) LiveIntervalAnalysis.cpp |2 +-

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp

2007-02-12 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.204 - 1.205 LiveVariables.cpp updated: 1.64 - 1.65 --- Log message: Allow any MachineBasicBlock (not just the entry block) to have live-in physical registers. Make sure liveinterval analysis is correctly creating live

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp

2006-12-06 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.201 - 1.202 VirtRegMap.cpp updated: 1.83 - 1.84 --- Log message: MI keeps a ptr of TargetInstrDescriptor, use it. --- Diffs of the changes: (+5 -3) LiveIntervalAnalysis.cpp |3 ++- VirtRegMap.cpp |

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp TwoAddressInstructionPass.cpp VirtRegMap.cpp

2006-12-01 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.198 - 1.199 TwoAddressInstructionPass.cpp updated: 1.41 - 1.42 VirtRegMap.cpp updated: 1.80 - 1.81 --- Log message: Match TargetInstrInfo changes. --- Diffs of the changes: (+12 -20) LiveIntervalAnalysis.cpp |

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-11-15 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.194 - 1.195 --- Log message: A register def can be partially dead when the whole register has use(s) but a subreg does not. --- Diffs of the changes: (+8 -1) LiveIntervalAnalysis.cpp |9 - 1 files

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-11-15 Thread Bill Wendling
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.195 - 1.196 --- Log message: Added a new method CreateNewLiveInterval which, given a list of LiveRanges, creates a new LiveInterval from them. The LiveRanges should have existed already in another LiveInterval, but

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp MachineInstr.cpp RegAllocLocal.cpp

2006-11-10 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.193 - 1.194 LiveVariables.cpp updated: 1.61 - 1.62 MachineInstr.cpp updated: 1.127 - 1.128 RegAllocLocal.cpp updated: 1.93 - 1.94 --- Log message: Add implicit def / use operands to MachineInstr. --- Diffs of the

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2006-11-08 Thread John Criswell
Dear Mr. Laskey, This change broke the LLVM build on OpenBSD. Would it be possible to use FLT_MAX instead of HUGE_VALF? FLT_MAX from float.h looks more portable. -- John T. Jim Laskey wrote: Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.190 - 1.191

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2006-11-08 Thread Jim Laskey
John,Both are defined on Darwin, FLT_MAX in float.h and HUGE_VALF in math.h.  However, neither header seems to be based on a BSD header.  I choose HUGE_VALF because it was also defined in the LINUX and FREEBSD math.h headers (seemed like confirmation to me.)  I'll wait for Chris to make the call.

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2006-11-08 Thread Jim Laskey
John,Adding declaration to DataTypes.h(.in).Cheers,-- JimOn Nov 8, 2006, at 12:30 PM, Jim Laskey wrote:John,Both are defined on Darwin, FLT_MAX in float.h and HUGE_VALF in math.h.  However, neither header seems to be based on a BSD header.  I choose HUGE_VALF because it was also defined in the

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2006-11-08 Thread Jim Laskey
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.192 - 1.193 RegAllocLinearScan.cpp updated: 1.130 - 1.131 --- Log message: Remove redundant cmath. --- Diffs of the changes: (+0 -2) LiveIntervalAnalysis.cpp |1 - RegAllocLinearScan.cpp |1 - 2 files

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2006-11-08 Thread Bill Wendling
On 11/8/06, Jim Laskey [EMAIL PROTECTED] wrote: John, Both are defined on Darwin, FLT_MAX in float.h and HUGE_VALF in math.h. However, neither header seems to be based on a BSD header. I choose HUGE_VALF because it was also defined in the LINUX and FREEBSD math.h headers (seemed like

Re: [llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2006-11-08 Thread Chris Lattner
On Nov 8, 2006, at 9:24 AM, Bill Wendling wrote: On 11/8/06, Jim Laskey [EMAIL PROTECTED] wrote: John, Both are defined on Darwin, FLT_MAX in float.h and HUGE_VALF in math.h. However, neither header seems to be based on a BSD header. I choose HUGE_VALF because it was also defined in

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp RegAllocLinearScan.cpp

2006-11-07 Thread Jim Laskey
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.190 - 1.191 RegAllocLinearScan.cpp updated: 1.129 - 1.130 --- Log message: Use correct value for float HUGH_VAL. --- Diffs of the changes: (+6 -6) LiveIntervalAnalysis.cpp |8 RegAllocLinearScan.cpp |

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-11-07 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.191 - 1.192 --- Log message: Enable improved spilling costs by default. This speeds up viterbi on x86 by 40%, FreeBench/fourinarow by 20%, and many other programs 10-25%. On PPC, this speeds up fourinarow by 18%, and

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-11-06 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.189 - 1.190 --- Log message: Add a new llcbeta option. This speeds up viterbi from 12.34 to 8.76s on X86. If happy, I'll enable this by default. --- Diffs of the changes: (+19 -4) LiveIntervalAnalysis.cpp | 23

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-11-02 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.188 - 1.189 --- Log message: Proper check for two-addressness. --- Diffs of the changes: (+22 -7) LiveIntervalAnalysis.cpp | 29 ++--- 1 files changed, 22 insertions(+), 7 deletions(-)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-09-14 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.186 - 1.187 --- Log message: Keep track of the start of MBB's in a separate map from instructions. This is faster and is needed for future improvements. --- Diffs of the changes: (+45 -38) LiveIntervalAnalysis.cpp

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-09-03 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.181 - 1.182 --- Log message: minor speedup --- Diffs of the changes: (+3 -3) LiveIntervalAnalysis.cpp |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-09-03 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.182 - 1.183 --- Log message: Avoid beating on the mi2i map when we know the answer already. --- Diffs of the changes: (+19 -12) LiveIntervalAnalysis.cpp | 31 +++ 1 files changed, 19

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-09-01 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.180 - 1.181 --- Log message: Iteration is required for some cases, even if they don't occur in crafty. Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll --- Diffs of the changes: (+24 -13)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-08-30 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.172 - 1.173 --- Log message: Fix a compiler crash bootstrapping llvm-gcc. --- Diffs of the changes: (+6 -2) LiveIntervalAnalysis.cpp |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-08-21 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.164 - 1.165 --- Log message: Print physreg names symbolically in dumps --- Diffs of the changes: (+3 -2) LiveIntervalAnalysis.cpp |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Index:

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-08-21 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.163 - 1.164 --- Log message: Print debug info as: *** Register mapping *** reg 1024 - %reg1028 reg 1026 - EAX reg 1027 - %reg1028 instead of: *** Register mapping *** reg 1024 - reg 1028 reg 1026 - reg 15

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp LiveVariables.cpp RegAllocLocal.cpp RegAllocSimple.cpp VirtRegMap.cpp

2006-07-21 Thread Jim Laskey
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.162 - 1.163 LiveVariables.cpp updated: 1.55 - 1.56 RegAllocLocal.cpp updated: 1.82 - 1.83 RegAllocSimple.cpp updated: 1.69 - 1.70 VirtRegMap.cpp updated: 1.68 - 1.69 --- Log message: Eliminate data relocations by using

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp PHIElimination.cpp Passes.cpp RegAllocLinearScan.cpp RegAllocLocal.cpp RegAllocSimple.cpp TwoAddressInstructionPass.cpp VirtRegMap.cpp

2006-07-20 Thread Andrew Lenharth
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.161 - 1.162 PHIElimination.cpp updated: 1.42 - 1.43 Passes.cpp updated: 1.16 - 1.17 RegAllocLinearScan.cpp updated: 1.124 - 1.125 RegAllocLocal.cpp updated: 1.80 - 1.81 RegAllocSimple.cpp updated: 1.68 - 1.69

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-05-11 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.158 - 1.159 --- Log message: Set weight of zero length intervals to infinite to prevent them from being spilled. --- Diffs of the changes: (+19 -0) LiveIntervalAnalysis.cpp | 19 +++ 1 files

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-05-09 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.157 - 1.158 --- Log message: PR 770: http://llvm.cs.uiuc.edu/PR770 - permit coallescing of registers in subset register classes. --- Diffs of the changes: (+25 -13) LiveIntervalAnalysis.cpp | 38

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp VirtRegMap.cpp VirtRegMap.h

2006-04-30 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.154 - 1.155 VirtRegMap.cpp updated: 1.60 - 1.61 VirtRegMap.h updated: 1.18 - 1.19 --- Log message: Local spiller kills a store if the folded restore is turned into a copy. But this is incorrect if the spilled value live

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp TwoAddressInstructionPass.cpp VirtRegMap.cpp

2006-01-22 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.153 - 1.154 TwoAddressInstructionPass.cpp updated: 1.31 - 1.32 VirtRegMap.cpp updated: 1.43 - 1.44 --- Log message: Add explicit #includes of iostream --- Diffs of the changes: (+3 -0) LiveIntervalAnalysis.cpp

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-01-09 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.152 - 1.153 --- Log message: Minor cleanup, no functionality change for current targets --- Diffs of the changes: (+2 -1) LiveIntervalAnalysis.cpp |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-)

[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

2006-01-02 Thread Chris Lattner
Changes in directory llvm/lib/CodeGen: LiveIntervalAnalysis.cpp updated: 1.151 - 1.152 --- Log message: Change a variable from being an iterator to a raw MachineInstr*, to make GDB use tolerable --- Diffs of the changes: (+12 -12) LiveIntervalAnalysis.cpp | 24