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
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
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(-)
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(-)
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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 ++--
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 |
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
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.
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
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
+
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 =
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
+//
- (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
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:
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 |
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)
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:
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(-)
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)
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
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!
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:
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:
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 =
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
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
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
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
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
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 -
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:
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:
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
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:
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
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 +-
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
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 |
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 |
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
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
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
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
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.
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
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
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
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
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 |
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
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
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(-)
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
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:
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
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)
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:
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:
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
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
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
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
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
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
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
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(-)
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
81 matches
Mail list logo