Tanya Lattner 
							
						 
					 
					
						
						
							
						
						b140762a45 
					 
					
						
						
							
							Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-25 00:13:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9bcdcd17c7 
					 
					
						
						
							
							Adjust to new TargetMachine interface  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13956  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-02 05:57:12 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						3a9986f5d8 
					 
					
						
						
							
							Beautify debug output.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-18 00:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						f11800b718 
					 
					
						
						
							
							This pass should not require phi elimination or live variable  
						
						... 
						
						
						
						analysis. It should only preserve them and update LiveVariables if it
already ran.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11479  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-15 21:50:32 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						f81af21caf 
					 
					
						
						
							
							Use newly added next() and prior() utility functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11430  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-14 01:18:34 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						be766c7246 
					 
					
						
						
							
							Remove getAllocatedRegNum(). Use getReg() instead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11393  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-13 21:01:20 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						c0b9dc5be7 
					 
					
						
						
							
							Change MachineBasicBlock's vector of MachineInstr pointers into an  
						
						... 
						
						
						
						ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-12 02:27:10 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						5a5960978a 
					 
					
						
						
							
							Added missing include.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11129  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 05:04:39 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						14be64018f 
					 
					
						
						
							
							Modify the two address instruction pass to remove the duplicate  
						
						... 
						
						
						
						operand of the instruction and thus simplify the register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-04 22:17:40 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						9fe7602862 
					 
					
						
						
							
							Revert changes. Will implement this using a different set of primitives  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-02 23:08:58 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						eea81bafd6 
					 
					
						
						
							
							Correctly update def/use information for modified machine operands.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11087  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-02 21:56:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6b50767905 
					 
					
						
						
							
							Fix, correctly this time, the computation of the return value  
						
						... 
						
						
						
						Fix a spello
Tighten up the assertion checking
No functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11036  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 21:21:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						163c1e7a69 
					 
					
						
						
							
							* Fix incorrect computation of the runOnMachineFunction return value  
						
						... 
						
						
						
						* Turn a bunch of instance variables into automatic variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11035  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 21:14:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bd91c1c376 
					 
					
						
						
							
							Remove unneeded #includes  
						
						... 
						
						
						
						Move Passes.h (which defines the interface to this file) to the top.
Move statistics to the top of the file.
Add a comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11034  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-31 21:07:15 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						b08bdc4a16 
					 
					
						
						
							
							Make LiveVariables::HandlePhysRegUse and  
						
						... 
						
						
						
						LiveVariables::HandlePhysRegDef private they use information that is
not in memory when LiveVariables finishes the analysis.
Also update the TwoAddressInstructionPass to not use this interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10755  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-11 09:18:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8c2403631b 
					 
					
						
						
							
							fix warning  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10692  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-05 05:42:17 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						271bd2d7f1 
					 
					
						
						
							
							Currently we cannot handle two-address instructions of the form:  
						
						... 
						
						
						
						A = B op C where A == C, but this cannot really occur in practice
because of SSA form. Add an assert to check that just to be safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10682  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-05 02:25:45 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						50c047d159 
					 
					
						
						
							
							Update description.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10681  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-04 23:09:24 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						4c080863de 
					 
					
						
						
							
							Remove TwoAddressInstruction from the public headers and add an ID  
						
						... 
						
						
						
						instead, since this pass doesn't expose any state to its users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-18 22:40:24 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						71499ded4d 
					 
					
						
						
							
							Add TwoAddressInstructionPass to handle instructions that have two or  
						
						... 
						
						
						
						more operands and the two first operands are constrained to be the
same. The pass takes an instruction of the form:
        a = b op c
and transforms it into:
        a = b
        a = a op c
and also preserves live variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-18 13:06:04 +00:00