- 20580a1 Re-materalized definition instructions may be dead. Whack them. by Evan Cheng · 16 years ago
- 870e4be Unallocatable registers do not have live intervals. by Evan Cheng · 16 years ago
- 25f34a3 Correctly update kill infos after extending a live range and merge 2 val#'s; fix 56165 - do not mark val# copy field if the copy does not define the val#. by Evan Cheng · 16 years ago
- 014278e Remove isImm(), isReg(), and friends, in favor of by Dan Gohman · 16 years ago
- ee9e1b0 On some targets, non-move instructions can become move instructions because of coalescing. e.g. by Evan Cheng · 16 years ago
- 8db8668 Fix PR2748. Avoid coalescing physical register with virtual register which would create illegal extract_subreg. e.g. by Evan Cheng · 16 years ago
- 4086906 Fix PR2783 - coalescer bug. Missing a TargetRegisterInfo::isVirtualRegister check. by Evan Cheng · 16 years ago
- 369e987 Fix a bug in the coalescer where it didn't check if a live interval existed before trying to manipulate it. This by Owen Anderson · 16 years ago
- 8ec3389 Fix typo. by Evan Cheng · 16 years ago
- 3ef2d60 Clear preference when it no longer makes sense. by Evan Cheng · 16 years ago
- cd04708 Re-apply 55467 with fix. If copy is being replaced by remat'ed def, transfer the implicit defs onto the remat'ed instruction. by Evan Cheng · 16 years ago
- f641395 Revert r55467; it causes regressions in UnitTests/Vector/divides, by Dan Gohman · 16 years ago
- 9242cb8 If a copy isn't coalesced, but its src is defined by trivial computation. Re-materialize the src to replace the copy. by Evan Cheng · 16 years ago
- 44eb65c Convert uses of std::vector in TargetInstrInfo to SmallVector. This change had to be propoagated down into all the targets and up into all clients of this API. by Owen Anderson · 16 years ago
- a8c763b Use empty() instead of begin() == end(). by Dan Gohman · 16 years ago
- 03857b2 Make the allocation of LiveIntervals explicit, rather than holding them in the r2iMap_ by value. This will prevent references to them from being invalidated by Owen Anderson · 16 years ago
- 4fa393a Remove #if 0. by Evan Cheng · 16 years ago
- 068b4ff Fix PR2568: Fix bug that cause redudant kill marker after its live interval has been extended due to coalescing. by Evan Cheng · 16 years ago
- 496bac5 Fix a compile-time regression introduced by my heuristic-changing patch. I forgot by Owen Anderson · 16 years ago
- a1566f2 Change the heuristics used in the coalescer, register allocator, and within by Owen Anderson · 16 years ago
- 76a4d58 Subreg live interval valno may not have a corresponding def machineinstr since it's less precise. by Evan Cheng · 16 years ago
- b3db9c9 Use getMBBEndIdx rather than assuming that the end is right after the last instruction in the block. by Owen Anderson · 16 years ago
- c341760 Undo spill weight tweak. Need to investigate the performance regressions. by Evan Cheng · 16 years ago
- e00f5de Coalesce copy from one register class to a sub register class. e.g. X86::MOV16to16_. by Evan Cheng · 16 years ago
- 739583b When extending a liveinterval by commuting, don't throw away the live ranges that are not affected. by Evan Cheng · 16 years ago
- dbb8137 The coalescer doesn't need LiveVariables now that we have register use iterators. by Owen Anderson · 16 years ago
- d77d4f9 Fix PR2289: vr defined by multiple implicit_def as result of coalescing. by Evan Cheng · 16 years ago
- f4ea510 Fix PR2343. An *interesting* coalescer bug. by Evan Cheng · 16 years ago
- 6ddba2b Change class' public PassInfo variables to by initialized with the by Dan Gohman · 16 years ago
- 844731a Clean up the use of static and anonymous namespaces. This turned up by Dan Gohman · 16 years ago
- 8509fcf Another extract_subreg coalescing bug. by Evan Cheng · 17 years ago
- a971dbd - Check if a register is livein before removing it. It may have already been removed. by Evan Cheng · 17 years ago
- a8f720d Correct comment. by Evan Cheng · 17 years ago
- 883d260 Not safe to "kill" a register if its live range extends pass the end of block branch. by Evan Cheng · 17 years ago
- 639f493 Be more careful with insert_subreg and extract_subreg where either source or destination operand has already been coalesced with another register that's defined by a insert_subreg or extract_subreg. by Evan Cheng · 17 years ago
- f231778 Use correct name for method in comment. by Bill Wendling · 17 years ago
- 621d157 Fix a sub-register indice propagation bug. by Evan Cheng · 17 years ago
- 9c1e06e After reading memory that's already freed. by Evan Cheng · 17 years ago
- ff7a3e5 Fix PR2226. Avoid using uninitialized variables. by Evan Cheng · 17 years ago
- d94950c Avoid read after free. by Evan Cheng · 17 years ago
- d2012d0 Remove implicit_def instructions that become dead as result of coalescing. by Evan Cheng · 17 years ago
- 172b70c A copy instruction may use a register multiple times on some targets. Change them all. by Evan Cheng · 17 years ago
- 7e073ba - More aggressively coalescing away copies whose source is defined by an implicit_def. by Evan Cheng · 17 years ago
- f20d943 Missed a hasInterval check. by Evan Cheng · 17 years ago
- db9b1c3 - Turn copies of implicit_def into implicit_def instructions. by Evan Cheng · 17 years ago
- 0c28432 One more coalescer fix wrt deadness propagation. by Evan Cheng · 17 years ago
- ed70cbb3 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. by Evan Cheng · 17 years ago
- a2fb634 lastRegisterUse() should ignore identity copies. Those will be erased. by Evan Cheng · 17 years ago
- 6f83fc8 If the coalescer commuted a def MI to allow coalescing, it can changed a previously coalesced copy into an non-identity copy. by Evan Cheng · 17 years ago
- 70366b9 A couple of kill marker maintainence bug. by Evan Cheng · 17 years ago
- 82a6d23 Fixed a coalescer bug caused by a typo. by Evan Cheng · 17 years ago
- 3c88d74 Rewrite code that propagate isDead information after a dead copy is coalesced. This remove some ugly spaghetti code and fixed a number of subtle bugs. by Evan Cheng · 17 years ago
- 1c9b8cf Remove unused options. by Evan Cheng · 17 years ago
- 4ff3f1c - Fix a subtle bug in RemoveCopyByCommutingDef. ALR is the live range where the source is defined; BLR is the live range which is defined by the copy. by Evan Cheng · 17 years ago
- ecb2a8b Fix a coalescer bug wrt how dead copy interval is shortened. by Evan Cheng · 17 years ago
- 6130f66 Refactor code. Remove duplicated functions that basically do the same thing as by Evan Cheng · 17 years ago
- bec2c0c No need for coalescer to update kills. Only copies are coalesced and those instructions will be deleted. Doh. by Evan Cheng · 17 years ago
- e6d088a Rename PrintableName to Name. by Bill Wendling · 17 years ago
- 74ab84c Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool by Bill Wendling · 17 years ago
- 4d535ca Enable -coalescer-commute-instrs by default. by Evan Cheng · 17 years ago
- c886c46 This is possible: by Evan Cheng · 17 years ago
- becda48 Fix compiler warning. by Evan Cheng · 17 years ago
- 304983b Help testing. by Evan Cheng · 17 years ago
- a9407f5 - Remove the previous check which broke coalescer-commute3.ll by Evan Cheng · 17 years ago
- 96cfff0 For now, avoid commuting def MI for copy MI's whose source is not killed. That simply trade a live interval for another and because only the non-two-address operands can be folded into loads, may end up pessimising code. by Evan Cheng · 17 years ago
- 559f422 Refactor some code; check if commuteInstruction is able to commute the instruction. by Evan Cheng · 17 years ago
- bd3e5aa The copy instruction being coalesced will be removed, it is not a kill. by Evan Cheng · 17 years ago
- c8d044e - Removing the infamous r2rMap_ and rep() method. Now the coalescer will update by Evan Cheng · 17 years ago
- cdbcfcc Some code clean up. by Evan Cheng · 17 years ago
- e35a6d1 * Cannot safely commute an instruction there are other defs which can reach its uses. by Evan Cheng · 17 years ago
- 7007143 Initial support for copy elimination by commuting its definition MI. by Evan Cheng · 17 years ago
- 6f0d024 Rename MRegisterInfo to TargetRegisterInfo. by Dan Gohman · 17 years ago
- 63a18c4 Remove unused hidden option. by Evan Cheng · 17 years ago
- 67d65bb Don't recalculate the loop info and loop dominators analyses if they're by Bill Wendling · 17 years ago
- 2674d71 80-column violations. by Bill Wendling · 17 years ago
- 534bcfb update a couple of references to SSARegMap. by Chris Lattner · 17 years ago
- 84bc542 Rename SSARegMap -> MachineRegisterInfo in keeping with the idea by Chris Lattner · 17 years ago
- f738230 More cleanups for MachineOperand: by Chris Lattner · 17 years ago
- 4ee451d Remove attribution from file headers, per discussion on llvmdev. by Chris Lattner · 17 years ago
- 6894942 The physical register + virtual register joining requirement was much too strict. by Evan Cheng · 17 years ago
- 22f07ff Switch over to MachineLoopInfo. by Evan Cheng · 17 years ago
- dfb1561 Add an option to control this heuristic tweak so I can test it. by Evan Cheng · 17 years ago
- 5ef3a04 Fix for PR1831: if all defs of an interval are re-materializable, then it's a preferred spill candiate. by Evan Cheng · 17 years ago
- c3fc7d9 Replace the odd kill# hack with something less fragile. by Evan Cheng · 17 years ago
- 81a0382 Live interval splitting: by Evan Cheng · 17 years ago
- c498b02 Clean up sub-register implementation by moving subReg information back to by Evan Cheng · 17 years ago
- f2fbca6 Refactor some code. by Evan Cheng · 17 years ago
- 8fc9a10 First step towards moving the coalescer to priority_queue based machinery. by Evan Cheng · 17 years ago
- a461c4d Move SimpleRegisterCoalescing.h to lib/CodeGen since there is now a common by Evan Cheng · 17 years ago
- 5031fd2 Skip over deleted val#'s. by Evan Cheng · 17 years ago
- 0547bab - Coalesce extract_subreg when both intervals are relatively small. by Evan Cheng · 17 years ago
- 4ae31a5 Really fix PR1734. Carefully track which register uses are sub-register uses by by Evan Cheng · 17 years ago
- 95f0ab6 One more extract_subreg coalescing bug fix. by Evan Cheng · 17 years ago
- dcd8f78 Fix PR1734. by Evan Cheng · 17 years ago
- 8b0b874 Code clean up. by Evan Cheng · 17 years ago
- f5c7359 Fix PR1729: watch out for val# with no def. by Evan Cheng · 17 years ago
- 3472925 When coalescing an EXTRACT_SUBREG and the dst register is a physical register, by Evan Cheng · 17 years ago
- 52c7ff7 Restrict EXTRACT_SUBREG coalescing to avoid negative performance impact. by Evan Cheng · 17 years ago
- 32dfbea EXTRACT_SUBREG coalescing support. The coalescer now treats EXTRACT_SUBREG like by Evan Cheng · 17 years ago
- be8db24 Bad choice of variable name. by Evan Cheng · 17 years ago