Evan Cheng 
							
						 
					 
					
						
						
							
						
						05fc966401 
					 
					
						
						
							
							Revert 56176. All those instruction formats are still needed.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56180  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-13 01:35:33 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a964b7dffe 
					 
					
						
						
							
							Eliminate unnecessary instruction formats.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56176  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-12 23:15:39 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5f1db7bf31 
					 
					
						
						
							
							Rewrite address mode 1 code emission routines.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56171  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-12 22:01:15 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						940f83e772 
					 
					
						
						
							
							Make TargetInstrInfo::copyRegToReg return a bool indicating whether the copy requested  
						
						 
						
						... 
						
						
						
						was inserted or not.  This allows bitcast in fast isel to properly handle the case
where an appropriate reg-to-reg copy is not available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-26 18:03:31 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						44eb65cf58 
					 
					
						
						
							
							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.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54802  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-14 22:49:33 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						f660c171c8 
					 
					
						
						
							
							Make LiveVariables even more optional, by making it optional in the call to TargetInstrInfo::convertToThreeAddressInstruction  
						
						 
						
						... 
						
						
						
						Also, if LV isn't around, then TwoAddr doesn't need to be updating flags, since they won't have been set in the first place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53058  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-02 23:41:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c9f5f3f64f 
					 
					
						
						
							
							Change target-specific classes to use more precise static types.  
						
						 
						
						... 
						
						
						
						This eliminates the need for several awkward casts, including
the last dynamic_cast under lib/Target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-14 01:58:56 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicolas Geoffray 
							
						 
					 
					
						
						
							
						
						52e724ad7e 
					 
					
						
						
							
							Infrastructure for getting the machine code size of a function and an instruction. X86, PowerPC and ARM are implemented  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49809  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-16 20:10:13 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ca1267c02b 
					 
					
						
						
							
							Move reMaterialize() from TargetRegisterInfo to TargetInstrInfo.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48995  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-31 20:40:39 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						950a4c40b8 
					 
					
						
						
							
							Add explicit keywords.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48801  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-25 22:06:05 +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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5fd79d0560 
					 
					
						
						
							
							It's not always safe to fold movsd into xorpd, etc. Check the alignment of the load address first to make sure it's 16 byte aligned.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46893  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-08 21:20:40 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						43dbe05279 
					 
					
						
						
							
							Move even more functionality from MRegisterInfo into TargetInstrInfo.  
						
						 
						
						... 
						
						
						
						Some day I'll get it all moved over...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45672  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 01:35:02 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d94b6a16fe 
					 
					
						
						
							
							Move some more functionality from MRegisterInfo to TargetInstrInfo.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45603  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-04 23:57:37 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						f6372aa1cc 
					 
					
						
						
							
							Move some more instruction creation methods from RegisterInfo into InstrInfo.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45484  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-01 21:11:32 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6410552250 
					 
					
						
						
							
							Fix a problem where lib/Target/TargetInstrInfo.h would include and use  
						
						 
						
						... 
						
						
						
						a header file from libcodegen.  This violates a layering order: codegen
depends on target, not the other way around.  The fix to this is to 
split TII into two classes, TII and TargetInstrInfoImpl, which defines
stuff that depends on libcodegen.  It is defined in libcodegen, where 
the base is not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-01 01:03:04 +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 
							
						 
					 
					
						
						
							
						
						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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						a4c791072f 
					 
					
						
						
							
							Fix a misnamed parameter.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-18 19:29:45 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Raul Herbster 
							
						 
					 
					
						
						
							
						
						8c132633c8 
					 
					
						
						
							
							Instruction formats added used to generate multiply instructions of V5TE.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41629  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-30 23:34:14 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0ff94f7fcc 
					 
					
						
						
							
							Initial JIT support for ARM by Raul Fernandes Herbster.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40887  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-07 01:37:15 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						13ab020ea0 
					 
					
						
						
							
							Remove clobbersPred. Add an OptionalDefOperand to instructions which have the 's' bit.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38501  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-10 18:08:01 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d45eddd214 
					 
					
						
						
							
							Revert the earlier change that removed the M_REMATERIALIZABLE machine  
						
						 
						
						... 
						
						
						
						instruction flag, and use the flag along with a virtual member function
hook for targets to override if there are instructions that are only
trivially rematerializable with specific operands (i.e. constant pool
loads).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37728  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-26 00:48:07 +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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						eaa91b0a1f 
					 
					
						
						
							
							Replace TargetInstrInfo::CanBeDuplicated() with a M_NOT_DUPLICABLE bit.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37643  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 01:26:51 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d42e56e166 
					 
					
						
						
							
							Instructions with unique labels or embedded jumptables cannot be duplicated during ifcvt.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 21:15:00 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						62ccdbf0b3 
					 
					
						
						
							
							Add missing const qualifiers.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37342  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-29 18:42:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						69d555611a 
					 
					
						
						
							
							Hooks for predication support.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37308  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-23 07:22:05 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6ae3626a4f 
					 
					
						
						
							
							RemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37193  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-18 00:18:17 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						02c602b333 
					 
					
						
						
							
							PredicateInstruction returns true if the operation was successful.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-16 21:53:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b5f8eff566 
					 
					
						
						
							
							Removed isPredicable().  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37119  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-16 20:50:23 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9307292ae2 
					 
					
						
						
							
							Hooks for predication support.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37093  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-16 02:01:49 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						29836c330f 
					 
					
						
						
							
							Factor GetInstSize() out of constpool island pass.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33644  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-29 23:45:17 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						1ee2925742 
					 
					
						
						
							
							Make LABEL a builtin opcode.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 14:34:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a8e2989ece 
					 
					
						
						
							
							ARM backend contribution from Apple.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33353  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-19 07:51:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						578e64a041 
					 
					
						
						
							
							implement uncond branch insertion, mark branches with isBranch.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31160  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-24 16:47:57 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						46adf8119d 
					 
					
						
						
							
							change the addressing mode of the str instruction to reg+imm  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29571  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-08 20:35:03 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						aefe14299a 
					 
					
						
						
							
							create the raddr addressing mode that matches any register and the frame index  
						
						 
						
						... 
						
						
						
						use raddr for the ldr instruction. This removes a dummy mov from the assembly output
remove SelectFrameIndex
remove isLoadFromStackSlot
remove isStoreToStackSlot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29079  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-07-10 01:41:35 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						7bc59bc395 
					 
					
						
						
							
							added a skeleton of the ARM backend  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28301  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-14 22:18:28 +00:00