Jeffrey Yasskin 
							
						 
					 
					
						
						
							
						
						32d7e6ebde 
					 
					
						
						
							
							Change indirect-globals to use a dedicated allocIndirectGV.  This lets us  
						
						... 
						
						
						
						remove start/finishGVStub and the BufferState helper class from the
MachineCodeEmitter interface.  It has the side-effect of not setting the
indirect global writable and then executable on ARM, but that shouldn't be
necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91464  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-15 22:42:46 +00:00 
						 
				 
			
				
					
						
							
							
								Johnny Chen 
							
						 
					 
					
						
						
							
						
						d68e119c0f 
					 
					
						
						
							
							Added encoding bits for the Thumb ISA.  Initial checkin.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91434  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-15 17:24:14 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						dba6cac0d4 
					 
					
						
						
							
							Fix an encoding bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91417  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-15 06:49:02 +00:00 
						 
				 
			
				
					
						
							
							
								Kenneth Uildriks 
							
						 
					 
					
						
						
							
						
						76df3f398c 
					 
					
						
						
							
							For fastcc on x86, let ECX be used as a return register after EAX and EDX  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-15 03:27:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d7760a4905 
					 
					
						
						
							
							Disable 91381 for now. It's miscompiling ARMISelDAG2DAG.cpp.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91405  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-15 03:07:11 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ad9c0a3d8b 
					 
					
						
						
							
							Use sbb x, x to materialize carry bit in a GPR. The result is all one's or all zero's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91381  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-15 00:53:42 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						c67b556b5b 
					 
					
						
						
							
							nand atomic requires opposite operand ordering  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91371  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-15 00:12:35 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						2e141d744e 
					 
					
						
						
							
							Fix integer cast code to handle vector types.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91362  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 23:40:38 +00:00 
						 
				 
			
				
					
						
							
							
								Johnny Chen 
							
						 
					 
					
						
						
							
						
						ec689151f2 
					 
					
						
						
							
							Add encoding bits "let Inst{11-4} = 0b00000000;" to BR_JTr to disambiguate  
						
						... 
						
						
						
						between BR_JTr and STREXD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91339  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 21:51:34 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						80dd125e17 
					 
					
						
						
							
							v6 sync insn copy/paste error  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91333  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 21:33:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						7c03dbd8ed 
					 
					
						
						
							
							Add ARMv6 memory and sync barrier instructions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91329  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 21:24:16 +00:00 
						 
				 
			
				
					
						
							
							
								Johnny Chen 
							
						 
					 
					
						
						
							
						
						c474796438 
					 
					
						
						
							
							Fixed encoding bits typo of ldrexd/strexd.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91327  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 21:01:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						a36c8f2c2e 
					 
					
						
						
							
							Thumb2 atomic operations  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91321  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 20:14:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cdfb302876 
					 
					
						
						
							
							fix an obvious bug found by clang++ and collapse a redundant if.  
						
						... 
						
						
						
						Here's the diagnostic from clang:
/Volumes/Data/dgregor/Projects/llvm/lib/Target/CppBackend/CPPBackend.cpp:989:23: warning: 'gv' is always NULL in this context
        printConstant(gv);
                      ^
1 diagnostic generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91318  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 19:34:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						a623f5a58d 
					 
					
						
						
							
							correct selection requirements for thumb2 vs. arm versions of the barrier intrinsics  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 19:24:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						c219e4dd59 
					 
					
						
						
							
							add Thumb2 atomic and memory barrier instruction definitions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 18:56:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						015d3b5704 
					 
					
						
						
							
							whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91307  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 18:36:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						f6b2862e81 
					 
					
						
						
							
							ARM memory barrier instructions are not predicable  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 18:31:20 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						d7d72d66b7 
					 
					
						
						
							
							add ldrexd/strexd instructions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91284  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 17:02:55 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						85de1e5bad 
					 
					
						
						
							
							Whitespace changes, comment clarification. No functional changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91274  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 06:51:19 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						c3c2354ec9 
					 
					
						
						
							
							atomic binary operations up to 32-bits wide.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91260  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-14 04:22:04 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						cdcad11c94 
					 
					
						
						
							
							Do not allow uninitialize access during debug printing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91232  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-13 01:00:32 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						bcae205a4b 
					 
					
						
						
							
							More info on this transformation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91230  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-12 23:23:43 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						1555473387 
					 
					
						
						
							
							Remove some stuff that's already implemented.  Also, remove the note about  
						
						... 
						
						
						
						merging x >u 5 and x <s 20 because it's impossible to implement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91228  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-12 21:41:48 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						dd99f3a7dc 
					 
					
						
						
							
							Disable r91104 for x86. It causes partial register stall which pessimize code in 32-bit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91223  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-12 20:03:14 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						2625de35ed 
					 
					
						
						
							
							Implement variable-width shifts.  
						
						... 
						
						
						
						No testcase yet - it seems we're exposing generic codegen bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91221  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-12 18:55:37 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						04ab19cb14 
					 
					
						
						
							
							Add comment about potential partial register stall.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91220  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-12 18:55:26 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						15b0d97068 
					 
					
						
						
							
							Fix an obvious bug. No test case since LEA16r is not being used.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91219  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-12 18:51:56 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						e801dc4a7b 
					 
					
						
						
							
							Framework for atomic binary operations. The emitter for the pseudo instructions  
						
						... 
						
						
						
						just issues an error for the moment. The front end won't yet generate these
intrinsics for ARM, so this is behind the scenes until complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91200  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-12 01:40:06 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						8d1ffbd1ad 
					 
					
						
						
							
							Lower setcc branchless, if this is profitable.  
						
						... 
						
						
						
						Based on the patch by Brian Lucas!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91175  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 23:01:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						87862e77bb 
					 
					
						
						
							
							Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91158  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 21:31:27 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						c8f9e4fdc5 
					 
					
						
						
							
							memory barrier instructions by definition have side effects. This prevents the post-RA scheduler from moving them around.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91150  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 20:29:53 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						817a46454a 
					 
					
						
						
							
							Honour setHasCalls() set from isel.  
						
						... 
						
						
						
						This is used in some weird cases like general dynamic TLS model.
This fixes PR5723
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91144  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 19:39:55 +00:00 
						 
				 
			
				
					
						
							
							
								Johnny Chen 
							
						 
					 
					
						
						
							
						
						0291d7ed09 
					 
					
						
						
							
							Store Register Exclusive should leave the source register Inst{3-0} unspecified.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91143  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 19:37:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						66869104dd 
					 
					
						
						
							
							Update properties.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91140  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 18:52:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						656e51454a 
					 
					
						
						
							
							Add support to 3-addressify 16-bit instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91104  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 06:01:48 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						5278eb802f 
					 
					
						
						
							
							Rough first pass at compare_and_swap atomic builtins for ARM mode. Work in progress.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91090  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-11 01:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						cbd77d2cb1 
					 
					
						
						
							
							Add instruction encoding for DMB/DSB  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91053  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-10 18:35:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						3728e96a6c 
					 
					
						
						
							
							Add memory barrier intrinsic support for ARM. Moving towards adding the atomic operations intrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91003  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-10 00:11:09 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c363094e04 
					 
					
						
						
							
							Optimize splat of a scalar load into a shuffle of a vector load when it's legal. e.g.  
						
						... 
						
						
						
						vector_shuffle (scalar_to_vector (i32 load (ptr + 4))), undef, <0, 0, 0, 0>
=>
vector_shuffle (v4i32 load ptr), undef, <1, 1, 1, 1>
iff ptr is 16-byte aligned (or can be made into 16-byte aligned).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90984  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-09 21:00:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7bd6478cd6 
					 
					
						
						
							
							Teach InferPtrAlignment to infer GV+cst alignment and use it to simplify x86 isl lowering code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90925  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-09 01:53:58 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						64fa4a9584 
					 
					
						
						
							
							Move isConsecutiveLoad to SelectionDAG. It's not target dependent and it's primary used by selectdag passes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90922  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-09 01:36:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d831cda3e7 
					 
					
						
						
							
							- Support inline asm 'w' constraint for 128-bit vector types.  
						
						... 
						
						
						
						- Also support the 'q' NEON registers asm code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90894  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-08 23:06:22 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						9aa1ec87b0 
					 
					
						
						
							
							Reduce (cmp 0, and_su (foo, bar)) into (bit foo, bar). This saves extra instruction. Patch inspired by Brian Lucas!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90819  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-08 01:03:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d84ea47b89 
					 
					
						
						
							
							Don't enable the post-RA scheduler on x86 except at -O3. In its  
						
						... 
						
						
						
						current form, it is too expensive in compile time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90781  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-07 19:04:31 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						6bfcba7e13 
					 
					
						
						
							
							Some pretty-printing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90742  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-07 02:28:41 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						06ccca5f70 
					 
					
						
						
							
							Add lowering of returnaddr and frameaddr intrinsics. Shamelessly stolen from x86 :)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-07 02:28:10 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						e662f7a8b2 
					 
					
						
						
							
							Initial codegen support for MSP430 ISRs  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90739  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-07 02:27:53 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						b2de1ea29b 
					 
					
						
						
							
							Add ability to select hw multiplier mode and select appropriate libcalls.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90737  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-07 02:27:08 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						7cca606aaa 
					 
					
						
						
							
							Dynamic stack realignment use of sp register as source/dest register  
						
						... 
						
						
						
						in "bic sp, sp, #15 " leads to unpredicatble behaviour in Thumb2 mode.
Emit the following code instead:
mov r4, sp
bic r4, r4, #15 
mov sp, r4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90724  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-06 22:39:50 +00:00