Dan Gohman 
							
						 
					 
					
						
						
							
						
						92dfe2001e 
					 
					
						
						
							
							Remove isReg, isImm, and isMBB, and change all their users to use  
						
						... 
						
						
						
						isRegister, isImmediate, and isMachineBasicBlock, which are equivalent,
and more popular.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41958  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-14 20:33:02 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						04fa32f9aa 
					 
					
						
						
							
							Add instruction dump output.  This helps find bugs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41744  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-06 16:36:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						90a43c3ae3 
					 
					
						
						
							
							If the source of a move is in spill slot, the reload may be folded to essentially a load from stack slot. It's ok to mark the stack slot value as available for reuse. But it should not be clobbered since the destination of the move is live.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41109  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-15 20:20:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b6ca4b370e 
					 
					
						
						
							
							- If a def is dead, do not spill it.  
						
						... 
						
						
						
						- If the defs of a spilled rematerializable MI are dead after the spill store is deleted, delete
  the def MI as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-14 23:25:37 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c91f0b8068 
					 
					
						
						
							
							If a MI's def is remat as well as spilled, and the store is later deemed dead, mark the def operand as isDead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41083  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-14 20:23:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						fff3e191b9 
					 
					
						
						
							
							If a spilled value is being reused and the use is a kill, that means there are  
						
						... 
						
						
						
						no more uses within the MBB and the spilled value isn't live out of the MBB.
Then it's safe to delete the spill store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41069  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-14 09:11:18 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						dc6be19859 
					 
					
						
						
							
							If a rematerializable def is not deleted, i.e. it is also spilled, check if the  
						
						... 
						
						
						
						spilled value is available for reuse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41067  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-14 05:42:54 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						549f27d307 
					 
					
						
						
							
							Re-implement trivial rematerialization. This allows def MIs whose live intervals that are coalesced to be rematerialized.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-13 23:45:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						28bb462d4c 
					 
					
						
						
							
							Missed a couple of places where new instructions are added due to spill / restore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39748  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-11 19:17:18 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b9591c667d 
					 
					
						
						
							
							No longer need to track last def / use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38534  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-11 08:47:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0c40d72b01 
					 
					
						
						
							
							Fix for PR1545: Revamp code that update kill information due to register reuse.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38525  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-11 05:28:39 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						82a87a0172 
					 
					
						
						
							
							Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad  
						
						... 
						
						
						
						with a general target hook to identify rematerializable instructions. Some
instructions are only rematerializable with specific operands, such as loads
from constant pools, while others are always rematerializable. This hook
allows both to be identified as being rematerializable with the same
mechanism.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37644  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 01:48:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c101e95cb6 
					 
					
						
						
							
							Add a target hook to allow loads from constant pools to be rematerialized, and an  
						
						... 
						
						
						
						implementation for x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37576  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-14 20:50:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						faa510726f 
					 
					
						
						
							
							Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36483  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-26 19:00:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6c087e5585 
					 
					
						
						
							
							Match MachineFunction::UsedPhysRegs changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36452  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-25 22:13:27 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9193514e2e 
					 
					
						
						
							
							Re-materialize all loads from fixed stack slots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-04 07:40:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7cb33c8652 
					 
					
						
						
							
							Don't add the same MI to register reuse "last def/use" twice if it reads the  
						
						... 
						
						
						
						register more than once.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-30 20:21:35 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						018d6e1537 
					 
					
						
						
							
							Don't call getOperandConstraint() if operand index is greater than  
						
						... 
						
						
						
						TID->numOperands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-27 00:48:28 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ad7ccf34b5 
					 
					
						
						
							
							Fix for PR1266. Don't mark a two address operand IsKill.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35365  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-26 22:40:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2638e1a6b9 
					 
					
						
						
							
							First cut trivial re-materialization support.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35208  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 08:13:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a7288df62d 
					 
					
						
						
							
							Only propagate IsKill if the last use is a kill.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34878  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-03 06:32:37 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6b448092bf 
					 
					
						
						
							
							- Keep track all def and uses of stack slot available in register.  
						
						... 
						
						
						
						- Available value use may be deleted (e.g. noop move).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34841  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-02 08:52:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c3dd314b78 
					 
					
						
						
							
							Invalidate last use of a reused register if the use is a deleted noop copy.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34839  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-02 05:41:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c0ba1bc49b 
					 
					
						
						
							
							A restore is promoted to copy (or deleted entirely), remove the kill from the last use of the targetted register.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34773  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-01 02:27:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						de4e942faa 
					 
					
						
						
							
							A couple of more places where a register liveness has been extended and its last kill should be updated accordingly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34597  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-25 09:51:27 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						50d25d7ff7 
					 
					
						
						
							
							Reuse extends the liveness of a register. Transfer the kill to the operand that reuse it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34536  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 21:47:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						91e2390818 
					 
					
						
						
							
							A spill kills the register being stored. But it is later being reused by spiller, its live range has to be extended.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 01:13:26 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						957840b3e1 
					 
					
						
						
							
							Use BitVector instead. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34460  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-21 02:22:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						667089de04 
					 
					
						
						
							
							Dead code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34435  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-20 01:29:10 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f50d09ad21 
					 
					
						
						
							
							Fixed a long standing spiller bug that's exposed by Thumb:  
						
						... 
						
						
						
						The code sequence before the spiller is something like:
                 = tMOVrr
        %reg1117 = tMOVrr
        %reg1078 = tLSLri %reg1117, 2
The it starts spilling:
        %r0 = tRestore <fi#5>, 0
        %r1 = tRestore <fi#7>, 0
        %r1 = tMOVrr %r1<kill>
        tSpill %r1, <fi#5>, 0
        %reg1078 = tLSLri %reg1117, 2
It restores the value while processing the first tMOVrr. At this point, the
spiller remembers fi#5 is available in %r0. Next it processes the second move.
It restores the source before the move and spills the result afterwards. The
move becomes a noop and is deleted. However, a spill has been inserted and that
should invalidate reuse of %r0 for fi#5 and add reuse of %r1 for fi#5.
Therefore, %reg1117 (which is also assigned fi#5) should get %r1, not %r0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34039  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-08 06:04:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						08a4d5a343 
					 
					
						
						
							
							Switch this to use SmallSet to avoid mallocs in the common case.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33457  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-23 00:59:48 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3c82cab9aa 
					 
					
						
						
							
							GetRegForReload() now keeps track which registers have been considered and rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this:  
						
						... 
						
						
						
						t1 := op t2, t3
  t2 <- assigned r0 for use by the reload but ended up reuse r1
  t3 <- assigned r1 for use by the reload but ended up reuse r0
  t1 <- desires r1
        sees r1 is taken by t2, tries t2's reload register r0
        sees r0 is taken by t3, tries t3's reload register r1
        sees r1 is taken by t2, tries t2's reload register r0 ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33382  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-19 22:40:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cd3245ac45 
					 
					
						
						
							
							Eliminate static ctors from Statistics  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32698  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-19 22:41:21 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						5c7e326585 
					 
					
						
						
							
							Added an automatic cast to "std::ostream*" etc. from OStream. We then can  
						
						... 
						
						
						
						rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-17 05:15:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						86facc2828 
					 
					
						
						
							
							Minor clean up.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32593  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-15 06:41:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7a0d51c8e3 
					 
					
						
						
							
							Fix a long-standing spiller bug:  
						
						... 
						
						
						
						If a spillslot value is available in a register, and there is a noop copy that
targets that register, the spiller correctly decide not to invalidate the
spillslot register.
However, even though the noop copy does not clobbers the value. It does start a
new intersecting live range. That means the spillslot register is available for
use but should not be reused for a two-address instruction modref operand which
would clobber the new live range.
When we remove the noop copy, update the available information by clearing the
canClobber bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32576  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-14 07:54:05 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						cc22a7a2ad 
					 
					
						
						
							
							Move findTiedToSrcOperand to TargetInstrDescriptor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32366  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-08 18:45:48 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5c2a46052b 
					 
					
						
						
							
							Proper fix for PR1037: to determine is a VR is a modref, check 1) whether it is  
						
						... 
						
						
						
						tied to another oeprand, 2) whether is is being tied to by another operand. So
the destination operand of a two-address MI can be correctly identified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-08 08:02:34 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						fe46361719 
					 
					
						
						
							
							Revision 1.83 causes PR1037.  
						
						... 
						
						
						
						Reverted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-07 16:21:19 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e81561909d 
					 
					
						
						
							
							Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are  
						
						... 
						
						
						
						now cerr, cout, and NullStream resp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-07 01:30:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						51cdcd1972 
					 
					
						
						
							
							MI keeps a ptr of TargetInstrDescriptor, use it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32296  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-07 01:21:59 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6065f66e7c 
					 
					
						
						
							
							getOperandConstraint returns -1 if the operand does have the specific constraint. This bug was causing excessive spills.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32295  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-07 00:46:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ac0b6ae358 
					 
					
						
						
							
							Detemplatize the Statistic class.  The only type it is instantiated with  
						
						... 
						
						
						
						is 'unsigned'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32279  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-06 17:46:33 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ba59a1e453 
					 
					
						
						
							
							Match TargetInstrInfo changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32098  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-01 21:52:58 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						b2b9c20b61 
					 
					
						
						
							
							More removal of std::cerr and DEBUG, replacing with DOUT instead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-17 02:09:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e077ef6e85 
					 
					
						
						
							
							Fixed some spiller bugs exposed by the recent two-address code changes. Now  
						
						... 
						
						
						
						there may be other def(s) apart from the use&def two-address operand. We need
to check if the register reuse for a use&def operand may conflicts with another
def. Provide a mean to recover from the conflict if it is detected when the
defs are processed later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31439  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-04 00:21:55 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e6ae14e1f4 
					 
					
						
						
							
							Rename  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 23:18:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						360c2dd25a 
					 
					
						
						
							
							Two-address instructions no longer have to be A := A op C. Now any pair of dest / src operands can be tied together.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31363  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-01 23:06:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6ec3626be4 
					 
					
						
						
							
							restore my previous patch, now that the X86 backend bug has been fixed:  
						
						... 
						
						
						
						http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20061009/038518.html 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30906  91177308-0d34-0410-b5e6-96231b3b80d8 
					
						2006-10-12 17:45:38 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b870100f2a 
					 
					
						
						
							
							Backing out Chris' last commit. It's breaking llvm-gcc bootstrapping.  
						
						... 
						
						
						
						It's turning:
        movl -24(%ebp), %esp
        subl $16, %esp
        movl -24(%ebp), %ecx
into
        movl -24(%ebp), %esp
        subl $16, %esp
        movl %esp, (%esp)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30902  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-12 08:00:47 +00:00