Chris Lattner 
							
						 
					 
					
						
						
							
						
						541f91b17c 
					 
					
						
						
							
							Custom lower all BUILD_VECTOR's so that we can compile vec_splat_u8(8) into  
						
						... 
						
						
						
						"vspltisb v0, 8" instead of a constant pool load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27335  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-02 00:43:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e3fea5a1c1 
					 
					
						
						
							
							Rearrange code a bit  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27306  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-31 19:52:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						32a988a095 
					 
					
						
						
							
							Add, sub and shuffle are legal for all vector types  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-31 19:48:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						33497cc992 
					 
					
						
						
							
							note to self: *save* file, then check it in  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27291  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-31 06:04:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4468c22458 
					 
					
						
						
							
							Implement an item from the readme, folding vcmp/vcmp. instructions with  
						
						... 
						
						
						
						identical instructions into a single instruction.  For example, for:
void test(vector float *x, vector float *y, int *P) {
  int v = vec_any_out(*x, *y);
  *x = (vector float)vec_cmpb(*x, *y);
  *P = v;
}
we now generate:
_test:
        mfspr r2, 256
        oris r6, r2, 49152
        mtspr 256, r6
        lvx v0, 0, r4
        lvx v1, 0, r3
        vcmpbfp. v0, v1, v0
        mfcr r4, 2
        stvx v0, 0, r3
        rlwinm r3, r4, 27, 31, 31
        xori r3, r3, 1
        stw r3, 0(r5)
        mtspr 256, r2
        blr
instead of:
_test:
        mfspr r2, 256
        oris r6, r2, 57344
        mtspr 256, r6
        lvx v0, 0, r4
        lvx v1, 0, r3
        vcmpbfp. v2, v1, v0
        mfcr r4, 2
***     vcmpbfp v0, v1, v0
        rlwinm r4, r4, 27, 31, 31
        stvx v0, 0, r3
        xori r3, r4, 1
        stw r3, 0(r5)
        mtspr 256, r2
        blr
Testcase here: CodeGen/PowerPC/vcmp-fold.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27290  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-31 06:02:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a17b1557ad 
					 
					
						
						
							
							Lower vector compares to VCMP nodes, just like we lower vector comparison  
						
						... 
						
						
						
						predicates to VCMPo nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27285  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-31 05:13:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						36f4b0da9d 
					 
					
						
						
							
							Mark INSERT_VECTOR_ELT as expand  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27276  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-31 01:48:55 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						98e70cc124 
					 
					
						
						
							
							Add a few more altivec intrinsics  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27215  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-28 04:15:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f20b13518 
					 
					
						
						
							
							Use normal lvx for scalar_to_vector instead of lve*x.  They do the exact  
						
						... 
						
						
						
						same thing and we have a dag node for the former.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27205  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-28 01:43:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						48b61a729d 
					 
					
						
						
							
							Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum value.  Split them into separate enums.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27201  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-28 00:40:33 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						f15485a8d0 
					 
					
						
						
							
							SelectionDAGISel can now natively handle Switch instructions, in the same  
						
						... 
						
						
						
						manner that the LowerSwitch LLVM to LLVM pass does: emitting a binary
search tree of basic blocks.  The new approach has several advantages:
it is faster, it generates significantly smaller code in many cases, and
it paves the way for implementing dense switch tables as a jump table by
handling switches directly in the instruction selector.
This functionality is currently only enabled on x86, but should be safe for
every target.  In anticipation of making it the default, the cfg is now
properly updated in the x86, ppc, and sparc select lowering code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27156  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-27 01:32:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6d92caddc4 
					 
					
						
						
							
							Codegen vector predicate compares.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27151  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-26 10:06:40 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5b6a01b59c 
					 
					
						
						
							
							Remove PPC:isZeroVector, use ISD::isBuildVectorAllZeros instead  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27149  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-26 09:52:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8d052bc711 
					 
					
						
						
							
							Add some basic patterns for other datatypes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27116  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-25 07:39:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9c61dcf1aa 
					 
					
						
						
							
							Codegen things like:  
						
						... 
						
						
						
						<int -1, int -1, int -1, int -1>
and
 <int 65537, int 65537, int 65537, int 65537>
Using things like:
  vspltisb v0, -1
and:
  vspltish v0, 1
instead of using constant pool loads.
This implements CodeGen/PowerPC/vec_splat.ll:splat_imm_i{32|16}.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27106  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-25 06:12:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7fbcef7102 
					 
					
						
						
							
							Disable the i32->float G5 optimization.  It is unsafe, as documented in the  
						
						... 
						
						
						
						comment.
This fixes 177.mesa, and McCat/09-vor with the td scheduler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-24 07:53:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						64b3a08bc6 
					 
					
						
						
							
							add support for using vxor to build zero vectors.  This implements  
						
						... 
						
						
						
						Regression/CodeGen/PowerPC/vec_zero.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27059  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-24 07:48:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ecfe55e65b 
					 
					
						
						
							
							When possible, custom lower 32-bit SINT_TO_FP to this:  
						
						... 
						
						
						
						_foo2:
        extsw r2, r3
        std r2, -8(r1)
        lfd f0, -8(r1)
        fcfid f0, f0
        frsp f1, f0
        blr
instead of this:
_foo2:
        lis r2, ha16(LCPI2_0)
        lis r4, 17200
        xoris r3, r3, 32768
        stw r3, -4(r1)
        stw r4, -8(r1)
        lfs f0, lo16(LCPI2_0)(r2)
        lfd f1, -8(r1)
        fsub f0, f1, f0
        frsp f1, f0
        blr
This speeds up Misc/pi from 2.44s->2.09s with LLC and from 3.01->2.18s
with llcbeta (16.7% and 38.1% respectively).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26943  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-22 05:30:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9b3bd467d0 
					 
					
						
						
							
							These targets don't support EXTRACT_VECTOR_ELT, though, in time, X86 will.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26930  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-21 20:51:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						23baa1b310 
					 
					
						
						
							
							remove dead variable  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26907  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-20 22:37:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bd83afd3cd 
					 
					
						
						
							
							Fix a couple of bugs in permute/splat generate, thanks to Nate for actually  
						
						... 
						
						
						
						figuring these out! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26904  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-20 18:26:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dd4d2d0e40 
					 
					
						
						
							
							Add support for generating vspltw, instead of a vperm instruction with a  
						
						... 
						
						
						
						constant pool load.  This generates significantly nicer code for splats.
When tblgen gets bugfixed, we can remove the custom selection code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26898  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-20 06:51:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						88a99ef7cc 
					 
					
						
						
							
							Implement PPC::isSplatShuffleMask and PPC::getVSPLTImmediate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26897  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-20 06:37:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ef819f8fbb 
					 
					
						
						
							
							fix duplicate definition errors  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26896  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-20 06:33:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f1d0b2beda 
					 
					
						
						
							
							Custom lower arbitrary VECTOR_SHUFFLE's to VPERM.  
						
						... 
						
						
						
						TODO: leave specific ones as VECTOR_SHUFFLE's and turn them into specialized
operations like vsplt*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26887  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-20 01:53:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b2177b9405 
					 
					
						
						
							
							Custom lower SCALAR_TO_VECTOR into lve*x.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26868  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-19 06:55:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ab515b09bf 
					 
					
						
						
							
							PPC doesn't have SCALAR_TO_VECTOR  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26865  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-19 06:17:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a064d28843 
					 
					
						
						
							
							rename these nodes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26848  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-19 01:13:28 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						81e8097377 
					 
					
						
						
							
							Remove BRTWOWAY*  
						
						... 
						
						
						
						Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26814  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-17 01:40:33 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c4c6257c1a 
					 
					
						
						
							
							Added getTargetLowering() to TargetMachine. Refactored targets to support this.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26742  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-13 23:20:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9601a86a64 
					 
					
						
						
							
							Copysign needs to be expanded everywhere.  Note that Alpha and IA64 should  
						
						... 
						
						
						
						implement copysign as a native op if they have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26541  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 05:08:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5126984b1d 
					 
					
						
						
							
							Compile this:  
						
						... 
						
						
						
						void foo(float a, int *b) { *b = a; }
to this:
_foo:
        fctiwz f0, f1
        stfiwx f0, 0, r4
        blr
instead of this:
_foo:
        fctiwz f0, f1
        stfd f0, -8(r1)
        lwz r2, -4(r1)
        stw r2, 0(r4)
        blr
This implements CodeGen/PowerPC/stfiwx.ll, and also incidentally does the
right thing for GCC bugzilla 26505.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-01 05:50:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8c13d0a573 
					 
					
						
						
							
							Use a target-specific dag-combine to implement CodeGen/PowerPC/fp-int-fp.ll.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26445  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-01 04:57:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d30bf01e90 
					 
					
						
						
							
							Vector op lowering.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26438  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-01 01:11:20 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4c1aa86657 
					 
					
						
						
							
							- Added option -relocation-model to set relocation model. Valid values include static, pic,  
						
						... 
						
						
						
						dynamic-no-pic, and default.
PPC and x86 default is dynamic-no-pic for Darwin, pic for others.
- Removed options -enable-pic and -ppc-static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26315  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-22 20:19:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1efa40f6a4 
					 
					
						
						
							
							split register class handling from explicit physreg handling.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26308  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-22 00:56:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4217ca8dc1 
					 
					
						
						
							
							Updates to match change of getRegForInlineAsmConstraint prototype  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-21 23:11:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d2ee218b49 
					 
					
						
						
							
							Moved PICEnabled to include/llvm/Target/TargetOptions.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26272  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-18 00:08:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						45b3976db7 
					 
					
						
						
							
							Switch to using getCALLSEQ_START instead of using our own creation calls  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26142  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-13 08:55:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ad3bc8d8ad 
					 
					
						
						
							
							Implement getConstraintType for PPC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26042  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-07 20:16:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						763317de1b 
					 
					
						
						
							
							Add the simple PPC integer constraints  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26027  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-07 00:47:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						750ac1bdfa 
					 
					
						
						
							
							Fix some of the stuff in the PPC README file, and clean up legalization  
						
						... 
						
						
						
						of the SELECT_CC, BR_CC, and BRTWOWAY_CC nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25875  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-01 07:19:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b8973bd8f5 
					 
					
						
						
							
							Allow the specification of explicit alignments for constant pool entries.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25855  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 22:23:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ddc787dfdc 
					 
					
						
						
							
							add info about the inline asm register constraints for PPC  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25853  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 19:20:21 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						4477590ef6 
					 
					
						
						
							
							Codegen  
						
						... 
						
						
						
						bool %test(int %X) {
  %Y = seteq int %X, 13
  ret bool %Y
}
as
_test:
        addi r2, r3, -13
        cntlzw r2, r2
        srwi r3, r2, 5
        blr
rather than
_test:
        cmpwi cr7, r3, 13
        mfcr r2
        rlwinm r3, r2, 31, 31, 31
        blr
This has very little effect on most code, but speeds up analyzer 23% and
mason 11%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25848  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 08:17:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						37dd6f1b79 
					 
					
						
						
							
							Functions that are lazily streamed in from the .bc file are *not* external.  
						
						... 
						
						
						
						This fixes llvm-test/SingleSource/UnitTests/2006-01-29-SimpleIndirectCall.c
and PR704
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25793  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 20:49:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d9b55dd21a 
					 
					
						
						
							
							Now that OpActions is big enough, we can specify actions for vector types  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25784  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 08:41:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3fd327fe7f 
					 
					
						
						
							
							disable this for now  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25778  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 07:31:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ec4a0c7c6b 
					 
					
						
						
							
							Request expansion of ConstantVec nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25773  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 06:32:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a54aa94197 
					 
					
						
						
							
							Targets all now request ConstantFP to be legalized into TargetConstantFP.  
						
						... 
						
						
						
						'fpimm' in .td files is now TargetConstantFP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25771  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 06:26:08 +00:00