[llvm-commits] [llvm] r93774 - in /llvm/trunk/test/Transforms/InstCombine: apint-elim-logicalops.ll signext.ll

Chris Lattner sabre at nondot.org
Mon Jan 18 13:55:44 PST 2010


Author: lattner
Date: Mon Jan 18 15:55:43 2010
New Revision: 93774

URL: http://llvm.org/viewvc/llvm-project?rev=93774&view=rev
Log:
remove a redundant test, filecheckize another.

Removed:
    llvm/trunk/test/Transforms/InstCombine/apint-elim-logicalops.ll
Modified:
    llvm/trunk/test/Transforms/InstCombine/signext.ll

Removed: llvm/trunk/test/Transforms/InstCombine/apint-elim-logicalops.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/apint-elim-logicalops.ll?rev=93773&view=auto

==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/apint-elim-logicalops.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/apint-elim-logicalops.ll (removed)
@@ -1,39 +0,0 @@
-; Test that elimination of logical operators works with 
-; arbitrary precision integers.
-; RUN: opt < %s -instcombine -S | \
-; RUN:    not grep {(and\|xor\|add\|shl\|shr)}
-; END.
-
-define i33 @test1(i33 %x) {
-        %tmp.1 = and i33 %x, 65535           ; <i33> [#uses=1]
-        %tmp.2 = xor i33 %tmp.1, -32768      ; <i33> [#uses=1]
-        %tmp.3 = add i33 %tmp.2, 32768       ; <i33> [#uses=1]
-        ret i33 %tmp.3
-}
-
-define i33 @test2(i33 %x) {
-        %tmp.1 = and i33 %x, 65535           ; <i33> [#uses=1]
-        %tmp.2 = xor i33 %tmp.1, 32768       ; <i33> [#uses=1]
-        %tmp.3 = add i33 %tmp.2, -32768      ; <i33> [#uses=1]
-        ret i33 %tmp.3
-}
-
-define i33 @test3(i16 %P) {
-        %tmp.1 = zext i16 %P to i33          ; <i33> [#uses=1]
-        %tmp.4 = xor i33 %tmp.1, 32768       ; <i33> [#uses=1]
-        %tmp.5 = add i33 %tmp.4, -32768      ; <i33> [#uses=1]
-        ret i33 %tmp.5
-}
-
-define i33 @test5(i33 %x) {
-	%tmp.1 = and i33 %x, 254
-	%tmp.2 = xor i33 %tmp.1, 128
-	%tmp.3 = add i33 %tmp.2, -128
-	ret i33 %tmp.3
-}
-
-define i33 @test6(i33 %x) {
-        %tmp.2 = shl i33 %x, 16           ; <i33> [#uses=1]
-        %tmp.4 = lshr i33 %tmp.2, 16      ; <i33> [#uses=1]
-        ret i33 %tmp.4
-}

Modified: llvm/trunk/test/Transforms/InstCombine/signext.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/InstCombine/signext.ll?rev=93774&r1=93773&r2=93774&view=diff

==============================================================================
--- llvm/trunk/test/Transforms/InstCombine/signext.ll (original)
+++ llvm/trunk/test/Transforms/InstCombine/signext.ll Mon Jan 18 15:55:43 2010
@@ -1,12 +1,16 @@
-; RUN: opt < %s -instcombine -S | \
-; RUN:    not grep {(and\|xor\|add\|shl\|shr)}
-; END.
+; RUN: opt < %s -instcombine -S | FileCheck %s
+
+target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128:n8:16:32:64"
 
 define i32 @test1(i32 %x) {
         %tmp.1 = and i32 %x, 65535              ; <i32> [#uses=1]
         %tmp.2 = xor i32 %tmp.1, -32768         ; <i32> [#uses=1]
         %tmp.3 = add i32 %tmp.2, 32768          ; <i32> [#uses=1]
         ret i32 %tmp.3
+; CHECK: @test1
+; CHECK: %sext = trunc i32 %x to i16
+; CHECK: %tmp.3 = sext i16 %sext to i32
+; CHECK: ret i32 %tmp.3
 }
 
 define i32 @test2(i32 %x) {
@@ -14,6 +18,10 @@
         %tmp.2 = xor i32 %tmp.1, 32768          ; <i32> [#uses=1]
         %tmp.3 = add i32 %tmp.2, -32768         ; <i32> [#uses=1]
         ret i32 %tmp.3
+; CHECK: @test2
+; CHECK: %sext = trunc i32 %x to i16
+; CHECK: %tmp.3 = sext i16 %sext to i32
+; CHECK: ret i32 %tmp.3
 }
 
 define i32 @test3(i16 %P) {
@@ -21,6 +29,9 @@
         %tmp.4 = xor i32 %tmp.1, 32768          ; <i32> [#uses=1]
         %tmp.5 = add i32 %tmp.4, -32768         ; <i32> [#uses=1]
         ret i32 %tmp.5
+; CHECK: @test3
+; CHECK: %tmp.5 = sext i16 %P to i32
+; CHECK: ret i32 %tmp.5
 }
 
 define i32 @test4(i16 %P) {
@@ -28,18 +39,29 @@
         %tmp.4 = xor i32 %tmp.1, 32768          ; <i32> [#uses=1]
         %tmp.5 = add i32 %tmp.4, -32768         ; <i32> [#uses=1]
         ret i32 %tmp.5
+; CHECK: @test4
+; CHECK: %tmp.5 = sext i16 %P to i32
+; CHECK: ret i32 %tmp.5
 }
 
 define i32 @test5(i32 %x) {
-        %tmp.1 = and i32 %x, 254                ; <i32> [#uses=1]
+        %tmp.1 = and i32 %x, 255                ; <i32> [#uses=1]
         %tmp.2 = xor i32 %tmp.1, 128            ; <i32> [#uses=1]
         %tmp.3 = add i32 %tmp.2, -128           ; <i32> [#uses=1]
         ret i32 %tmp.3
+; CHECK: @test5
+; CHECK: %sext = trunc i32 %x to i8
+; CHECK: %tmp.3 = sext i8 %sext to i32
+; CHECK: ret i32 %tmp.3
 }
 
 define i32 @test6(i32 %x) {
         %tmp.2 = shl i32 %x, 16         ; <i32> [#uses=1]
         %tmp.4 = ashr i32 %tmp.2, 16            ; <i32> [#uses=1]
         ret i32 %tmp.4
+; CHECK: @test6
+; CHECK: %tmp.2 = shl i32 %x, 16
+; CHECK: %tmp.4 = ashr i32 %tmp.2, 16
+; CHECK: ret i32 %tmp.4
 }
 





More information about the llvm-commits mailing list