Merging r261258:
[oota-llvm.git] / test / Transforms / IndVarSimplify / 2009-04-14-shorten_iv_vars.ll
index 134c9c74d3a99cac97bed0f3d00d47c4b519f317..ab2af329f4d542ea1596c5f347a75d50f37fc2ca 100644 (file)
@@ -1,6 +1,6 @@
-; RUN: llvm-as < %s | opt -indvars | llvm-dis | not grep {sext}
+; RUN: opt < %s -indvars -S | not grep "sext"
 ; ModuleID = '<stdin>'
-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"
+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-n32:64"
 target triple = "x86_64-apple-darwin9.6"
 @a = external global i32*              ; <i32**> [#uses=3]
 @b = external global i32*              ; <i32**> [#uses=3]
@@ -15,95 +15,95 @@ bb1.thread:
 
 bb1:           ; preds = %bb1, %bb1.thread
        %i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %84, %bb1 ]              ; <i32> [#uses=19]
-       %0 = load i32** @a, align 8             ; <i32*> [#uses=1]
-       %1 = load i32** @b, align 8             ; <i32*> [#uses=1]
+       %0 = load i32*, i32** @a, align 8               ; <i32*> [#uses=1]
+       %1 = load i32*, i32** @b, align 8               ; <i32*> [#uses=1]
        %2 = sext i32 %i.0.reg2mem.0 to i64             ; <i64> [#uses=1]
-       %3 = getelementptr i32* %1, i64 %2              ; <i32*> [#uses=1]
-       %4 = load i32* %3, align 1              ; <i32> [#uses=1]
-       %5 = load i32** @c, align 8             ; <i32*> [#uses=1]
+       %3 = getelementptr i32, i32* %1, i64 %2         ; <i32*> [#uses=1]
+       %4 = load i32, i32* %3, align 1         ; <i32> [#uses=1]
+       %5 = load i32*, i32** @c, align 8               ; <i32*> [#uses=1]
        %6 = sext i32 %i.0.reg2mem.0 to i64             ; <i64> [#uses=1]
-       %7 = getelementptr i32* %5, i64 %6              ; <i32*> [#uses=1]
-       %8 = load i32* %7, align 1              ; <i32> [#uses=1]
+       %7 = getelementptr i32, i32* %5, i64 %6         ; <i32*> [#uses=1]
+       %8 = load i32, i32* %7, align 1         ; <i32> [#uses=1]
        %9 = add i32 %8, %4             ; <i32> [#uses=1]
        %10 = sext i32 %i.0.reg2mem.0 to i64            ; <i64> [#uses=1]
-       %11 = getelementptr i32* %0, i64 %10            ; <i32*> [#uses=1]
+       %11 = getelementptr i32, i32* %0, i64 %10               ; <i32*> [#uses=1]
        store i32 %9, i32* %11, align 1
-       %12 = load i32** @a, align 8            ; <i32*> [#uses=1]
+       %12 = load i32*, i32** @a, align 8              ; <i32*> [#uses=1]
        %13 = add i32 %i.0.reg2mem.0, 1         ; <i32> [#uses=1]
-       %14 = load i32** @b, align 8            ; <i32*> [#uses=1]
+       %14 = load i32*, i32** @b, align 8              ; <i32*> [#uses=1]
        %15 = add i32 %i.0.reg2mem.0, 1         ; <i32> [#uses=1]
        %16 = sext i32 %15 to i64               ; <i64> [#uses=1]
-       %17 = getelementptr i32* %14, i64 %16           ; <i32*> [#uses=1]
-       %18 = load i32* %17, align 1            ; <i32> [#uses=1]
-       %19 = load i32** @c, align 8            ; <i32*> [#uses=1]
+       %17 = getelementptr i32, i32* %14, i64 %16              ; <i32*> [#uses=1]
+       %18 = load i32, i32* %17, align 1               ; <i32> [#uses=1]
+       %19 = load i32*, i32** @c, align 8              ; <i32*> [#uses=1]
        %20 = add i32 %i.0.reg2mem.0, 1         ; <i32> [#uses=1]
        %21 = sext i32 %20 to i64               ; <i64> [#uses=1]
-       %22 = getelementptr i32* %19, i64 %21           ; <i32*> [#uses=1]
-       %23 = load i32* %22, align 1            ; <i32> [#uses=1]
+       %22 = getelementptr i32, i32* %19, i64 %21              ; <i32*> [#uses=1]
+       %23 = load i32, i32* %22, align 1               ; <i32> [#uses=1]
        %24 = add i32 %23, %18          ; <i32> [#uses=1]
        %25 = sext i32 %13 to i64               ; <i64> [#uses=1]
-       %26 = getelementptr i32* %12, i64 %25           ; <i32*> [#uses=1]
+       %26 = getelementptr i32, i32* %12, i64 %25              ; <i32*> [#uses=1]
        store i32 %24, i32* %26, align 1
-       %27 = load i32** @a, align 8            ; <i32*> [#uses=1]
+       %27 = load i32*, i32** @a, align 8              ; <i32*> [#uses=1]
        %28 = add i32 %i.0.reg2mem.0, 2         ; <i32> [#uses=1]
-       %29 = load i32** @b, align 8            ; <i32*> [#uses=1]
+       %29 = load i32*, i32** @b, align 8              ; <i32*> [#uses=1]
        %30 = add i32 %i.0.reg2mem.0, 2         ; <i32> [#uses=1]
        %31 = sext i32 %30 to i64               ; <i64> [#uses=1]
-       %32 = getelementptr i32* %29, i64 %31           ; <i32*> [#uses=1]
-       %33 = load i32* %32, align 1            ; <i32> [#uses=1]
-       %34 = load i32** @c, align 8            ; <i32*> [#uses=1]
+       %32 = getelementptr i32, i32* %29, i64 %31              ; <i32*> [#uses=1]
+       %33 = load i32, i32* %32, align 1               ; <i32> [#uses=1]
+       %34 = load i32*, i32** @c, align 8              ; <i32*> [#uses=1]
        %35 = add i32 %i.0.reg2mem.0, 2         ; <i32> [#uses=1]
        %36 = sext i32 %35 to i64               ; <i64> [#uses=1]
-       %37 = getelementptr i32* %34, i64 %36           ; <i32*> [#uses=1]
-       %38 = load i32* %37, align 1            ; <i32> [#uses=1]
+       %37 = getelementptr i32, i32* %34, i64 %36              ; <i32*> [#uses=1]
+       %38 = load i32, i32* %37, align 1               ; <i32> [#uses=1]
        %39 = add i32 %38, %33          ; <i32> [#uses=1]
        %40 = sext i32 %28 to i64               ; <i64> [#uses=1]
-       %41 = getelementptr i32* %27, i64 %40           ; <i32*> [#uses=1]
+       %41 = getelementptr i32, i32* %27, i64 %40              ; <i32*> [#uses=1]
        store i32 %39, i32* %41, align 1
-       %42 = load i32** @d, align 8            ; <i32*> [#uses=1]
-       %43 = load i32** @e, align 8            ; <i32*> [#uses=1]
+       %42 = load i32*, i32** @d, align 8              ; <i32*> [#uses=1]
+       %43 = load i32*, i32** @e, align 8              ; <i32*> [#uses=1]
        %44 = sext i32 %i.0.reg2mem.0 to i64            ; <i64> [#uses=1]
-       %45 = getelementptr i32* %43, i64 %44           ; <i32*> [#uses=1]
-       %46 = load i32* %45, align 1            ; <i32> [#uses=1]
-       %47 = load i32** @f, align 8            ; <i32*> [#uses=1]
+       %45 = getelementptr i32, i32* %43, i64 %44              ; <i32*> [#uses=1]
+       %46 = load i32, i32* %45, align 1               ; <i32> [#uses=1]
+       %47 = load i32*, i32** @f, align 8              ; <i32*> [#uses=1]
        %48 = sext i32 %i.0.reg2mem.0 to i64            ; <i64> [#uses=1]
-       %49 = getelementptr i32* %47, i64 %48           ; <i32*> [#uses=1]
-       %50 = load i32* %49, align 1            ; <i32> [#uses=1]
+       %49 = getelementptr i32, i32* %47, i64 %48              ; <i32*> [#uses=1]
+       %50 = load i32, i32* %49, align 1               ; <i32> [#uses=1]
        %51 = add i32 %50, %46          ; <i32> [#uses=1]
        %52 = sext i32 %i.0.reg2mem.0 to i64            ; <i64> [#uses=1]
-       %53 = getelementptr i32* %42, i64 %52           ; <i32*> [#uses=1]
+       %53 = getelementptr i32, i32* %42, i64 %52              ; <i32*> [#uses=1]
        store i32 %51, i32* %53, align 1
-       %54 = load i32** @d, align 8            ; <i32*> [#uses=1]
+       %54 = load i32*, i32** @d, align 8              ; <i32*> [#uses=1]
        %55 = add i32 %i.0.reg2mem.0, 1         ; <i32> [#uses=1]
-       %56 = load i32** @e, align 8            ; <i32*> [#uses=1]
+       %56 = load i32*, i32** @e, align 8              ; <i32*> [#uses=1]
        %57 = add i32 %i.0.reg2mem.0, 1         ; <i32> [#uses=1]
        %58 = sext i32 %57 to i64               ; <i64> [#uses=1]
-       %59 = getelementptr i32* %56, i64 %58           ; <i32*> [#uses=1]
-       %60 = load i32* %59, align 1            ; <i32> [#uses=1]
-       %61 = load i32** @f, align 8            ; <i32*> [#uses=1]
+       %59 = getelementptr i32, i32* %56, i64 %58              ; <i32*> [#uses=1]
+       %60 = load i32, i32* %59, align 1               ; <i32> [#uses=1]
+       %61 = load i32*, i32** @f, align 8              ; <i32*> [#uses=1]
        %62 = add i32 %i.0.reg2mem.0, 1         ; <i32> [#uses=1]
        %63 = sext i32 %62 to i64               ; <i64> [#uses=1]
-       %64 = getelementptr i32* %61, i64 %63           ; <i32*> [#uses=1]
-       %65 = load i32* %64, align 1            ; <i32> [#uses=1]
+       %64 = getelementptr i32, i32* %61, i64 %63              ; <i32*> [#uses=1]
+       %65 = load i32, i32* %64, align 1               ; <i32> [#uses=1]
        %66 = add i32 %65, %60          ; <i32> [#uses=1]
        %67 = sext i32 %55 to i64               ; <i64> [#uses=1]
-       %68 = getelementptr i32* %54, i64 %67           ; <i32*> [#uses=1]
+       %68 = getelementptr i32, i32* %54, i64 %67              ; <i32*> [#uses=1]
        store i32 %66, i32* %68, align 1
-       %69 = load i32** @d, align 8            ; <i32*> [#uses=1]
+       %69 = load i32*, i32** @d, align 8              ; <i32*> [#uses=1]
        %70 = add i32 %i.0.reg2mem.0, 2         ; <i32> [#uses=1]
-       %71 = load i32** @e, align 8            ; <i32*> [#uses=1]
+       %71 = load i32*, i32** @e, align 8              ; <i32*> [#uses=1]
        %72 = add i32 %i.0.reg2mem.0, 2         ; <i32> [#uses=1]
        %73 = sext i32 %72 to i64               ; <i64> [#uses=1]
-       %74 = getelementptr i32* %71, i64 %73           ; <i32*> [#uses=1]
-       %75 = load i32* %74, align 1            ; <i32> [#uses=1]
-       %76 = load i32** @f, align 8            ; <i32*> [#uses=1]
+       %74 = getelementptr i32, i32* %71, i64 %73              ; <i32*> [#uses=1]
+       %75 = load i32, i32* %74, align 1               ; <i32> [#uses=1]
+       %76 = load i32*, i32** @f, align 8              ; <i32*> [#uses=1]
        %77 = add i32 %i.0.reg2mem.0, 2         ; <i32> [#uses=1]
        %78 = sext i32 %77 to i64               ; <i64> [#uses=1]
-       %79 = getelementptr i32* %76, i64 %78           ; <i32*> [#uses=1]
-       %80 = load i32* %79, align 1            ; <i32> [#uses=1]
+       %79 = getelementptr i32, i32* %76, i64 %78              ; <i32*> [#uses=1]
+       %80 = load i32, i32* %79, align 1               ; <i32> [#uses=1]
        %81 = add i32 %80, %75          ; <i32> [#uses=1]
        %82 = sext i32 %70 to i64               ; <i64> [#uses=1]
-       %83 = getelementptr i32* %69, i64 %82           ; <i32*> [#uses=1]
+       %83 = getelementptr i32, i32* %69, i64 %82              ; <i32*> [#uses=1]
        store i32 %81, i32* %83, align 1
        %84 = add i32 %i.0.reg2mem.0, 1         ; <i32> [#uses=2]
        %85 = icmp sgt i32 %84, 23646           ; <i1> [#uses=1]