Chris Lattner 
							
						 
					 
					
						
						
							
						
						0f2287baa1 
					 
					
						
						
							
							Remove all foldings of ZERO_EXTEND_INREG, moving them to work for AND nodes  
						
						... 
						
						
						
						instead.  OVerall, this increases the amount of folding we can do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21265  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-13 02:38:18 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						db81ebab89 
					 
					
						
						
							
							Fold shift x, [sz]ext(y) -> shift x, y  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21262  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-12 23:32:28 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						b882752bd0 
					 
					
						
						
							
							Fold shift by size larger than type size to undef  
						
						... 
						
						
						
						Make llvm undef values generate ISD::UNDEF nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21261  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-12 23:12:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fd1f1ee0ba 
					 
					
						
						
							
							Remove some redundant checks, add a couple of new ones.  This allows us to  
						
						... 
						
						
						
						compile this:
int foo (unsigned long a, unsigned long long g) {
  return a >= g;
}
To:
foo:
        movl 8(%esp), %eax
        cmpl %eax, 4(%esp)
        setae %al
        cmpl $0, 12(%esp)
        sete %cl
        andb %al, %cl
        movzbl %cl, %eax
        ret
instead of:
foo:
        movl 8(%esp), %eax
        cmpl %eax, 4(%esp)
        setae %al
        movzbw %al, %cx
        movl 12(%esp), %edx
        cmpl $0, %edx
        sete %al
        movzbw %al, %ax
        cmpl $0, %edx
        cmove %cx, %ax
        movzbl %al, %eax
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21244  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-12 02:54:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3b2c1d95a2 
					 
					
						
						
							
							canonicalize x <u 1 -> x == 0.  On this testcase:  
						
						... 
						
						
						
						unsigned long long g;
unsigned long foo (unsigned long a) {
  return (a >= g) ? 1 : 0;
}
It changes the ppc code from:
_foo:
.LBB_foo_0:     ; entry
        mflr r11
        stw r11, 8(r1)
        bl "L00000$pb"
"L00000$pb":
        mflr r2
        addis r2, r2, ha16(L_g$non_lazy_ptr-"L00000$pb")
        lwz r2, lo16(L_g$non_lazy_ptr-"L00000$pb")(r2)
        lwz r4, 0(r2)
        lwz r2, 4(r2)
        cmplw cr0, r3, r2
        li r2, 1
        li r3, 0
        bge .LBB_foo_2  ; entry
.LBB_foo_1:     ; entry
        or r2, r3, r3
.LBB_foo_2:     ; entry
        cmplwi cr0, r4, 1
        li r3, 1
        li r5, 0
        blt .LBB_foo_4  ; entry
.LBB_foo_3:     ; entry
        or r3, r5, r5
.LBB_foo_4:     ; entry
        cmpwi cr0, r4, 0
        beq .LBB_foo_6  ; entry
.LBB_foo_5:     ; entry
        or r2, r3, r3
.LBB_foo_6:     ; entry
        rlwinm r3, r2, 0, 31, 31
        lwz r11, 8(r1)
        mtlr r11
        blr
to:
_foo:
.LBB_foo_0:     ; entry
        mflr r11
        stw r11, 8(r1)
        bl "L00000$pb"
"L00000$pb":
        mflr r2
        addis r2, r2, ha16(L_g$non_lazy_ptr-"L00000$pb")
        lwz r2, lo16(L_g$non_lazy_ptr-"L00000$pb")(r2)
        lwz r4, 0(r2)
        lwz r2, 4(r2)
        cmplw cr0, r3, r2
        li r2, 1
        li r3, 0
        bge .LBB_foo_2  ; entry
.LBB_foo_1:     ; entry
        or r2, r3, r3
.LBB_foo_2:     ; entry
        cntlzw r3, r4
        srwi r3, r3, 5
        cmpwi cr0, r4, 0
        beq .LBB_foo_4  ; entry
.LBB_foo_3:     ; entry
        or r2, r3, r3
.LBB_foo_4:     ; entry
        rlwinm r3, r2, 0, 31, 31
        lwz r11, 8(r1)
        mtlr r11
        blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21241  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-12 00:28:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2bb6f41282 
					 
					
						
						
							
							Don't bother sign/zext_inreg'ing the result of an and operation if we know  
						
						... 
						
						
						
						the result does change as a result of the extend.
This improves codegen for Alpha on this testcase:
int %a(ushort* %i) {
        %tmp.1 = load ushort* %i
        %tmp.2 = cast ushort %tmp.1 to int
        %tmp.4 = and int %tmp.2, 1
        ret int %tmp.4
}
Generating:
a:
        ldgp $29, 0($27)
        ldwu $0,0($16)
        and $0,1,$0
        ret $31,($26),1
instead of:
a:
        ldgp $29, 0($27)
        ldwu $0,0($16)
        and $0,1,$0
        addl $0,0,$0
        ret $31,($26),1
btw, alpha really should switch to livein/outs for args :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21213  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-10 23:37:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						45278e37eb 
					 
					
						
						
							
							Fold zext_inreg(zextload), likewise for sext's  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21204  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-10 04:33:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						edeecfcbd5 
					 
					
						
						
							
							add a simple xform  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21203  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-10 04:04:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dea29e25c3 
					 
					
						
						
							
							Fix a thinko.  If the operand is promoted, pass the promoted value into  
						
						... 
						
						
						
						the new zero extend, not the original operand.  This fixes cast bool -> long
on ppc.
Add an unrelated fixme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21196  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-10 01:13:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a2daa8c78d 
					 
					
						
						
							
							add a little peephole optimization.  This allows us to codegen:  
						
						... 
						
						
						
						int a(short i) {
        return i & 1;
}
as
_a:
        andi. r3, r3, 1
        blr
instead of:
_a:
        rlwinm r2, r3, 0, 16, 31
        andi. r3, r2, 1
        blr
on ppc.  It should also help the other risc targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21189  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-09 21:43:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						59723e9698 
					 
					
						
						
							
							recognize some patterns as fabs operations, so that fabs at the source level  
						
						... 
						
						
						
						is deconstructed then reconstructed here.  This catches 19 fabs's in 177.mesa
9 in 168.wupwise, 5 in 171.swim, 3 in 172.mgrid, and 14 in 173.applu out of
specfp2000.
This allows the X86 code generator to make MUCH better code than before for
each of these and saves one instr on ppc.
This depends on the previous CFE patch to expose these correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21171  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-09 05:15:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ef847df087 
					 
					
						
						
							
							print and fold BRCONDTWOWAY correctly  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21165  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-09 03:27:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						485df9b84b 
					 
					
						
						
							
							canonicalize a bunch of operations involving fneg  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21160  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-09 03:02:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5a6bace3ab 
					 
					
						
						
							
							If a target zero or sign extends the result of its setcc, allow folding of  
						
						... 
						
						
						
						this into sign/zero extension instructions later.
On PPC, for example, this testcase:
%G = external global sbyte
implementation
void %test(int %X, int %Y) {
  %C = setlt int %X, %Y
  %D = cast bool %C to sbyte
  store sbyte %D, sbyte* %G
  ret void
}
Now codegens to:
        cmpw cr0, r3, r4
        li r3, 1
        li r4, 0
        blt .LBB_test_2 ;
.LBB_test_1:    ;
        or r3, r4, r4
.LBB_test_2:    ;
        addis r2, r2, ha16(L_G$non_lazy_ptr-"L00000$pb")
        lwz r2, lo16(L_G$non_lazy_ptr-"L00000$pb")(r2)
        stb r3, 0(r2)
instead of:
        cmpw cr0, r3, r4
        li r3, 1
        li r4, 0
        blt .LBB_test_2 ;
.LBB_test_1:    ;
        or r3, r4, r4
.LBB_test_2:    ;
***     rlwinm r3, r3, 0, 31, 31
        addis r2, r2, ha16(L_G$non_lazy_ptr-"L00000$pb")
        lwz r2, lo16(L_G$non_lazy_ptr-"L00000$pb")(r2)
        stb r3, 0(r2)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21148  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-07 19:43:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2467392c59 
					 
					
						
						
							
							Remove somethign I had for testing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21144  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-07 18:58:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						67255a1d17 
					 
					
						
						
							
							This patch does two things.  First, it canonicalizes 'X >= C' -> 'X > C-1'  
						
						... 
						
						
						
						(likewise for <= >=u >=u).
Second, it implements a special case hack to turn 'X gtu SINTMAX' -> 'X lt 0'
On powerpc, for example, this changes this:
        lis r2, 32767
        ori r2, r2, 65535
        cmplw cr0, r3, r2
        bgt .LBB_test_2
into:
        cmpwi cr0, r3, 0
        blt .LBB_test_2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21142  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-07 18:14:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8e8bd656b3 
					 
					
						
						
							
							Fix a really scary bug that Nate found where we weren't deleting the right  
						
						... 
						
						
						
						elements auto of the autoCSE maps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21128  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-07 00:30:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						1867054643 
					 
					
						
						
							
							Add MULHU and MULHS nodes for the high part of an (un)signed 32x32=64b  
						
						... 
						
						
						
						multiply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-05 22:36:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ff9fd0a99c 
					 
					
						
						
							
							print fneg/fabs  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21008  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-02 04:58:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5b359c6c4f 
					 
					
						
						
							
							fix some bugs in the implementation of SHL_PARTS and friends.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21004  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-02 04:00:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						41be951a47 
					 
					
						
						
							
							Print some new nodes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21001  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-02 03:30:42 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						fc1b1dad88 
					 
					
						
						
							
							Add ISD::UNDEF node  
						
						... 
						
						
						
						Teach the SelectionDAG code how to expand and promote it
Have PPC32 LowerCallTo generate ISD::UNDEF for int arg regs used up by fp
  arguments, but not shadowing their value.  This allows us to do the right
  thing with both fixed and vararg floating point arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20988  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-01 22:34:39 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						95762124a1 
					 
					
						
						
							
							PCMarker support for DAG and Alpha  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20965  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-31 21:24:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ee639f1760 
					 
					
						
						
							
							Fix a bug where we would incorrectly do a sign ext instead of a zero ext  
						
						... 
						
						
						
						because we were checking the wrong thing.  Thanks to andrew for pointing
this out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20554  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-10 20:55:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						14723c264d 
					 
					
						
						
							
							constant fold FP_ROUND_INREG, ZERO_EXTEND_INREG, and SIGN_EXTEND_INREG  
						
						... 
						
						
						
						This allows the alpha backend to compile:
bool %test(uint %P) {
        %c = seteq uint %P, 0
        ret bool %c
}
into:
test:
        ldgp $29, 0($27)
        ZAP $16,240,$0
        CMPEQ $0,0,$0
        AND $0,1,$0
        ret $31,($26),1
instead of:
test:
        ldgp $29, 0($27)
        ZAP $16,240,$0
        ldiq $1,0
        ZAP $1,240,$1
        CMPEQ $0,$1,$0
        AND $0,1,$0
        ret $31,($26),1
... and fixes PR534.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20534  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-09 18:37:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d8658616cf 
					 
					
						
						
							
							Don't rely on doubles comparing identical to each other, which doesn't work  
						
						... 
						
						
						
						for 0.0 and -0.0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20230  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-02-17 20:17:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b48da39536 
					 
					
						
						
							
							Remove the 3 HACK HACK HACKs I put in before, fixing them properly with  
						
						... 
						
						
						
						the new TLI that is available.
Implement support for handling out of range shifts.  This allows us to
compile this code (a 64-bit rotate):
unsigned long long f3(unsigned long long x) {
  return (x << 32) | (x >> (64-32));
}
into this:
f3:
        mov %EDX, DWORD PTR [%ESP + 4]
        mov %EAX, DWORD PTR [%ESP + 8]
        ret
GCC produces this:
$ gcc t.c -masm=intel -O3 -S -o - -fomit-frame-pointer
..
f3:
        push    %ebx
        mov     %ebx, DWORD PTR [%esp+12]
        mov     %ecx, DWORD PTR [%esp+8]
        mov     %eax, %ebx
        mov     %edx, %ecx
        pop     %ebx
        ret
The Simple ISEL produces (eww gross):
f3:
        sub %ESP, 4
        mov DWORD PTR [%ESP], %ESI
        mov %EDX, DWORD PTR [%ESP + 8]
        mov %ECX, DWORD PTR [%ESP + 12]
        mov %EAX, 0
        mov %ESI, 0
        or %EAX, %ECX
        or %EDX, %ESI
        mov %ESI, DWORD PTR [%ESP]
        add %ESP, 4
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19780  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-23 04:39:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7cd50cf286 
					 
					
						
						
							
							More bugfixes for IA64 shifts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19739  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-22 00:33:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a7306db5f7 
					 
					
						
						
							
							Add a nasty hack to fix Alpha/IA64 multiplies by a power of two.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19737  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-22 00:20:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9bb86f46e1 
					 
					
						
						
							
							Remove unneeded line.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19736  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-21 23:43:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1e7ceaf0a0 
					 
					
						
						
							
							test commit  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19735  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-21 23:38:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a93ec3ebfb 
					 
					
						
						
							
							Unary token factor nodes are unneeded.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19727  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-21 18:01:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						17eee18f40 
					 
					
						
						
							
							implement add_parts/sub_parts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19714  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-20 18:50:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						39908e0ce0 
					 
					
						
						
							
							Know some identities about tokenfactor nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19699  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-19 18:01:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						88218ef706 
					 
					
						
						
							
							Know some simple identities.  This improves codegen for (1LL << N).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19698  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-19 17:29:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4a9b4f1943 
					 
					
						
						
							
							Keep track of the retval type as well.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-18 19:26:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f30b73b1c6 
					 
					
						
						
							
							Allow setcc operations to have nonbool types.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19656  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-18 02:52:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6e4e7652d8 
					 
					
						
						
							
							Fix the completely broken FP constant folds for setcc's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19651  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-18 02:11:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						068a81e9fc 
					 
					
						
						
							
							Refactor code into a new method.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-17 17:15:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7636512f59 
					 
					
						
						
							
							Add assertions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19596  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 02:23:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						950aa3ca2c 
					 
					
						
						
							
							Eliminate unneeded extensions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19577  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 00:17:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8a389bb376 
					 
					
						
						
							
							Print extra type for nodes with extra type info.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 21:11:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ea6924444 
					 
					
						
						
							
							Common code factored out.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 07:14:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						859157daee 
					 
					
						
						
							
							Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19568  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 06:17:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69a52155d2 
					 
					
						
						
							
							Adjust to CopyFromReg changes, implement deletion of truncating/extending  
						
						... 
						
						
						
						stores/loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19562  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-14 22:38:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2ee743ff9b 
					 
					
						
						
							
							Start implementing truncating stores and extending loads.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-14 22:08:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						18c2f13e0f 
					 
					
						
						
							
							Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19535  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-13 20:50:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						282c5cae89 
					 
					
						
						
							
							Print new node.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-13 17:59:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f0ca79a75 
					 
					
						
						
							
							Do not fold (zero_ext (sign_ext V)) -> (sign_ext V), they are not the same.  
						
						... 
						
						
						
						This fixes llvm-test/SingleSource/Regression/C/casts.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19519  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-12 18:51:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5c88456227 
					 
					
						
						
							
							New method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-12 18:37:47 +00:00