- Nov 01, 2010
-
-
Jakob Stoklund Olesen authored
give them individual stack slots once the are actually spilled. llvm-svn: 117945
-
Jakob Stoklund Olesen authored
When an instruction refers to a spill slot with a LiveStacks entry, check that the spill slot is live at the instruction. llvm-svn: 117944
-
Bill Wendling authored
llvm-svn: 117904
-
- Oct 31, 2010
-
-
Eric Christopher authored
llvm-svn: 117879
-
Bill Wendling authored
looks like is happening: Without the peephole optimizer: (1) sub r6, r6, #32 orr r12, r12, lr, lsl r9 orr r2, r2, r3, lsl r10 (x) cmp r6, #0 ldr r9, LCPI2_10 ldr r10, LCPI2_11 (2) sub r8, r8, #32 (a) movge r12, lr, lsr r6 (y) cmp r8, #0 LPC2_10: ldr lr, [pc, r10] (b) movge r2, r3, lsr r8 With the peephole optimizer: ldr r9, LCPI2_10 ldr r10, LCPI2_11 (1*) subs r6, r6, #32 (2*) subs r8, r8, #32 (a*) movge r12, lr, lsr r6 (b*) movge r2, r3, lsr r8 (1) is used by (x) for the conditional move at (a). (2) is used by (y) for the conditional move at (b). After the peephole optimizer, these the flags resulting from (1*) are ignored and only the flags from (2*) are considered for both conditional moves. llvm-svn: 117876
-
Nicolas Geoffray authored
llvm-svn: 117867
-
- Oct 30, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 117765
-
Jakob Stoklund Olesen authored
a basic block. llvm-svn: 117764
-
Jakob Stoklund Olesen authored
elsewhere. llvm-svn: 117763
-
Jakob Stoklund Olesen authored
llvm-svn: 117762
-
Jakob Stoklund Olesen authored
llvm-svn: 117761
-
-
Bob Wilson authored
llvm-svn: 117720
-
- Oct 29, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 117677
-
Evan Cheng authored
operand and one of them has a single use that is a live out copy, favor the one that is live out. Otherwise it will be difficult to eliminate the copy if the instruction is a loop induction variable update. e.g. BB: sub r1, r3, #1 str r0, [r2, r3] mov r3, r1 cmp bne BB => BB: str r0, [r2, r3] sub r3, r3, #1 cmp bne BB This fixed the recent 256.bzip2 regression. llvm-svn: 117675
-
Jakob Stoklund Olesen authored
llvm-svn: 117673
-
Benjamin Kramer authored
llvm-svn: 117671
-
Jakob Stoklund Olesen authored
We don't want unused values forming their own equivalence classes, so we lump them all together in one class, and then merge them with the class of the last used value. llvm-svn: 117670
-
Jakob Stoklund Olesen authored
llvm-svn: 117669
-
John Thompson authored
Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support. llvm-svn: 117667
-
Bill Wendling authored
llvm-svn: 117643
-
Jakob Stoklund Olesen authored
EquvivalenceClasses.h except it looks like overkill when elements are continuous integers. llvm-svn: 117631
-
Jakob Stoklund Olesen authored
multiplicity. llvm-svn: 117630
-
Jakob Stoklund Olesen authored
llvm-svn: 117629
-
Devang Patel authored
llvm-svn: 117615
-
- Oct 28, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 117602
-
Jakob Stoklund Olesen authored
in SSAUpdaterImpl.h Verifying live intervals revealed that the old method was completely wrong, and we need an iterative approach to calculating PHI placemant. Fortunately, we have MachineDominators available, so we don't have to compute that over and over like SSAUpdaterImpl.h must. Live-out values are cached between calls to mapValue() and computed in a greedy way, so most calls will be working with very small block sets. Thanks to Bob for explaining how this should work. llvm-svn: 117599
-
Jakob Stoklund Olesen authored
proper SSA updating. This doesn't cause MachineDominators to be recomputed since we are already requiring MachineLoopInfo which uses dominators as well. llvm-svn: 117598
-
Jakob Stoklund Olesen authored
split. llvm-svn: 117597
-
Devang Patel authored
llvm-svn: 117588
-
Devang Patel authored
llvm-svn: 117563
-
Bob Wilson authored
Also do some minor refactoring to reduce indentation. llvm-svn: 117558
-
Evan Cheng authored
llvm-svn: 117531
-
Evan Cheng authored
llvm-svn: 117520
-
Evan Cheng authored
by the number of defs first for it to match the instruction itinerary. llvm-svn: 117518
-
Evan Cheng authored
Putting r117193 back except for the compile time cost. Rather than assuming fallthroughs uses all registers, just gather the union of all successor liveins. llvm-svn: 117506
-
- Oct 27, 2010
-
-
Michael J. Spencer authored
There are currently 100 references to COFF::IMAGE_SCN in 6 files and 11 different functions. Section to attribute mapping really needs to happen in one place to avoid problems like this. llvm-svn: 117473
-
Michael J. Spencer authored
llvm-svn: 117472
-
Jim Grosbach authored
llvm-svn: 117453
-
Jakob Stoklund Olesen authored
live out. This doesn't prevent us from inserting a loop preheader later on, if that is better. llvm-svn: 117424
-