- Feb 06, 2004
-
-
Alkis Evlogimenos authored
of the virtual register to certain functions. llvm-svn: 11143
-
- Feb 04, 2004
-
-
Alkis Evlogimenos authored
operand of the instruction and thus simplify the register allocation. llvm-svn: 11124
-
- Feb 03, 2004
-
-
Alkis Evlogimenos authored
spilled, A was loaded from its stack location twice. This fixes the bug. llvm-svn: 11093
-
- Feb 02, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11088
-
Alkis Evlogimenos authored
much better when I get rid of the reserved registers. llvm-svn: 11066
-
- Feb 01, 2004
-
-
Alkis Evlogimenos authored
registers (not as the max number of registers). Change toSpill from a std::set into a std::vector<bool>. Use the reverse iterator adapter to do a reverse scan of allocatable registers. llvm-svn: 11061
-
Alkis Evlogimenos authored
where appropriate. llvm-svn: 11060
-
Alkis Evlogimenos authored
MRegisterInfo::isVirtualRegister. llvm-svn: 11045
-
- Jan 23, 2004
-
-
Alkis Evlogimenos authored
is a move between two registers, at least one of the registers is virtual and the two live intervals do not overlap. This results in about 40% reduction in intervals, 30% decrease in the register allocators running time and a 20% increase in peephole optimizations (mainly move eliminations). The option can be enabled by passing -join-liveintervals where appropriate. llvm-svn: 10965
-
- Jan 22, 2004
-
-
Alkis Evlogimenos authored
with the current one. llvm-svn: 10959
-
Alkis Evlogimenos authored
virtReg lives on the stack. Now a virtual register has an entry in the virtual->physical map or the virtual->stack slot map but never in both. llvm-svn: 10958
-
- Jan 16, 2004
-
-
Alkis Evlogimenos authored
register yet (2nd try). llvm-svn: 10896
-
Alkis Evlogimenos authored
register yet. llvm-svn: 10895
-
Alkis Evlogimenos authored
LiveIntervals::Interval::expiredAt() and simplify regalloc code. llvm-svn: 10894
-
- Jan 14, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 10834
-
- Jan 13, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 10820
-
Alkis Evlogimenos authored
overlap before adding their spill weight. llvm-svn: 10819
-
- Jan 07, 2004
-
-
Alkis Evlogimenos authored
of the register allocator as follows: before after mesa 2.3790 1.5994 vpr 2.6008 1.2078 gcc 1.9840 0.5273 mcf 0.2569 0.0470 eon 1.8468 1.4359 twolf 0.9475 0.2004 burg 1.6807 1.3300 lambda 1.2191 0.3764 Speedups range anyware from 30% to over 400% :-) llvm-svn: 10712
-
Alkis Evlogimenos authored
llvm-svn: 10711
-
Alkis Evlogimenos authored
llvm-svn: 10710
-
- Jan 05, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 10695
-
- Dec 28, 2003
-
-
Alkis Evlogimenos authored
saved register it has a longer free range than ECX (which is defined every time there is a fnuction call) which makes ECX a better register to reserve. llvm-svn: 10635
-
Alkis Evlogimenos authored
which denotes the register we would like to be assigned to (virtual or physical). In register allocation, if this hint exists and we can map it to a physical register (it is either a physical register or it is a virtual register that already got assigned to a physical one) we use that register if it is available instead of a random one in the free pool. llvm-svn: 10634
-
- Dec 24, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10604
-
- Dec 23, 2003
-
-
Alkis Evlogimenos authored
allocation in the presence of preallocated intervals. llvm-svn: 10595
-
- Dec 21, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10570
-
Alkis Evlogimenos authored
nesting level when computing it. Right now the allocator uses: w = sum_over_defs_uses( 10 ^ nesting level ); llvm-svn: 10569
-
Alkis Evlogimenos authored
for live ranges that fall into assigned registers' holes. llvm-svn: 10566
-
- Dec 18, 2003
-
-
Chris Lattner authored
Add a statistic for # reloads llvm-svn: 10518
-
Alkis Evlogimenos authored
instruction pass. This also fixes all remaining bugs for this new allocator to pass all tests under test/Programs. llvm-svn: 10515
-
Alkis Evlogimenos authored
are not reserved registers. llvm-svn: 10514
-
Alkis Evlogimenos authored
llvm-svn: 10511
-
- Dec 14, 2003
-
-
Alkis Evlogimenos authored
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. llvm-svn: 10461
-
- Dec 13, 2003
-
-
Alkis Evlogimenos authored
register too. llvm-svn: 10450
-
Alkis Evlogimenos authored
llvm-svn: 10448
-
Alkis Evlogimenos authored
llvm-svn: 10447
-
- Dec 05, 2003
-
-
Alkis Evlogimenos authored
potential register assignment. llvm-svn: 10291
-
- Dec 04, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10288
-
- Dec 01, 2003
-
-
Alkis Evlogimenos authored
bug where spill instructions were added to the next basic block instead of the end of the current one if the instruction that required the spill was the last in the block. llvm-svn: 10272
-
- Nov 30, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10268
-