Evan Cheng 
							
						 
					 
					
						
						
							
						
						c0dbec7e10 
					 
					
						
						
							
							When determining whether a pc relative branch / load displacement fits in the  
						
						... 
						
						
						
						instruction field, adjust it for PC value (4 for thumb, 8 for arm).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33711  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 19:57:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a9b8b8d62c 
					 
					
						
						
							
							Some comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33707  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 18:29:27 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						934536dab2 
					 
					
						
						
							
							ConstPool island bug: watch out for cases where UserMI is the last MI of the BB.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33706  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 18:19:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0c61584d05 
					 
					
						
						
							
							- Added Thumb constpool island support.  
						
						... 
						
						
						
						- Islands are inserted right after the user MI since thumb LDR cannot encode
  negative offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 02:22:22 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d1b2c1e88f 
					 
					
						
						
							
							- In thumb mode, if size of MachineFunction is >= 2048, force LR to be  
						
						... 
						
						
						
						spilled (if it is not already).
- If LR is spilled, use BL to implement far jumps. LR is not used as a GPR
  in thumb mode so it can be clobbered if it is properly spilled / restored
  in prologue / epilogue.
- If LR is force spilled but no far jump has been emitted, try undo'ing the
  spill by:
  push lr -> delete
  pop pc -> bx lr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33650  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-30 01:18:38 +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 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d85ac4d079 
					 
					
						
						
							
							Thumb jumptable support.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33568  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-27 02:29:45 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						43aeab68a6 
					 
					
						
						
							
							Conditional branch being fixed up is not the last MI in the BB, there is a  
						
						... 
						
						
						
						unconditional branch following it. Simply invert the condition and swap
destinations if the conditional branch can reach the destination of the
unconditional branch:
beq L1
b   L2
=>
bne L2
b   L1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33548  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 20:38:26 +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 
							
						 
					 
					
						
						
							
						
						dd353b8ad7 
					 
					
						
						
							
							SplitBlockBeforeInstr() insert a unconditional branch to the next BB. This  
						
						... 
						
						
						
						is unnecessary when we are fixing up a conditional branch since we will be
adding a unconditional branch to the destination of the original branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 02:02:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7755facd76 
					 
					
						
						
							
							Need to scan the function for branches even if there aren't any constants.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33515  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 01:04:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a0bf794eb6 
					 
					
						
						
							
							Forgot to update this.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 23:31:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c285414988 
					 
					
						
						
							
							Add comment, fix typo, reduce memory usage, etc.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33510  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 23:18:59 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						743fa032a7 
					 
					
						
						
							
							Doh. Skip JT branches.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33501  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 19:43:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						af5cbcb809 
					 
					
						
						
							
							Added (preliminary) branch shortening capability to constantpool island pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33497  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 03:12:46 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						012f2d97b7 
					 
					
						
						
							
							Use PC relative ldr to load from a constantpool in Thumb mode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33484  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-24 08:53:17 +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