correct suffix matching to search for s/l/t suffixes on
[oota-llvm.git] / test / Transforms / IndVarSimplify / max-pointer.ll
index ba2b2fa83486065de560b1ec289e810944095ca3..f18f968f595d53eb6f1eeb843fc583d25db811b6 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -indvars | llvm-dis > %t
+; RUN: opt < %s -indvars -S > %t
 ; RUN: grep {icmp ugt i8\\\*} %t | count 1
 ; RUN: grep {icmp sgt i8\\\*} %t | count 1
 
@@ -16,59 +16,7 @@ bb2:         ; preds = %bb2, %entry
        %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
        %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
        %2 = icmp ult i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
-
-return:                ; preds = %bb2
-       ret void
-}
-
-define void @bar(i8* %str1Ptr, i64 %s, i8* %inLastBytePtr) nounwind {
-entry:
-        %str2Ptr = inttoptr i64 %s to i8*
-       %0 = icmp ult i8* %str2Ptr, %str1Ptr            ; <i1> [#uses=1]
-       %str2Ptr_addr.0 = select i1 %0, i8* %str1Ptr, i8* %str2Ptr              ; <i8*> [#uses=1]
-       br label %bb2
-
-bb2:           ; preds = %bb2, %entry
-       %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
-       %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
-       %2 = icmp ult i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
-
-return:                ; preds = %bb2
-       ret void
-}
-
-define void @qux(i64 %t, i64 %s, i8* %inLastBytePtr) nounwind {
-entry:
-        %str1Ptr = inttoptr i64 %t to i8*
-        %str2Ptr = inttoptr i64 %s to i8*
-       %0 = icmp ult i8* %str2Ptr, %str1Ptr            ; <i1> [#uses=1]
-       %str2Ptr_addr.0 = select i1 %0, i8* %str1Ptr, i8* %str2Ptr              ; <i8*> [#uses=1]
-       br label %bb2
-
-bb2:           ; preds = %bb2, %entry
-       %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
-       %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
-       %2 = icmp ult i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
-
-return:                ; preds = %bb2
-       ret void
-}
-
-define void @vor(i64 %t, i8* %str2Ptr, i8* %inLastBytePtr) nounwind {
-entry:
-        %str1Ptr = inttoptr i64 %t to i8*
-       %0 = icmp ult i8* %str2Ptr, %str1Ptr            ; <i1> [#uses=1]
-       %str2Ptr_addr.0 = select i1 %0, i8* %str1Ptr, i8* %str2Ptr              ; <i8*> [#uses=1]
-       br label %bb2
-
-bb2:           ; preds = %bb2, %entry
-       %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
-       %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
-       %2 = icmp ult i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
+       br i1 undef, label %bb2, label %return
 
 return:                ; preds = %bb2
        ret void
@@ -84,62 +32,8 @@ bb2:         ; preds = %bb2, %entry
        %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
        %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
        %2 = icmp slt i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
-
-return:                ; preds = %bb2
-       ret void
-}
-
-define void @sbar(i8* %str1Ptr, i64 %s, i8* %inLastBytePtr) nounwind {
-entry:
-        %str2Ptr = inttoptr i64 %s to i8*
-       %0 = icmp slt i8* %str2Ptr, %str1Ptr            ; <i1> [#uses=1]
-       %str2Ptr_addr.0 = select i1 %0, i8* %str1Ptr, i8* %str2Ptr              ; <i8*> [#uses=1]
-       br label %bb2
-
-bb2:           ; preds = %bb2, %entry
-       %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
-       %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
-       %2 = icmp slt i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
+       br i1 undef, label %bb2, label %return
 
 return:                ; preds = %bb2
        ret void
 }
-
-define void @squx(i64 %t, i64 %s, i8* %inLastBytePtr) nounwind {
-entry:
-        %str1Ptr = inttoptr i64 %t to i8*
-        %str2Ptr = inttoptr i64 %s to i8*
-       %0 = icmp slt i8* %str2Ptr, %str1Ptr            ; <i1> [#uses=1]
-       %str2Ptr_addr.0 = select i1 %0, i8* %str1Ptr, i8* %str2Ptr              ; <i8*> [#uses=1]
-       br label %bb2
-
-bb2:           ; preds = %bb2, %entry
-       %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
-       %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
-       %2 = icmp slt i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
-
-return:                ; preds = %bb2
-       ret void
-}
-
-define void @svor(i64 %t, i8* %str2Ptr, i8* %inLastBytePtr) nounwind {
-entry:
-        %str1Ptr = inttoptr i64 %t to i8*
-       %0 = icmp slt i8* %str2Ptr, %str1Ptr            ; <i1> [#uses=1]
-       %str2Ptr_addr.0 = select i1 %0, i8* %str1Ptr, i8* %str2Ptr              ; <i8*> [#uses=1]
-       br label %bb2
-
-bb2:           ; preds = %bb2, %entry
-       %str2Ptr_addr.1 = phi i8* [ %str2Ptr_addr.0, %entry ], [ %1, %bb2 ]             ; <i8*> [#uses=1]
-       %1 = getelementptr i8* %str2Ptr_addr.1, i64 1           ; <i8*> [#uses=2]
-       %2 = icmp slt i8* %1, %inLastBytePtr            ; <i1> [#uses=0]
-       br i1 false, label %bb2, label %return
-
-return:                ; preds = %bb2
-       ret void
-}
-
-