- Feb 26, 2008
-
-
Bill Wendling authored
llvm-svn: 47629
-
Bill Wendling authored
would have been a Godsend here! llvm-svn: 47625
-
- Feb 20, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 47375
-
- Feb 10, 2008
-
-
Dan Gohman authored
llvm-svn: 46930
-
- Jan 04, 2008
-
-
Bill Wendling authored
preserved. llvm-svn: 45596
-
- Dec 31, 2007
-
-
Chris Lattner authored
that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. llvm-svn: 45467
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Dec 11, 2007
-
-
Evan Cheng authored
llvm-svn: 44838
-
- Nov 17, 2007
-
-
Evan Cheng authored
When a live interval is being spilled, rather than creating short, non-spillable intervals for every def / use, split the interval at BB boundaries. That is, for every BB where the live interval is defined or used, create a new interval that covers all the defs and uses in the BB. This is designed to eliminate one common problem: multiple reloads of the same value in a single basic block. Note, it does *not* decrease the number of spills since no copies are inserted so the split intervals are *connected* through spill and reloads (or rematerialization). The newly created intervals can be spilled again, in that case, since it does not span multiple basic blocks, it's spilled in the usual manner. However, it can reuse the same stack slot as the previously split interval. This is currently controlled by -split-intervals-at-bb. llvm-svn: 44198
-
- Nov 15, 2007
-
-
Bill Wendling authored
llvm-svn: 44154
-
Bill Wendling authored
llvm-svn: 44153
-
- Nov 12, 2007
-
-
Evan Cheng authored
llvm-svn: 44010
-
- Nov 04, 2007
-
-
Evan Cheng authored
If an interval is being undone clear its preference as well since the source interval may have been undone as well. llvm-svn: 43670
-
- Nov 03, 2007
-
-
Evan Cheng authored
can be eliminated by the allocator is the destination and source targets the same register. The most common case is when the source and destination registers are in different class. For example, on x86 mov32to32_ targets GR32_ which contains a subset of the registers in GR32. The allocator can do 2 things: 1. Set the preferred allocation for the destination of a copy to that of its source. 2. After allocation is done, change the allocation of a copy destination (if legal) so the copy can be eliminated. This eliminates 443 extra moves from 403.gcc. llvm-svn: 43662
-
- Oct 17, 2007
-
-
Evan Cheng authored
llvm-svn: 43069
-
Evan Cheng authored
llvm-svn: 43061
-
- Oct 16, 2007
-
-
Evan Cheng authored
llvm-svn: 43043
-
- Oct 12, 2007
-
-
Evan Cheng authored
llvm-svn: 42898
-
- Sep 06, 2007
-
-
David Greene authored
Pluggable coalescers inplementation. llvm-svn: 41743
-
- Aug 14, 2007
-
-
Evan Cheng authored
Re-implement trivial rematerialization. This allows def MIs whose live intervals that are coalesced to be rematerialized. llvm-svn: 41060
-
- Jun 08, 2007
-
-
David Greene authored
simultaneously. Move that pass to SimpleRegisterCoalescing. This makes it easier to implement alternative register allocation and coalescing strategies while maintaining reuse of the existing live interval analysis. llvm-svn: 37520
-
- May 08, 2007
-
-
Bill Wendling authored
certain linkers... llvm-svn: 36944
-
- May 03, 2007
-
-
Devang Patel authored
llvm-svn: 36662
-
- May 02, 2007
-
-
Devang Patel authored
Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
-
- May 01, 2007
-
-
Devang Patel authored
llvm-svn: 36632
-
- Apr 26, 2007
-
-
Evan Cheng authored
llvm-svn: 36452
-
- Apr 25, 2007
-
-
Evan Cheng authored
llvm-svn: 36431
-
- Apr 17, 2007
-
-
Evan Cheng authored
long live interval that has low usage density. 1. Change order of coalescing to join physical registers with virtual registers first before virtual register intervals become too long. 2. Check size and usage density to determine if it's worthwhile to join. 3. If joining is aborted, assign virtual register live interval allocation preference field to the physical register. 4. Register allocator should try to allocate to the preferred register first (if available) to create identify moves that can be eliminated. llvm-svn: 36218
-
- Mar 20, 2007
-
-
Evan Cheng authored
llvm-svn: 35208
-
- Feb 25, 2007
-
-
Evan Cheng authored
llvm-svn: 34593
-
- Feb 19, 2007
-
-
Evan Cheng authored
llvm-svn: 34428
-
Reid Spencer authored
Revert patches that caused the problem. Evan, please investigate and reapply when you've discovered the problem. llvm-svn: 34399
-
- Feb 17, 2007
-
-
Evan Cheng authored
llvm-svn: 34382
-
- Feb 16, 2007
-
-
Evan Cheng authored
llvm-svn: 34342
-
- Dec 19, 2006
-
-
Chris Lattner authored
llvm-svn: 32698
-
- Dec 06, 2006
-
-
Chris Lattner authored
is 'unsigned'. llvm-svn: 32279
-
Chris Lattner authored
llvm-svn: 32251
-
- Dec 02, 2006
-
-
Jeff Cohen authored
llvm-svn: 32113
-
- Nov 17, 2006
-
-
Bill Wendling authored
a #include of iostream. llvm-svn: 31800
-
- Nov 08, 2006
-
-
Jim Laskey authored
llvm-svn: 31561
-