For PR1070:
authorReid Spencer <rspencer@reidspencer.com>
Tue, 2 Jan 2007 05:53:06 +0000 (05:53 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Tue, 2 Jan 2007 05:53:06 +0000 (05:53 +0000)
Revert previous patch now that llvm-upgrade can handle collapsed type
plane conversion properly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32814 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/Generic/SwitchLowering.ll
test/CodeGen/PowerPC/branch-opt.ll
test/CodeGen/PowerPC/rotl.ll
test/CodeGen/X86/2006-05-02-InstrSched1.ll
test/Transforms/InstCombine/2006-05-06-Infloop.ll

index 4eef03079f296443d9fedbc05d58c9f07c612b97..37bfffaa02652a8cf6027d33f238891da5028d40 100644 (file)
@@ -19,6 +19,7 @@ bb:           ; preds = %bb, %entry
        ]
 
 bb7:           ; preds = %bb, %bb
+       %tmp = cast sbyte %tmp to ubyte         ; <ubyte> [#uses=1]
        tail call void %foo( ubyte %tmp )
        ret sbyte* %tmp2
 }
index 1f94169cb91ed4acef1be2618df5fd473d05994e..7f40a2d86680faa4044cb2504606b678d7a37777 100644 (file)
@@ -9,10 +9,10 @@ implementation   ; Functions:
 
 void %foo(int %W, int %X, int %Y, int %Z) {
 entry:
-       %X.u = cast int %X to uint              ; <uint> [#uses=1]
-       %Y.u = cast int %Y to uint              ; <uint> [#uses=1]
-       %Z.u = cast int %Z to uint              ; <uint> [#uses=1]
-       %W.u = cast int %W to uint              ; <uint> [#uses=1]
+       %X = cast int %X to uint                ; <uint> [#uses=1]
+       %Y = cast int %Y to uint                ; <uint> [#uses=1]
+       %Z = cast int %Z to uint                ; <uint> [#uses=1]
+       %W = cast int %W to uint                ; <uint> [#uses=1]
        %tmp1 = and int %W, 1           ; <int> [#uses=1]
        %tmp1 = seteq int %tmp1, 0              ; <bool> [#uses=1]
        br bool %tmp1, label %cond_false, label %bb5
@@ -21,7 +21,7 @@ bb:           ; preds = %bb5, %bb
        %indvar77 = phi uint [ %indvar.next78, %bb ], [ 0, %bb5 ]               ; <uint> [#uses=1]
        %tmp2 = tail call int (...)* %bar( )            ; <int> [#uses=0]
        %indvar.next78 = add uint %indvar77, 1          ; <uint> [#uses=2]
-       %exitcond79 = seteq uint %indvar.next78, %X.u           ; <bool> [#uses=1]
+       %exitcond79 = seteq uint %indvar.next78, %X             ; <bool> [#uses=1]
        br bool %exitcond79, label %cond_next48, label %bb
 
 bb5:           ; preds = %entry
@@ -37,7 +37,7 @@ bb12:         ; preds = %bb16, %bb12
        %indvar72 = phi uint [ %indvar.next73, %bb12 ], [ 0, %bb16 ]            ; <uint> [#uses=1]
        %tmp13 = tail call int (...)* %bar( )           ; <int> [#uses=0]
        %indvar.next73 = add uint %indvar72, 1          ; <uint> [#uses=2]
-       %exitcond74 = seteq uint %indvar.next73, %Y.u           ; <bool> [#uses=1]
+       %exitcond74 = seteq uint %indvar.next73, %Y             ; <bool> [#uses=1]
        br bool %exitcond74, label %cond_next48, label %bb12
 
 bb16:          ; preds = %cond_false
@@ -53,7 +53,7 @@ bb25:         ; preds = %bb29, %bb25
        %indvar67 = phi uint [ %indvar.next68, %bb25 ], [ 0, %bb29 ]            ; <uint> [#uses=1]
        %tmp26 = tail call int (...)* %bar( )           ; <int> [#uses=0]
        %indvar.next68 = add uint %indvar67, 1          ; <uint> [#uses=2]
-       %exitcond69 = seteq uint %indvar.next68, %Z.u           ; <bool> [#uses=1]
+       %exitcond69 = seteq uint %indvar.next68, %Z             ; <bool> [#uses=1]
        br bool %exitcond69, label %cond_next48, label %bb25
 
 bb29:          ; preds = %cond_false20
@@ -72,8 +72,9 @@ bb38:         ; preds = %bb42
 
 bb42:          ; preds = %cond_false33, %bb38
        %indvar = phi uint [ %indvar.next, %bb38 ], [ 0, %cond_false33 ]                ; <uint> [#uses=3]
+       %indvar = cast uint %indvar to int              ; <int> [#uses=1]
        %W_addr.0 = sub int %W, %indvar         ; <int> [#uses=1]
-       %exitcond = seteq uint %indvar, %W.u            ; <bool> [#uses=1]
+       %exitcond = seteq uint %indvar, %W              ; <bool> [#uses=1]
        br bool %exitcond, label %cond_next48, label %bb38
 
 cond_next48:           ; preds = %bb, %bb12, %bb25, %bb42, %cond_false33, %bb29, %bb16, %bb5
index e2045feb92096cf0c91ef4f51d2d8c2346856e58..fc3a6bc6ac4e387f46dbb1eb97e20d922ae95d9b 100644 (file)
@@ -7,11 +7,12 @@ implementation   ; Functions:
 int %rotlw(uint %x, int %sh) {
 entry:
        %tmp.3 = cast int %sh to ubyte          ; <ubyte> [#uses=1]
-       %x.s = cast uint %x to int              ; <int> [#uses=1]
+       %x = cast uint %x to int                ; <int> [#uses=1]
        %tmp.7 = sub int 32, %sh                ; <int> [#uses=1]
        %tmp.9 = cast int %tmp.7 to ubyte               ; <ubyte> [#uses=1]
        %tmp.10 = shr uint %x, ubyte %tmp.9             ; <uint> [#uses=1]
-       %tmp.4 = shl int %x.s, ubyte %tmp.3             ; <int> [#uses=1]
+       %tmp.4 = shl int %x, ubyte %tmp.3               ; <int> [#uses=1]
+       %tmp.10 = cast uint %tmp.10 to int              ; <int> [#uses=1]
        %tmp.12 = or int %tmp.10, %tmp.4                ; <int> [#uses=1]
        ret int %tmp.12
 }
@@ -22,17 +23,19 @@ entry:
        %tmp.4 = shr uint %x, ubyte %tmp.3              ; <uint> [#uses=1]
        %tmp.7 = sub int 32, %sh                ; <int> [#uses=1]
        %tmp.9 = cast int %tmp.7 to ubyte               ; <ubyte> [#uses=1]
-       %x.s = cast uint %x to int              ; <int> [#uses=1]
-       %tmp.10 = shl int %x.s, ubyte %tmp.9            ; <int> [#uses=1]
+       %x = cast uint %x to int                ; <int> [#uses=1]
+       %tmp.4 = cast uint %tmp.4 to int                ; <int> [#uses=1]
+       %tmp.10 = shl int %x, ubyte %tmp.9              ; <int> [#uses=1]
        %tmp.12 = or int %tmp.4, %tmp.10                ; <int> [#uses=1]
        ret int %tmp.12
 }
 
 int %rotlwi(uint %x) {
 entry:
-       %x.s = cast uint %x to int              ; <int> [#uses=1]
+       %x = cast uint %x to int                ; <int> [#uses=1]
        %tmp.7 = shr uint %x, ubyte 27          ; <uint> [#uses=1]
-       %tmp.3 = shl int %x.s, ubyte 5          ; <int> [#uses=1]
+       %tmp.3 = shl int %x, ubyte 5            ; <int> [#uses=1]
+       %tmp.7 = cast uint %tmp.7 to int                ; <int> [#uses=1]
        %tmp.9 = or int %tmp.3, %tmp.7          ; <int> [#uses=1]
        ret int %tmp.9
 }
@@ -40,8 +43,9 @@ entry:
 int %rotrwi(uint %x) {
 entry:
        %tmp.3 = shr uint %x, ubyte 5           ; <uint> [#uses=1]
-       %x.s = cast uint %x to int              ; <int> [#uses=1]
-       %tmp.7 = shl int %x.s, ubyte 27         ; <int> [#uses=1]
+       %x = cast uint %x to int                ; <int> [#uses=1]
+       %tmp.3 = cast uint %tmp.3 to int                ; <int> [#uses=1]
+       %tmp.7 = shl int %x, ubyte 27           ; <int> [#uses=1]
        %tmp.9 = or int %tmp.3, %tmp.7          ; <int> [#uses=1]
        ret int %tmp.9
 }
index 47118970c396a7a1f9b27812ffaee30e1dc5406b..631e416836de4b82da0b817804c088296bfd8687 100644 (file)
@@ -11,8 +11,10 @@ int %compare(sbyte* %a, sbyte* %b) {
        %tmp4 = getelementptr ubyte* %tmp, uint %tmp3           ; <ubyte*> [#uses=1]
        %tmp7 = load uint* %tmp         ; <uint> [#uses=1]
        %tmp8 = getelementptr ubyte* %tmp, uint %tmp7           ; <ubyte*> [#uses=1]
-       %result = tail call int %memcmp( sbyte* %tmp8, sbyte* %tmp4, uint %tmp )                ; <int> [#uses=1]
-       ret int %result
+       %tmp8 = cast ubyte* %tmp8 to sbyte*             ; <sbyte*> [#uses=1]
+       %tmp4 = cast ubyte* %tmp4 to sbyte*             ; <sbyte*> [#uses=1]
+       %tmp = tail call int %memcmp( sbyte* %tmp8, sbyte* %tmp4, uint %tmp )           ; <int> [#uses=1]
+       ret int %tmp
 }
 
 declare int %memcmp(sbyte*, sbyte*, uint)
index 3b708cd59dc9b5c412ac1dbf6ab1a204f8e67477..ef05e6b354252a22c5fd845a508a4228b69721d1 100644 (file)
@@ -10,7 +10,7 @@ implementation   ; Functions:
 
 int %mem_mono_copy_mono(%struct.gx_device* %dev, ubyte* %base, int %sourcex, int %raster, int %x, int %y, int %w, int %h, uint %zero, uint %one) {
 entry:
-       %raster.ui = cast int %raster to uint           ; <uint> [#uses=3]
+       %raster = cast int %raster to uint              ; <uint> [#uses=3]
        %tmp = seteq uint %one, %zero           ; <bool> [#uses=1]
        br bool %tmp, label %cond_true, label %cond_next
 
@@ -146,6 +146,7 @@ cond_true249:               ; preds = %cond_true249, %cond_true249.preheader
        %optr.3.2 = phi ubyte* [ %tmp232, %cond_true249 ], [ %dest.1.0, %cond_true249.preheader ]               ; <ubyte*> [#uses=1]
        %bptr.3.2 = phi ubyte* [ %tmp226, %cond_true249 ], [ %line.1.0, %cond_true249.preheader ]               ; <ubyte*> [#uses=1]
        %tmp. = add int %tmp109, %w             ; <int> [#uses=1]
+       %indvar = cast uint %indvar to int              ; <int> [#uses=1]
        %tmp.58 = mul int %indvar, -8           ; <int> [#uses=1]
        %tmp.57 = add int %tmp., -16            ; <int> [#uses=1]
        %tmp246.2 = add int %tmp.58, %tmp.57            ; <int> [#uses=1]
@@ -235,8 +236,10 @@ cond_true295.us:           ; preds = %cond_next280.us, %cond_true295.preheader.split.us
        %dest.1.0.us = phi ubyte* [ %tmp286.us, %cond_next280.us ], [ %tmp100, %cond_true295.preheader.split.us ]               ; <ubyte*> [#uses=3]
        %dest_line.1.0.us = phi ubyte** [ %tmp282.us, %cond_next280.us ], [ %tmp96, %cond_true295.preheader.split.us ]          ; <ubyte**> [#uses=1]
        %tmp.89 = sub uint 0, %indvar86         ; <uint> [#uses=1]
+       %tmp.89 = cast uint %tmp.89 to int              ; <int> [#uses=1]
        %tmp292.0.us = add int %tmp.89, %tmp29222               ; <int> [#uses=1]
-       %tmp.91 = mul uint %indvar86, %raster.ui                ; <uint> [#uses=1]
+       %tmp.91 = mul uint %indvar86, %raster           ; <uint> [#uses=1]
+       %tmp.91 = cast uint %tmp.91 to int              ; <int> [#uses=1]
        %tmp104.sum101 = add int %tmp102, %tmp.91               ; <int> [#uses=1]
        %line.1.0.us = getelementptr ubyte* %base, int %tmp104.sum101           ; <ubyte*> [#uses=2]
        %tmp.us = load ubyte* %line.1.0.us              ; <ubyte> [#uses=1]
@@ -310,8 +313,10 @@ cond_true295:              ; preds = %cond_true295.preheader.split, %cond_next280
        %dest.1.0 = phi ubyte* [ %tmp286, %cond_next280 ], [ %tmp100, %cond_true295.preheader.split ]           ; <ubyte*> [#uses=4]
        %dest_line.1.0 = phi ubyte** [ %tmp282, %cond_next280 ], [ %tmp96, %cond_true295.preheader.split ]              ; <ubyte**> [#uses=1]
        %tmp.63 = sub uint 0, %indvar60         ; <uint> [#uses=1]
+       %tmp.63 = cast uint %tmp.63 to int              ; <int> [#uses=1]
        %tmp292.0 = add int %tmp.63, %tmp29222          ; <int> [#uses=1]
-       %tmp.65 = mul uint %indvar60, %raster.ui                ; <uint> [#uses=1]
+       %tmp.65 = mul uint %indvar60, %raster           ; <uint> [#uses=1]
+       %tmp.65 = cast uint %tmp.65 to int              ; <int> [#uses=1]
        %tmp104.sum97 = add int %tmp102, %tmp.65                ; <int> [#uses=1]
        %line.1.0 = getelementptr ubyte* %base, int %tmp104.sum97               ; <ubyte*> [#uses=3]
        %tmp = load ubyte* %line.1.0            ; <ubyte> [#uses=1]
@@ -381,6 +386,7 @@ cond_true398:               ; preds = %cond_true398, %cond_true398.preheader
        %optr309.3.0 = phi ubyte* [ %optr309.3, %cond_true398 ], [ %optr309.353, %cond_true398.preheader ]              ; <ubyte*> [#uses=2]
        %optr309.3.in.0 = add uint %indvar66, %optr309.3.in51           ; <uint> [#uses=1]
        %tmp.70 = add int %tmp109, %w           ; <int> [#uses=1]
+       %indvar66 = cast uint %indvar66 to int          ; <int> [#uses=1]
        %tmp.72 = mul int %indvar66, -8         ; <int> [#uses=1]
        %tmp.71 = add int %tmp.70, -8           ; <int> [#uses=1]
        %count308.3.0 = add int %tmp.72, %tmp.71                ; <int> [#uses=1]
@@ -434,6 +440,7 @@ cond_true414:               ; preds = %cond_true404
        %tmp416 = load ubyte* %tmp410           ; <ubyte> [#uses=1]
        %tmp416 = cast ubyte %tmp416 to uint            ; <uint> [#uses=1]
        %tmp418 = shr uint %tmp416, ubyte %tmp319               ; <uint> [#uses=1]
+       %tmp418 = cast uint %tmp418 to int              ; <int> [#uses=1]
        %tmp420 = add int %tmp418, %tmp408              ; <int> [#uses=1]
        br label %cond_next422
 
@@ -472,6 +479,7 @@ cond_true457.preheader:             ; preds = %cond_false299
        %tmp354 = and uint %iftmp.37.0, %mask.1.1               ; <uint> [#uses=1]
        %tmp361 = sub int %w, %tmp110           ; <int> [#uses=2]
        %tmp39755 = setgt int %tmp361, 7                ; <bool> [#uses=1]
+       %iftmp.35.0 = cast uint %iftmp.35.0 to int              ; <int> [#uses=1]
        %tmp426 = cast uint %rmask.0.1 to ubyte         ; <ubyte> [#uses=1]
        %tmp426not = xor ubyte %tmp426, 255             ; <ubyte> [#uses=1]
        %tmp428 = or ubyte %tmp347, %tmp426not          ; <ubyte> [#uses=1]
@@ -484,8 +492,10 @@ cond_true457:              ; preds = %cond_true457.preheader, %cond_next442
        %dest.3.0 = phi ubyte* [ %tmp448, %cond_next442 ], [ %tmp100, %cond_true457.preheader ]         ; <ubyte*> [#uses=3]
        %dest_line.3.0 = phi ubyte** [ %tmp444, %cond_next442 ], [ %tmp96, %cond_true457.preheader ]            ; <ubyte**> [#uses=1]
        %tmp.77 = sub uint 0, %indvar74         ; <uint> [#uses=1]
+       %tmp.77 = cast uint %tmp.77 to int              ; <int> [#uses=1]
        %tmp454.0 = add int %tmp.77, %tmp45438          ; <int> [#uses=1]
-       %tmp.79 = mul uint %indvar74, %raster.ui                ; <uint> [#uses=1]
+       %tmp.79 = mul uint %indvar74, %raster           ; <uint> [#uses=1]
+       %tmp.79 = cast uint %tmp.79 to int              ; <int> [#uses=1]
        %tmp104.sum = add int %tmp102, %tmp.79          ; <int> [#uses=1]
        %line.3.0 = getelementptr ubyte* %base, int %tmp104.sum         ; <ubyte*> [#uses=3]
        %tmp318 = load ubyte* %line.3.0         ; <ubyte> [#uses=2]