OSDN Git Service

Update aosp/master llvm for rebase to r233350
[android-x86/external-llvm.git] / test / Transforms / Inline / 2009-01-13-RecursiveInlineCrash.ll
index 7d8d16b..8d8f20f 100644 (file)
@@ -75,23 +75,23 @@ entry:
        ]
 
 bb:            ; preds = %entry
-       %0 = getelementptr %struct.quad_struct* %tree, i32 0, i32 3             ; <%struct.quad_struct**> [#uses=1]
-       %1 = load %struct.quad_struct** %0, align 4             ; <%struct.quad_struct*> [#uses=1]
+       %0 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 3                ; <%struct.quad_struct**> [#uses=1]
+       %1 = load %struct.quad_struct*, %struct.quad_struct** %0, align 4               ; <%struct.quad_struct*> [#uses=1]
        ret %struct.quad_struct* %1
 
 bb1:           ; preds = %entry
-       %2 = getelementptr %struct.quad_struct* %tree, i32 0, i32 2             ; <%struct.quad_struct**> [#uses=1]
-       %3 = load %struct.quad_struct** %2, align 4             ; <%struct.quad_struct*> [#uses=1]
+       %2 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 2                ; <%struct.quad_struct**> [#uses=1]
+       %3 = load %struct.quad_struct*, %struct.quad_struct** %2, align 4               ; <%struct.quad_struct*> [#uses=1]
        ret %struct.quad_struct* %3
 
 bb2:           ; preds = %entry
-       %4 = getelementptr %struct.quad_struct* %tree, i32 0, i32 5             ; <%struct.quad_struct**> [#uses=1]
-       %5 = load %struct.quad_struct** %4, align 4             ; <%struct.quad_struct*> [#uses=1]
+       %4 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 5                ; <%struct.quad_struct**> [#uses=1]
+       %5 = load %struct.quad_struct*, %struct.quad_struct** %4, align 4               ; <%struct.quad_struct*> [#uses=1]
        ret %struct.quad_struct* %5
 
 bb3:           ; preds = %entry
-       %6 = getelementptr %struct.quad_struct* %tree, i32 0, i32 4             ; <%struct.quad_struct**> [#uses=1]
-       %7 = load %struct.quad_struct** %6, align 4             ; <%struct.quad_struct*> [#uses=1]
+       %6 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 4                ; <%struct.quad_struct**> [#uses=1]
+       %7 = load %struct.quad_struct*, %struct.quad_struct** %6, align 4               ; <%struct.quad_struct*> [#uses=1]
        ret %struct.quad_struct* %7
 
 bb5:           ; preds = %entry
@@ -100,10 +100,10 @@ bb5:              ; preds = %entry
 
 define internal fastcc %struct.quad_struct* @gtequal_adj_neighbor(%struct.quad_struct* nocapture %tree, i32 %d) nounwind readonly {
 entry:
-       %0 = getelementptr %struct.quad_struct* %tree, i32 0, i32 6             ; <%struct.quad_struct**> [#uses=1]
-       %1 = load %struct.quad_struct** %0, align 4             ; <%struct.quad_struct*> [#uses=4]
-       %2 = getelementptr %struct.quad_struct* %tree, i32 0, i32 1             ; <i32*> [#uses=1]
-       %3 = load i32* %2, align 4              ; <i32> [#uses=2]
+       %0 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 6                ; <%struct.quad_struct**> [#uses=1]
+       %1 = load %struct.quad_struct*, %struct.quad_struct** %0, align 4               ; <%struct.quad_struct*> [#uses=4]
+       %2 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 1                ; <i32*> [#uses=1]
+       %3 = load i32, i32* %2, align 4         ; <i32> [#uses=2]
        %4 = icmp eq %struct.quad_struct* %1, null              ; <i1> [#uses=1]
        br i1 %4, label %bb3, label %bb
 
@@ -122,8 +122,8 @@ bb3:                ; preds = %bb1, %bb, %entry
        br i1 %8, label %bb7, label %bb4
 
 bb4:           ; preds = %bb3
-       %9 = getelementptr %struct.quad_struct* %q.0, i32 0, i32 0              ; <i32*> [#uses=1]
-       %10 = load i32* %9, align 4             ; <i32> [#uses=1]
+       %9 = getelementptr %struct.quad_struct, %struct.quad_struct* %q.0, i32 0, i32 0         ; <i32*> [#uses=1]
+       %10 = load i32, i32* %9, align 4                ; <i32> [#uses=1]
        %11 = icmp eq i32 %10, 2                ; <i1> [#uses=1]
        br i1 %11, label %bb5, label %bb7
 
@@ -140,36 +140,36 @@ declare fastcc i32 @sum_adjacent(%struct.quad_struct* nocapture, i32, i32, i32)
 
 define i32 @perimeter(%struct.quad_struct* nocapture %tree, i32 %size) nounwind readonly {
 entry:
-       %0 = getelementptr %struct.quad_struct* %tree, i32 0, i32 0             ; <i32*> [#uses=1]
-       %1 = load i32* %0, align 4              ; <i32> [#uses=1]
+       %0 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 0                ; <i32*> [#uses=1]
+       %1 = load i32, i32* %0, align 4         ; <i32> [#uses=1]
        %2 = icmp eq i32 %1, 2          ; <i1> [#uses=1]
        br i1 %2, label %bb, label %bb2
 
 bb:            ; preds = %entry
-       %3 = getelementptr %struct.quad_struct* %tree, i32 0, i32 4             ; <%struct.quad_struct**> [#uses=1]
-       %4 = load %struct.quad_struct** %3, align 4             ; <%struct.quad_struct*> [#uses=1]
+       %3 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 4                ; <%struct.quad_struct**> [#uses=1]
+       %4 = load %struct.quad_struct*, %struct.quad_struct** %3, align 4               ; <%struct.quad_struct*> [#uses=1]
        %5 = sdiv i32 %size, 2          ; <i32> [#uses=1]
        %6 = call i32 @perimeter(%struct.quad_struct* %4, i32 %5) nounwind              ; <i32> [#uses=1]
-       %7 = getelementptr %struct.quad_struct* %tree, i32 0, i32 5             ; <%struct.quad_struct**> [#uses=1]
-       %8 = load %struct.quad_struct** %7, align 4             ; <%struct.quad_struct*> [#uses=1]
+       %7 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 5                ; <%struct.quad_struct**> [#uses=1]
+       %8 = load %struct.quad_struct*, %struct.quad_struct** %7, align 4               ; <%struct.quad_struct*> [#uses=1]
        %9 = sdiv i32 %size, 2          ; <i32> [#uses=1]
        %10 = call i32 @perimeter(%struct.quad_struct* %8, i32 %9) nounwind             ; <i32> [#uses=1]
        %11 = add i32 %10, %6           ; <i32> [#uses=1]
-       %12 = getelementptr %struct.quad_struct* %tree, i32 0, i32 3            ; <%struct.quad_struct**> [#uses=1]
-       %13 = load %struct.quad_struct** %12, align 4           ; <%struct.quad_struct*> [#uses=1]
+       %12 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 3               ; <%struct.quad_struct**> [#uses=1]
+       %13 = load %struct.quad_struct*, %struct.quad_struct** %12, align 4             ; <%struct.quad_struct*> [#uses=1]
        %14 = sdiv i32 %size, 2         ; <i32> [#uses=1]
        %15 = call i32 @perimeter(%struct.quad_struct* %13, i32 %14) nounwind           ; <i32> [#uses=1]
        %16 = add i32 %15, %11          ; <i32> [#uses=1]
-       %17 = getelementptr %struct.quad_struct* %tree, i32 0, i32 2            ; <%struct.quad_struct**> [#uses=1]
-       %18 = load %struct.quad_struct** %17, align 4           ; <%struct.quad_struct*> [#uses=1]
+       %17 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 2               ; <%struct.quad_struct**> [#uses=1]
+       %18 = load %struct.quad_struct*, %struct.quad_struct** %17, align 4             ; <%struct.quad_struct*> [#uses=1]
        %19 = sdiv i32 %size, 2         ; <i32> [#uses=1]
        %20 = call i32 @perimeter(%struct.quad_struct* %18, i32 %19) nounwind           ; <i32> [#uses=1]
        %21 = add i32 %20, %16          ; <i32> [#uses=1]
        ret i32 %21
 
 bb2:           ; preds = %entry
-       %22 = getelementptr %struct.quad_struct* %tree, i32 0, i32 0            ; <i32*> [#uses=1]
-       %23 = load i32* %22, align 4            ; <i32> [#uses=1]
+       %22 = getelementptr %struct.quad_struct, %struct.quad_struct* %tree, i32 0, i32 0               ; <i32*> [#uses=1]
+       %23 = load i32, i32* %22, align 4               ; <i32> [#uses=1]
        %24 = icmp eq i32 %23, 0                ; <i1> [#uses=1]
        br i1 %24, label %bb3, label %bb23
 
@@ -179,14 +179,14 @@ bb3:              ; preds = %bb2
        br i1 %26, label %bb8, label %bb4
 
 bb4:           ; preds = %bb3
-       %27 = getelementptr %struct.quad_struct* %25, i32 0, i32 0              ; <i32*> [#uses=1]
-       %28 = load i32* %27, align 4            ; <i32> [#uses=1]
+       %27 = getelementptr %struct.quad_struct, %struct.quad_struct* %25, i32 0, i32 0         ; <i32*> [#uses=1]
+       %28 = load i32, i32* %27, align 4               ; <i32> [#uses=1]
        %29 = icmp eq i32 %28, 1                ; <i1> [#uses=1]
        br i1 %29, label %bb8, label %bb6
 
 bb6:           ; preds = %bb4
-       %30 = getelementptr %struct.quad_struct* %25, i32 0, i32 0              ; <i32*> [#uses=1]
-       %31 = load i32* %30, align 4            ; <i32> [#uses=1]
+       %30 = getelementptr %struct.quad_struct, %struct.quad_struct* %25, i32 0, i32 0         ; <i32*> [#uses=1]
+       %31 = load i32, i32* %30, align 4               ; <i32> [#uses=1]
        %32 = icmp eq i32 %31, 2                ; <i1> [#uses=1]
        br i1 %32, label %bb7, label %bb8
 
@@ -201,8 +201,8 @@ bb8:                ; preds = %bb7, %bb6, %bb4, %bb3
        br i1 %35, label %bb10, label %bb9
 
 bb9:           ; preds = %bb8
-       %36 = getelementptr %struct.quad_struct* %34, i32 0, i32 0              ; <i32*> [#uses=1]
-       %37 = load i32* %36, align 4            ; <i32> [#uses=1]
+       %36 = getelementptr %struct.quad_struct, %struct.quad_struct* %34, i32 0, i32 0         ; <i32*> [#uses=1]
+       %37 = load i32, i32* %36, align 4               ; <i32> [#uses=1]
        %38 = icmp eq i32 %37, 1                ; <i1> [#uses=1]
        br i1 %38, label %bb10, label %bb11
 
@@ -211,8 +211,8 @@ bb10:               ; preds = %bb9, %bb8
        br label %bb13
 
 bb11:          ; preds = %bb9
-       %40 = getelementptr %struct.quad_struct* %34, i32 0, i32 0              ; <i32*> [#uses=1]
-       %41 = load i32* %40, align 4            ; <i32> [#uses=1]
+       %40 = getelementptr %struct.quad_struct, %struct.quad_struct* %34, i32 0, i32 0         ; <i32*> [#uses=1]
+       %41 = load i32, i32* %40, align 4               ; <i32> [#uses=1]
        %42 = icmp eq i32 %41, 2                ; <i1> [#uses=1]
        br i1 %42, label %bb12, label %bb13
 
@@ -228,8 +228,8 @@ bb13:               ; preds = %bb12, %bb11, %bb10
        br i1 %46, label %bb15, label %bb14
 
 bb14:          ; preds = %bb13
-       %47 = getelementptr %struct.quad_struct* %45, i32 0, i32 0              ; <i32*> [#uses=1]
-       %48 = load i32* %47, align 4            ; <i32> [#uses=1]
+       %47 = getelementptr %struct.quad_struct, %struct.quad_struct* %45, i32 0, i32 0         ; <i32*> [#uses=1]
+       %48 = load i32, i32* %47, align 4               ; <i32> [#uses=1]
        %49 = icmp eq i32 %48, 1                ; <i1> [#uses=1]
        br i1 %49, label %bb15, label %bb16
 
@@ -238,8 +238,8 @@ bb15:               ; preds = %bb14, %bb13
        br label %bb18
 
 bb16:          ; preds = %bb14
-       %51 = getelementptr %struct.quad_struct* %45, i32 0, i32 0              ; <i32*> [#uses=1]
-       %52 = load i32* %51, align 4            ; <i32> [#uses=1]
+       %51 = getelementptr %struct.quad_struct, %struct.quad_struct* %45, i32 0, i32 0         ; <i32*> [#uses=1]
+       %52 = load i32, i32* %51, align 4               ; <i32> [#uses=1]
        %53 = icmp eq i32 %52, 2                ; <i1> [#uses=1]
        br i1 %53, label %bb17, label %bb18
 
@@ -255,8 +255,8 @@ bb18:               ; preds = %bb17, %bb16, %bb15
        br i1 %57, label %bb20, label %bb19
 
 bb19:          ; preds = %bb18
-       %58 = getelementptr %struct.quad_struct* %56, i32 0, i32 0              ; <i32*> [#uses=1]
-       %59 = load i32* %58, align 4            ; <i32> [#uses=1]
+       %58 = getelementptr %struct.quad_struct, %struct.quad_struct* %56, i32 0, i32 0         ; <i32*> [#uses=1]
+       %59 = load i32, i32* %58, align 4               ; <i32> [#uses=1]
        %60 = icmp eq i32 %59, 1                ; <i1> [#uses=1]
        br i1 %60, label %bb20, label %bb21
 
@@ -265,8 +265,8 @@ bb20:               ; preds = %bb19, %bb18
        ret i32 %61
 
 bb21:          ; preds = %bb19
-       %62 = getelementptr %struct.quad_struct* %56, i32 0, i32 0              ; <i32*> [#uses=1]
-       %63 = load i32* %62, align 4            ; <i32> [#uses=1]
+       %62 = getelementptr %struct.quad_struct, %struct.quad_struct* %56, i32 0, i32 0         ; <i32*> [#uses=1]
+       %63 = load i32, i32* %62, align 4               ; <i32> [#uses=1]
        %64 = icmp eq i32 %63, 2                ; <i1> [#uses=1]
        br i1 %64, label %bb22, label %bb23