Evan Cheng 
							
						 
					 
					
						
						
							
						
						d8a46e3a74 
					 
					
						
						
							
							LowerSubregs should not clobber any analysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51933  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-04 09:17:16 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						c929823525 
					 
					
						
						
							
							Make insert_subreg a two-address instruction, vastly simplifying LowerSubregs pass. Add a new TII, subreg_to_reg, which is like insert_subreg except that it takes an immediate implicit value to insert into rather than a register.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-16 03:12:01 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						6634e26aa1 
					 
					
						
						
							
							Get rid of a pseudo instruction and replace it with subreg based operation on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects.  
						
						... 
						
						
						
						Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48329  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-13 05:47:01 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						1fab4a6bbb 
					 
					
						
						
							
							Recommitting parts of r48130. These do not appear to cause the observed failures.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48223  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-11 10:09:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ea2378138f 
					 
					
						
						
							
							Use TargetRegisterInfo::getPhysicalRegisterRegClass. Remove duplicated code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48221  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-11 07:55:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4499e495ea 
					 
					
						
						
							
							Revert 48125, 48126, and 48130 for now to unbreak some x86-64 tests.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48167  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 19:31:26 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						3feb0170a8 
					 
					
						
						
							
							Allow insert_subreg into implicit, target-specific values.  
						
						... 
						
						
						
						Change insert/extract subreg instructions to be able to be used in TableGen patterns.
Use the above features to reimplement an x86-64 pseudo instruction as a pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 06:12:08 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6f0d024a53 
					 
					
						
						
							
							Rename MRegisterInfo to TargetRegisterInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46930  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-10 18:45:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d10fd9791c 
					 
					
						
						
							
							Move copyRegToReg from MRegisterInfo to TargetInstrInfo.  This is part of the  
						
						... 
						
						
						
						Machine-level API cleanup instigated by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-31 06:32:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						84bc5427d6 
					 
					
						
						
							
							Rename SSARegMap -> MachineRegisterInfo in keeping with the idea  
						
						... 
						
						
						
						that "machine" classes are used to represent the current state of
the code being compiled.  Given this expanded name, we can start 
moving other stuff into it.  For now, move the UsedPhysRegs and
LiveIn/LoveOuts vectors from MachineFunction into it.
Update all the clients to match.
This also reduces some needless #includes, such as MachineModuleInfo
from MachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-31 04:13:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							Remove attribution from file headers, per discussion on llvmdev.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 20:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e11fb34381 
					 
					
						
						
							
							isSubRegOf() is a dup of isSubRegister.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43249  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-23 06:51:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9efce638d3 
					 
					
						
						
							
							Allow copyRegToReg to emit cross register classes copies.  
						
						... 
						
						
						
						Tested with "make check"!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42346  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-26 06:25:56 +00:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						8b165731bc 
					 
					
						
						
							
							Move isSubRegOf into MRegisterInfo. Fix a missed move elimination in LowerSubregs and add more debugging output there.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41005  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-10 21:11:55 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						98363225a3 
					 
					
						
						
							
							Implement review feedback. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40863  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-06 16:33:56 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						bab2474b64 
					 
					
						
						
							
							Add a MachineFunction pass, which runs post register allocation, that turns subreg insert/extract instruction into register copies. This ensures correct code gen if the coalescer isn't able to remove all subreg instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40521  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-26 08:18:32 +00:00