Chris Lattner 
							
						 
					 
					
						
						
							
						
						7911f03626 
					 
					
						
						
							
							When transforming &A[i] < &A[j]  ->  i < j, make sure to perform the comparison  
						
						... 
						
						
						
						as a signed compare.  This patch may fix PR597, but is correct in any case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-18 23:07:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b3d59701c8 
					 
					
						
						
							
							Fix a problem that instcombine would hit when dealing with unreachable code.  
						
						... 
						
						
						
						Because the instcombine has to scan the entire function when it starts up
to begin with, we might as well do it in DFO so we can nuke unreachable code.
This fixes: Transforms/InstCombine/2005-07-07-DeadPHILoop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22348  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-07 20:40:38 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						4b828e6384 
					 
					
						
						
							
							Clean up some uninitialized variables and missing return statements that  
						
						... 
						
						
						
						GCC 4.0.0 compiler (sometimes incorrectly) warns about under release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22249  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-18 17:37:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e88b7533be 
					 
					
						
						
							
							This is not true: (X != 13 | X < 15) -> X < 15  
						
						... 
						
						
						
						It is actually always true.  This fixes PR586 and
Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22236  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-17 03:59:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5662503afd 
					 
					
						
						
							
							Don't crash when dealing with INTMIN.  This fixes PR585 and  
						
						... 
						
						
						
						Transforms/InstCombine/2005-06-16-RangeCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22234  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-17 02:05:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d7e31cfaae 
					 
					
						
						
							
							avoid constructing out of range shift amounts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22230  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-17 01:29:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f9c775c22e 
					 
					
						
						
							
							Fix PR583 and testcase Transforms/InstCombine/2005-06-15-DivSelectCrash.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22227  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-16 04:55:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8d7089e1d5 
					 
					
						
						
							
							Fix PR571, removing code that does just the WRONG thing :)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22225  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-16 03:00:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						aa457ac2e7 
					 
					
						
						
							
							Fix a bug in my previous patch.  Do not get the shift amount type (which  
						
						... 
						
						
						
						is always ubyte, get the type being shifted).  This unbreaks espresso
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22224  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-16 01:52:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e17a128a55 
					 
					
						
						
							
							Fix PR577 and testcase InstCombine/2005-06-15-ShiftSetCCCrash.ll.  
						
						... 
						
						
						
						Do not perform undefined out of range shifts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22217  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-15 20:53:31 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						877c3e2b81 
					 
					
						
						
							
							Put the hack back in that removes features, causes regressions to fail, but  
						
						... 
						
						
						
						allows test programs to succeed. Actual fix for this is forthcoming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22213  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-15 18:25:30 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						16b5644f04 
					 
					
						
						
							
							Unbreak several InstCombine regression checks introduced by a hack to  
						
						... 
						
						
						
						fix the bzip2 test. A better hack is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22209  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-13 06:41:26 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						837be1ec35 
					 
					
						
						
							
							hack to fix bzip2 (bug 571)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22192  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-04 12:43:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e43702695d 
					 
					
						
						
							
							preserve calling conventions when hacking on code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22024  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-14 12:25:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						08b22ecc88 
					 
					
						
						
							
							calling a function with the wrong CC is undefined, turn it into an unreachable  
						
						... 
						
						
						
						instruction.  This is useful for catching optimizers that don't preserve
calling conventions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21928  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-13 07:09:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6e4c6495eb 
					 
					
						
						
							
							implement and.ll:test33  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21809  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-09 04:58:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						120347e8d1 
					 
					
						
						
							
							Strength reduce SAR into SHR if there is no way sign bits could be shifted  
						
						... 
						
						
						
						in.  This tends to get cases like this:
  X = cast ubyte to int
  Y = shr int X, ...
Tested by: shift.ll:test24
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21775  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-08 17:34:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f4d4c87985 
					 
					
						
						
							
							Fix a miscompilation of crafty by clobbering the "A" variable.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21770  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-07 23:49:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a9e9211bbb 
					 
					
						
						
							
							Preserve tail marker  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21737  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-06 06:48:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						eabfa4787a 
					 
					
						
						
							
							Teach instcombine propagate zeroness through shl instructions, implementing  
						
						... 
						
						
						
						and.ll:test31
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21717  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-06 04:53:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d7115b01a0 
					 
					
						
						
							
							Implement shift.ll:test23.  If we are shifting right then immediately truncating  
						
						... 
						
						
						
						the result, turn signed shift rights into unsigned shift rights if possible.
This leads to later simplification and happens *often* in 176.gcc.  For example,
this testcase:
struct xxx { unsigned int code : 8; };
enum codes { A, B, C, D, E, F };
int foo(struct xxx *P) {
  if ((enum codes)P->code == A)
     bar();
}
used to be compiled to:
int %foo(%struct.xxx* %P) {
        %tmp.1 = getelementptr %struct.xxx* %P, int 0, uint 0           ; <uint*> [#uses=1]
        %tmp.2 = load uint* %tmp.1              ; <uint> [#uses=1]
        %tmp.3 = cast uint %tmp.2 to int                ; <int> [#uses=1]
        %tmp.4 = shl int %tmp.3, ubyte 24               ; <int> [#uses=1]
        %tmp.5 = shr int %tmp.4, ubyte 24               ; <int> [#uses=1]
        %tmp.6 = cast int %tmp.5 to sbyte               ; <sbyte> [#uses=1]
        %tmp.8 = seteq sbyte %tmp.6, 0          ; <bool> [#uses=1]
        br bool %tmp.8, label %then, label %UnifiedReturnBlock
Now it is compiled to:
        %tmp.1 = getelementptr %struct.xxx* %P, int 0, uint 0           ; <uint*> [#uses=1]
        %tmp.2 = load uint* %tmp.1              ; <uint> [#uses=1]
        %tmp.2 = cast uint %tmp.2 to sbyte              ; <sbyte> [#uses=1]
        %tmp.8 = seteq sbyte %tmp.2, 0          ; <bool> [#uses=1]
        br bool %tmp.8, label %then, label %UnifiedReturnBlock
which is the difference between this:
foo:
        subl $4, %esp
        movl 8(%esp), %eax
        movl (%eax), %eax
        shll $24, %eax
        sarl $24, %eax
        testb %al, %al
        jne .LBBfoo_2
and this:
foo:
        subl $4, %esp
        movl 8(%esp), %eax
        movl (%eax), %eax
        testb %al, %al
        jne .LBBfoo_2
This occurs 3243 times total in the External tests, 215x in povray,
6x in each f2c'd program, 1451x in 176.gcc, 7x in crafty, 20x in perl,
25x in gap, 3x in m88ksim, 25x in ijpeg.
Maybe this will cause a little jump on gcc tommorow :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21715  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-06 04:18:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7aed7ac5e1 
					 
					
						
						
							
							Implement xor.ll:test22  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21713  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-06 02:07:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d152380ba8 
					 
					
						
						
							
							implement and.ll:test30 and set.ll:test21  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21712  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-06 01:53:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						828eeddb38 
					 
					
						
						
							
							implement or.ll:test20  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21709  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-06 00:58:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						693787a5ec 
					 
					
						
						
							
							Instcombine: cast (X != 0) to int, cast (X == 1) to int  -> X iff X has only the low bit set.  
						
						... 
						
						
						
						This implements set.ll:test20.
This triggers 2x on povray, 9x on mesa, 11x on gcc, 2x on crafty, 1x on eon,
6x on perlbmk and 11x on m88ksim.
It allows us to compile these two functions into the same code:
struct s { unsigned int bit : 1; };
unsigned foo(struct s *p) {
  if (p->bit)
    return 1;
  else
    return 0;
}
unsigned bar(struct s *p) { return p->bit; }
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-04 19:10:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9fb25db11e 
					 
					
						
						
							
							Implement getelementptr.ll:test11  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21647  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-01 04:42:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						37366c1ba8 
					 
					
						
						
							
							Check for volatile loads only once.  
						
						... 
						
						
						
						Implement load.ll:test7
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21645  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-01 04:24:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						93b94a6ccf 
					 
					
						
						
							
							Fix the compile failures from last night.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21565  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-26 14:40:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a70b66d49e 
					 
					
						
						
							
							implement getelementptr.ll:test10  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21541  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-25 20:17:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f52d681657 
					 
					
						
						
							
							Eliminate cases where we could << by 64, which is undefined in C.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21500  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-24 17:46:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a1df33c0ee 
					 
					
						
						
							
							Implement xor.ll:test21:  select (not C), A, B -> select C, B, A  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21495  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-24 07:30:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						484d3cf0e3 
					 
					
						
						
							
							Use getPrimitiveSizeInBits() instead of getPrimitiveSize()*8  
						
						... 
						
						
						
						Completely rework the 'setcc (cast x to larger), y' code.  This code has
the advantage of implementing setcc.ll:test19 (being more general than
the previous code) and being correct in all cases.
This allows us to unxfail 2004-11-27-SetCCForCastLargerAndConstant.ll,
and close PR454.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21491  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-24 06:59:08 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						9d80930e95 
					 
					
						
						
							
							Eliminate tabs and trailing spaces  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21480  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-23 21:38:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6970b661cb 
					 
					
						
						
							
							Generalize the setcc -> PHI and Select  folding optimizations to work with  
						
						... 
						
						
						
						any constant RHS, not just a constant integer RHS.  This implements
select.ll:test17
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-23 15:31:55 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						fd93908ae8 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 23:48:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						956db27a63 
					 
					
						
						
							
							Instcombine this:  
						
						... 
						
						
						
						%shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4             ; <bool> [#uses=1]
        %tmp.6 = cast bool %shortcirc_val to int                ; <int> [#uses=1]
into this:
        %shortcirc_val = or bool %tmp.1, %tmp.4         ; <bool> [#uses=1]
        %tmp.6 = cast bool %shortcirc_val to int                ; <int> [#uses=1]
not this:
        %tmp.4.cast = cast bool %tmp.4 to int           ; <int> [#uses=1]
        %tmp.6 = select bool %tmp.1, int 1, int %tmp.4.cast             ; <int> [#uses=1]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 05:43:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						240d6f4c9d 
					 
					
						
						
							
							Eliminate a broken transformation, fixing PR548  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-19 06:04:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bf70b838e7 
					 
					
						
						
							
							Fix bug: InstCombine/2005-05-07-UDivSelectCrash.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21152  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-08 04:03:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7edc8c223e 
					 
					
						
						
							
							Implement the following xforms:  
						
						... 
						
						
						
						(X-Y)-X --> -Y
A + (B - A) --> B
(B - A) + A --> B
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21138  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-07 17:14:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						08954a26e4 
					 
					
						
						
							
							Implement InstCombine/add.ll:test28, transforming C1-(X+C2) --> (C1-C2)-X.  
						
						... 
						
						
						
						This occurs several dozen times in specint2k, particularly in crafty and gcc
apparently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21136  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-07 16:28:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						43d84d6b71 
					 
					
						
						
							
							Transform X-(X+Y) == -Y and X-(Y+X) == -Y  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21134  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-07 16:15:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b1515fe522 
					 
					
						
						
							
							disable this transformation in the one obscure case that really pessimizes  
						
						... 
						
						
						
						pointer analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20916  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-29 06:37:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8b9081081b 
					 
					
						
						
							
							Do not compute 1ULL << 64, which is undefined.  This fixes Ptrdist/ks on the  
						
						... 
						
						
						
						sparc, and testcase Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20445  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-04 23:21:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fcfe33acda 
					 
					
						
						
							
							Implement InstCombine/cast.ll:test25, a case that occurs many times  
						
						... 
						
						
						
						in spec
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19953  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-31 05:51:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f503e6c27 
					 
					
						
						
							
							Implement the trivial cases in InstCombine/store.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19950  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-31 05:36:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f9527850e6 
					 
					
						
						
							
							Implement Transforms/InstCombine/cast-load-gep.ll, which allows us to devirtualize  
						
						... 
						
						
						
						11 indirect calls in perlbmk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19947  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-31 04:50:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5551706b0f 
					 
					
						
						
							
							Adjust to changes in instruction interfaces.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19900  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 00:39:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ad5fec12a0 
					 
					
						
						
							
							* add some DEBUG statements  
						
						... 
						
						
						
						* Properly compile this:
struct a {};
int test() {
  struct a b[2];
  if (&b[0] != &b[1])
    abort ();
  return 0;
}
to 'return 0', not abort().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19875  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-28 19:32:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ad1e302723 
					 
					
						
						
							
							Get rid of a several dozen more and instructions in specint.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19786  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-23 20:26:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						45f57b8ee3 
					 
					
						
						
							
							Handle comparisons of gep instructions that have different typed indices  
						
						... 
						
						
						
						as long as they are the same size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19734  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-21 23:06:49 +00:00