Paste: llvm infinite loop
Author: | kssreeram |
Mode: | text |
Date: | Sat, 8 Jan 2011 20:59:30 |
Plain Text |
; ModuleID = 'clay'
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"
target triple = "x86_64-apple-darwin10"
%0 = type { i32, void ()* }
%1 = type { %1* }
%2 = type { i8 }
define i32 @main(i32 %a) {
init:
%0 = alloca %1
%1 = alloca %1
%2 = call i32 @"clay_assign(Chain, Chain)"(%1* %0, %1* %1)
ret i32 0
}
define internal i32 @"clay_assign(Chain, Chain)"(%1* %c, %1* %d) {
init:
%0 = alloca %1*
%1 = alloca %1**
%2 = alloca %2
%3 = alloca %1**
%4 = alloca %2
%5 = alloca %1*
%6 = alloca %1*
%7 = alloca %1**
%8 = alloca %2
%9 = alloca %1**
%10 = alloca %2
%11 = alloca %1*
%12 = alloca %2
br label %code
code: ; preds = %init
br label %return2
return: ; preds = %return6
ret i32 0
exception: ; No predecessors!
ret i32 1
return1: ; preds = %return2
%13 = load %1*** %1
%14 = load %1** %13
store %1* %14, %1** %5
%15 = load %1** %5
store %1* %15, %1** %0
br label %return3
return2: ; preds = %code
%16 = getelementptr %1* %d, i32 0, i32 0
store %1** %16, %1*** %3
%17 = load %1*** %3
store %1** %17, %1*** %1
br label %return1
return3: ; preds = %return1
%18 = load %1** %0
br label %return5
return4: ; preds = %return5
%19 = load %1*** %7
%20 = load %1** %19
store %1* %20, %1** %11
%21 = load %1** %11
store %1* %21, %1** %6
br label %return6
return5: ; preds = %return3
%22 = getelementptr %1* %c, i32 0, i32 0
store %1** %22, %1*** %9
%23 = load %1*** %9
store %1** %23, %1*** %7
br label %return4
return6: ; preds = %return4
%24 = load %1** %6
%25 = call i32 @"clay_assign(Chain, Chain)"(%1* %24, %1* %18)
br label %return
}
New Annotation