Dan Gohman 
							
						 
					 
					
						
						
							
						
						cbad42cfd1 
					 
					
						
						
							
							Add more const qualifiers. This fixes build breakage from r59540.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-18 19:49:32 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						8e8b8a223c 
					 
					
						
						
							
							Const-ify several TargetInstrInfo methods.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57622  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-16 01:49:15 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d735b8019b 
					 
					
						
						
							
							Switch the MachineOperand accessors back to the short names like  
						
						... 
						
						
						
						isReg, etc., from isRegister, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57006  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-03 15:45:36 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						014278e6a1 
					 
					
						
						
							
							Remove isImm(), isReg(), and friends, in favor of  
						
						... 
						
						
						
						isImmediate(), isRegister(), and friends, to avoid confusion
about having two different names with the same meaning. I'm
not attached to the longer names, and would be ok with
changing to the shorter names if others prefer it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56189  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-13 17:58:21 +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 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						8e5f2c6f65 
					 
					
						
						
							
							Pool-allocation for MachineInstrs, MachineBasicBlocks, and  
						
						... 
						
						
						
						MachineMemOperands. The pools are owned by MachineFunctions.
This drastically reduces the number of calls to malloc/free made
during the "Emit" phase of scheduling, as well as later phases
in CodeGen. Combined with other changes, this speeds up the
"instruction selection" phase of CodeGen by 10% in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-07 23:14:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9f1c8317a4 
					 
					
						
						
							
							- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc.  
						
						... 
						
						
						
						- Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53097  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-03 09:09:37 +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 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						9c5525f4fa 
					 
					
						
						
							
							Add missing newline at EOF.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45712  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 19:13:36 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						8aa797aa51 
					 
					
						
						
							
							Add new shorter predicates for testing machine operands for various types:  
						
						... 
						
						
						
						e.g. MO.isMBB() instead of MO.isMachineBasicBlock().  I don't plan on 
switching everything over, so new clients should just start using the 
shorter names.
Remove old long accessors, switching everything over to use the short
accessor: getMachineBasicBlock() -> getMBB(), 
getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45464  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-30 23:10:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9a1ceaedc2 
					 
					
						
						
							
							Use MachineOperand::getImm instead of MachineOperand::getImmedValue.  Likewise setImmedValue -> setImm  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45453  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-30 20:49:49 +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 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						718cb665ca 
					 
					
						
						
							
							Add lengthof and endof templates that hide a lot of sizeof computations.  
						
						... 
						
						
						
						Patch by Sterling Stein!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41758  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-07 04:06:50 +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 
							
						 
					 
					
						
						
							
						
						c0f64ffab9 
					 
					
						
						
							
							Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead  
						
						... 
						
						
						
						of opcode and number of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31947  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-27 23:37:22 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7ce4578353 
					 
					
						
						
							
							Matches MachineInstr changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31712  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-13 23:36:35 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						3d7d39ab15 
					 
					
						
						
							
							fix warning about missing newline at end of file  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31162  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-24 17:07:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e87146ace8 
					 
					
						
						
							
							implement uncond branch insertion for sparc to fix regressions from last night  
						
						... 
						
						
						
						due to branchfolding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31157  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-10-24 16:39:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7c90f73a1b 
					 
					
						
						
							
							Rename SPARC V8 target to be the LLVM SPARC target.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25985  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-05 05:50:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						329a515fe7 
					 
					
						
						
							
							fix a bug in my last checkin  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25965  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-04 07:48:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69d39091fe 
					 
					
						
						
							
							Two changes:  
						
						... 
						
						
						
						1. Treat FMOVD as a copy instruction, to help with coallescing in V9 mode
2. When in V9 mode, insert FMOVD instead of FpMOVD instructions, as we don't
   ever rewrite FpMOVD instructions into FMOVS instructions, thus we just end
   up with commented out copies!
This should fix a bunch of failures in V9 mode on sparc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25961  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-04 06:58:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5ccc7225db 
					 
					
						
						
							
							Implement isLoadFromStackSlot and isStoreToStackSlot  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25932  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-03 06:44:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						abfc2a7363 
					 
					
						
						
							
							Tighten up some checks  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24817  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-18 06:40:34 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						b5f662fa03 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21425  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 23:30:14 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						4658ba13a8 
					 
					
						
						
							
							Look for many more moves to fold (previously, we only  
						
						... 
						
						
						
						*or g0, x      add g0, x          recognized * as a move)
 or  x, g0     add  x, g0
 or  0, x      add  0, x
 or  x, 0      add  x, 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18793  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-12-11 05:19:03 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						9ed920437a 
					 
					
						
						
							
							Recognize FpMOVD as a move.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16586  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-29 16:45:47 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						9b8ed0e04a 
					 
					
						
						
							
							Fix bug recognizing moves: isMoveInstr should only treat ORs with %g0 as  
						
						... 
						
						
						
						moves, not all ORs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16576  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-29 03:28:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1d6dc97463 
					 
					
						
						
							
							I think that V8 should coallesce registers, don't you?  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15192  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-25 06:19:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dce363d5ec 
					 
					
						
						
							
							Adjust to change in TII ctor arguments  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11987  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-29 06:31:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1ddf475b6a 
					 
					
						
						
							
							These two virtual methods are never called.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11984  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-29 05:59:33 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						e785e531f4 
					 
					
						
						
							
							SparcV8 skeleton  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11828  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-25 19:28:19 +00:00