Add encoding for VSTR.
[oota-llvm.git] / test / Transforms / SCCP / 2006-10-23-IPSCCP-Crash.ll
index 34a0a76370b7c62a9e66896d6ae6b6abcb71057f..47f9cb45cc6742e0c268d91faa463e7591dbb689 100644 (file)
-; RUN: llvm-as < %s | opt -sccp -disable-output
-
-target endian = big
-target pointersize = 32
+; RUN: opt < %s -sccp -disable-output
+; END.
+target datalayout = "E-p:32:32"
 target triple = "powerpc-apple-darwin8.7.0"
-        %struct.pat_list = type { int, %struct.pat_list* }
-%JUMP = external global int             ; <int*> [#uses=1]
-%old_D_pat = external global [16 x ubyte]               ; <[16 x ubyte]*> [#uses=0]
-
-implementation   ; Functions:
+       %struct.pat_list = type { i32, %struct.pat_list* }
+@JUMP = external global i32            ; <i32*> [#uses=1]
+@old_D_pat = external global [16 x i8]         ; <[16 x i8]*> [#uses=0]
 
-void %asearch1(uint %D) {
+define void @asearch1(i32 %D) {
 entry:
-        %tmp80 = setlt uint 0, %D               ; <bool> [#uses=1]
-        br bool %tmp80, label %bb647.preheader, label %cond_true81.preheader
-
-cond_true81.preheader:          ; preds = %entry
-        ret void
-
-bb647.preheader:                ; preds = %entry
-        %tmp3.i = call int %read( )             ; <int> [#uses=1]
-        %tmp6.i = add int %tmp3.i, 0            ; <int> [#uses=1]
-        %tmp653 = setgt int %tmp6.i, 0          ; <bool> [#uses=1]
-        br bool %tmp653, label %cond_true654, label %UnifiedReturnBlock
-
-cond_true612:           ; preds = %cond_true654
-        ret void
-
-cond_next624:           ; preds = %cond_true654
-        ret void
-
-cond_true654:           ; preds = %bb647.preheader
-        br bool undef, label %cond_true612, label %cond_next624
-
-UnifiedReturnBlock:             ; preds = %bb647.preheader
-        ret void
+       %tmp80 = icmp ult i32 0, %D             ; <i1> [#uses=1]
+       br i1 %tmp80, label %bb647.preheader, label %cond_true81.preheader
+cond_true81.preheader:         ; preds = %entry
+       ret void
+bb647.preheader:               ; preds = %entry
+       %tmp3.i = call i32 @read( )             ; <i32> [#uses=1]
+       %tmp6.i = add i32 %tmp3.i, 0            ; <i32> [#uses=1]
+       %tmp653 = icmp sgt i32 %tmp6.i, 0               ; <i1> [#uses=1]
+       br i1 %tmp653, label %cond_true654, label %UnifiedReturnBlock
+cond_true612:          ; preds = %cond_true654
+       ret void
+cond_next624:          ; preds = %cond_true654
+       ret void
+cond_true654:          ; preds = %bb647.preheader
+       br i1 undef, label %cond_true612, label %cond_next624
+UnifiedReturnBlock:            ; preds = %bb647.preheader
+       ret void
 }
 
-void %bitap(int %D) {
+define void @bitap(i32 %D) {
 entry:
-        %tmp29 = seteq int 0, 0         ; <bool> [#uses=1]
-        br bool %tmp29, label %cond_next50, label %cond_next37
-
-cond_next37:            ; preds = %entry
-        ret void
-
-cond_next50:            ; preds = %entry
-        %tmp52 = setgt int %D, 0                ; <bool> [#uses=1]
-        br bool %tmp52, label %cond_true53, label %cond_next71
-
-cond_true53:            ; preds = %cond_next50
-        %tmp54 = load int* %JUMP                ; <int> [#uses=1]
-        %tmp55 = seteq int %tmp54, 1            ; <bool> [#uses=1]
-        br bool %tmp55, label %cond_true56, label %cond_next63
-
-cond_true56:            ; preds = %cond_true53
-        %tmp57 = cast int %D to uint            ; <uint> [#uses=1]
-        call void %asearch1( uint %tmp57 )
-        ret void
-
-cond_next63:            ; preds = %cond_true53
-        ret void
-
-cond_next71:            ; preds = %cond_next50
-        ret void
+       %tmp29 = icmp eq i32 0, 0               ; <i1> [#uses=1]
+       br i1 %tmp29, label %cond_next50, label %cond_next37
+cond_next37:           ; preds = %entry
+       ret void
+cond_next50:           ; preds = %entry
+       %tmp52 = icmp sgt i32 %D, 0             ; <i1> [#uses=1]
+       br i1 %tmp52, label %cond_true53, label %cond_next71
+cond_true53:           ; preds = %cond_next50
+       %tmp54 = load i32* @JUMP                ; <i32> [#uses=1]
+       %tmp55 = icmp eq i32 %tmp54, 1          ; <i1> [#uses=1]
+       br i1 %tmp55, label %cond_true56, label %cond_next63
+cond_true56:           ; preds = %cond_true53
+       %tmp57 = bitcast i32 %D to i32          ; <i32> [#uses=1]
+       call void @asearch1( i32 %tmp57 )
+       ret void
+cond_next63:           ; preds = %cond_true53
+       ret void
+cond_next71:           ; preds = %cond_next50
+       ret void
 }
 
-declare int %read()
+declare i32 @read()
 
-void %initial_value() {
+define void @initial_value() {
 entry:
-        ret void
+       ret void
 }
 
-void %main() {
+define void @main() {
 entry:
-        br label %cond_next252
-
-cond_next208:           ; preds = %cond_true260
-        %tmp229 = call int %atoi( )             ; <int> [#uses=1]
-        br label %cond_next252
-
-bb217:          ; preds = %cond_true260
-        ret void
-
-cond_next252:           ; preds = %cond_next208, %entry
-        %D.0.0 = phi int [ 0, %entry ], [ %tmp229, %cond_next208 ]              ; <int> [#uses=1]
-        %tmp254 = getelementptr sbyte** null, int 1             ; <sbyte**> [#uses=1]
-        %tmp256 = load sbyte** %tmp254          ; <sbyte*> [#uses=1]
-        %tmp258 = load sbyte* %tmp256           ; <sbyte> [#uses=1]
-        %tmp259 = seteq sbyte %tmp258, 45               ; <bool> [#uses=1]
-        br bool %tmp259, label %cond_true260, label %bb263
-
-cond_true260:           ; preds = %cond_next252
-        %tmp205818 = setgt sbyte 0, -1          ; <bool> [#uses=1]
-        br bool %tmp205818, label %cond_next208, label %bb217
-
-bb263:          ; preds = %cond_next252
-        %tmp265 = seteq int 0, 0                ; <bool> [#uses=1]
-        br bool %tmp265, label %cond_next276, label %cond_true266
-
-cond_true266:           ; preds = %bb263
-        ret void
-
-cond_next276:           ; preds = %bb263
-        %tmp278 = seteq int 0, 0                ; <bool> [#uses=1]
-        br bool %tmp278, label %cond_next298, label %cond_true279
-
-cond_true279:           ; preds = %cond_next276
-        ret void
-
-cond_next298:           ; preds = %cond_next276
-        call void %bitap( int %D.0.0 )
-        ret void
+       br label %cond_next252
+cond_next208:          ; preds = %cond_true260
+       %tmp229 = call i32 @atoi( )             ; <i32> [#uses=1]
+       br label %cond_next252
+bb217:         ; preds = %cond_true260
+       ret void
+cond_next252:          ; preds = %cond_next208, %entry
+       %D.0.0 = phi i32 [ 0, %entry ], [ %tmp229, %cond_next208 ]              ; <i32> [#uses=1]
+       %tmp254 = getelementptr i8** null, i32 1                ; <i8**> [#uses=1]
+       %tmp256 = load i8** %tmp254             ; <i8*> [#uses=1]
+       %tmp258 = load i8* %tmp256              ; <i8> [#uses=1]
+       %tmp259 = icmp eq i8 %tmp258, 45                ; <i1> [#uses=1]
+       br i1 %tmp259, label %cond_true260, label %bb263
+cond_true260:          ; preds = %cond_next252
+       %tmp205818 = icmp sgt i8 0, -1          ; <i1> [#uses=1]
+       br i1 %tmp205818, label %cond_next208, label %bb217
+bb263:         ; preds = %cond_next252
+       %tmp265 = icmp eq i32 0, 0              ; <i1> [#uses=1]
+       br i1 %tmp265, label %cond_next276, label %cond_true266
+cond_true266:          ; preds = %bb263
+       ret void
+cond_next276:          ; preds = %bb263
+       %tmp278 = icmp eq i32 0, 0              ; <i1> [#uses=1]
+       br i1 %tmp278, label %cond_next298, label %cond_true279
+cond_true279:          ; preds = %cond_next276
+       ret void
+cond_next298:          ; preds = %cond_next276
+       call void @bitap( i32 %D.0.0 )
+       ret void
 }
 
-declare int %atoi()
+declare i32 @atoi()
 
-void %subset_pset() {
+define void @subset_pset() {
 entry:
-        ret void
+       ret void
 }
 
-void %strcmp() {
+define void @strcmp() {
 entry:
-        ret void
+       ret void
 }
-