- Feb 12, 2009
-
-
Evan Cheng authored
It's (currently) not safe to keep certain physical registers live across basic blocks, e.g. x86 fp stack registers. llvm-svn: 64374
-
Evan Cheng authored
If availability info is kept when fallthrough into a bb, add the available registers to live-in set. llvm-svn: 64372
-
Evan Cheng authored
Remove a bogus assertion. It's possible a live-in available value is used by a previous instruction. llvm-svn: 64339
-
- Feb 11, 2009
-
-
Evan Cheng authored
Implement PR3495: local spiller optimization. The local spiller can now keep availability information over BB boundaries. It visits BB's in depth first order. After visiting a BB if it find a successor which has a single predecessor it visits the successor next without clearing the availability information. This allows the successor to omit reloads or change them into copies. llvm-svn: 64298
-
- Feb 03, 2009
-
-
Bill Wendling authored
llvm-svn: 63599
-
- Jan 20, 2009
-
-
Evan Cheng authored
llvm-svn: 62600
-
- Dec 02, 2008
-
-
Evan Cheng authored
llvm-svn: 60392
-
- Oct 17, 2008
-
-
Evan Cheng authored
Patch by Lang Hames! llvm-svn: 57720
-
Evan Cheng authored
llvm-svn: 57673
-
- Oct 14, 2008
-
-
Dan Gohman authored
instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
-
- Oct 06, 2008
-
-
Dan Gohman authored
ENABLE_EXPENSIVE_CHECKS for finding this. llvm-svn: 57181
-
- Oct 03, 2008
-
-
Dan Gohman authored
isReg, etc., from isRegister, etc. llvm-svn: 57006
-
- Sep 11, 2008
-
-
Evan Cheng authored
llvm-svn: 56085
-
- Sep 10, 2008
-
-
Evan Cheng authored
llvm-svn: 56065
-
- Sep 04, 2008
-
-
Evan Cheng authored
Fix an overly strict assertion. Source register of a copy may not be killed, it may be killed by an implicit super-register use. llvm-svn: 55762
-
- Aug 19, 2008
-
-
Owen Anderson authored
llvm-svn: 54968
-
- Aug 05, 2008
-
-
Evan Cheng authored
llvm-svn: 54375
-
- Jul 18, 2008
-
-
Dan Gohman authored
llvm-svn: 53766
-
- Jul 08, 2008
-
-
Dan Gohman authored
MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
-
- Jun 18, 2008
-
-
Evan Cheng authored
llvm-svn: 52450
-
- Jun 16, 2008
-
-
Evan Cheng authored
llvm-svn: 52309
-
- Jun 14, 2008
-
-
Evan Cheng authored
Teach the spiller to commute instructions in order to fold a reload. This hits 410 times on 444.namd and 122 times on 252.eon. llvm-svn: 52266
-
- Jun 04, 2008
-
-
Evan Cheng authored
llvm-svn: 51932
-
- May 23, 2008
-
-
Bill Wendling authored
llvm-svn: 51465
-
- May 22, 2008
-
-
David Greene authored
Don't attempt to update SpillSlotToUsesMap for stack slots that aren't generated by the spiller. llvm-svn: 51439
-
- May 20, 2008
-
-
Evan Cheng authored
If local spiller optimization turns some instruction into an identity copy, it will be removed. If the output register happens to be dead (and source is obviously killed), transfer the kill / dead information to last use / def in the same MBB. llvm-svn: 51306
-
- May 13, 2008
-
-
Dan Gohman authored
several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
-
- May 07, 2008
-
-
Evan Cheng authored
%ecx = op store %cl<kill>, (addr) (addr) = op %al It's not safe to unfold the last operand and eliminate store even though %cl is marked kill. It's a sub-register use which means one of its super-register(s) may be used below. llvm-svn: 50794
-
- Apr 11, 2008
-
-
Evan Cheng authored
Use of implicit_def is not part of live interval. Create empty intervals for the uses when the live interval is being spilled. llvm-svn: 49542
-
- Mar 31, 2008
-
-
Evan Cheng authored
llvm-svn: 48995
-
- Mar 26, 2008
-
-
Evan Cheng authored
Avoid commuting a def MI in order to coalesce a copy instruction away if any use of the same val# is a copy instruction that has already been coalesced. llvm-svn: 48833
-
- Mar 21, 2008
-
-
Evan Cheng authored
llvm-svn: 48653
-
- Mar 14, 2008
-
-
Evan Cheng authored
Fix PR2138. Apparently any modification to a std::multimap (including remove entries for a different key) can invalidate multimap iterators. llvm-svn: 48371
-
- Mar 12, 2008
-
-
Dan Gohman authored
can be called from within a debuger without having -debug specified on the command-line. llvm-svn: 48298
-
Evan Cheng authored
llvm-svn: 48263
-
Evan Cheng authored
llvm-svn: 48261
-
- Mar 11, 2008
-
-
Evan Cheng authored
llvm-svn: 48246
-
Evan Cheng authored
When the register allocator runs out of registers, spill a physical register around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting. llvm-svn: 48218
-
- Mar 05, 2008
-
-
Evan Cheng authored
findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. llvm-svn: 47927
-
- Feb 27, 2008
-
-
Evan Cheng authored
llvm-svn: 47687
-