X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FDebugInfo%2Ffunccall.ll;h=47fe4c2498c513aba3c1aa2f6852039de04bff85;hb=04eeefb32a3ae7de4cde1908d30bff61e0d6b86e;hp=cb5dab62caf79d95e36134ab75ed59b36cbe42fc;hpb=73e70822ae9dd03f092b1ae56c5fed6d39b7af3c;p=oota-llvm.git diff --git a/test/DebugInfo/funccall.ll b/test/DebugInfo/funccall.ll index cb5dab62caf..47fe4c2498c 100644 --- a/test/DebugInfo/funccall.ll +++ b/test/DebugInfo/funccall.ll @@ -1,166 +1,147 @@ -;; RUN: llvm-upgrade < %s | llvm-as | llc +;; RUN: llvm-as < %s | llc + %llvm.dbg.anchor.type = type { i32, i32 } + %llvm.dbg.basictype.type = type { i32, { }*, i8*, { }*, i32, i64, i64, i64, i32, i32 } + %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8* } + %llvm.dbg.global_variable.type = type { i32, { }*, { }*, i8*, i8*, i8*, { }*, i32, { }*, i1, i1, { }* } + %llvm.dbg.subprogram.type = type { i32, { }*, { }*, i8*, i8*, i8*, { }*, i32, { }*, i1, i1 } + %llvm.dbg.variable.type = type { i32, { }*, i8*, { }*, i32, { }* } +@llvm.dbg.subprograms = linkonce constant %llvm.dbg.anchor.type { i32 393216, i32 46 }, section "llvm.metadata" ; <%llvm.dbg.anchor.type*> [#uses=1] +@llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 393216, i32 17 }, section "llvm.metadata" ; <%llvm.dbg.anchor.type*> [#uses=1] +@llvm.dbg.global_variables = linkonce constant %llvm.dbg.anchor.type { i32 393216, i32 52 }, section "llvm.metadata" ; <%llvm.dbg.anchor.type*> [#uses=1] +@llvm.dbg.subprogram = internal constant %llvm.dbg.subprogram.type { + i32 393262, + { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to { }*), + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i8* getelementptr ([4 x i8]* @str, i32 0, i32 0), + i8* getelementptr ([4 x i8]* @str, i32 0, i32 0), + i8* null, + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i32 4, + { }* null, + i1 false, + i1 true }, section "llvm.metadata" ; <%llvm.dbg.subprogram.type*> [#uses=1] +@str = internal constant [4 x i8] c"foo\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1] +@llvm.dbg.compile_unit = internal constant %llvm.dbg.compile_unit.type { + i32 393233, + { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.compile_units to { }*), + i32 1, + i8* getelementptr ([11 x i8]* @str1, i32 0, i32 0), + i8* getelementptr ([50 x i8]* @str2, i32 0, i32 0), + i8* getelementptr ([45 x i8]* @str3, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.compile_unit.type*> [#uses=1] +@str1 = internal constant [11 x i8] c"funccall.c\00", section "llvm.metadata" ; <[11 x i8]*> [#uses=1] +@str2 = internal constant [50 x i8] c"/Volumes/Big2/llvm/llvm/test/Regression/Debugger/\00", section "llvm.metadata" ; <[50 x i8]*> [#uses=1] +@str3 = internal constant [45 x i8] c"4.0.1 LLVM (Apple Computer, Inc. build 5421)\00", section "llvm.metadata" ; <[45 x i8]*> [#uses=1] +@llvm.dbg.variable = internal constant %llvm.dbg.variable.type { + i32 393472, + { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to { }*), + i8* getelementptr ([2 x i8]* @str4, i32 0, i32 0), + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i32 5, + { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1] +@str4 = internal constant [2 x i8] c"t\00", section "llvm.metadata" ; <[2 x i8]*> [#uses=1] +@llvm.dbg.basictype = internal constant %llvm.dbg.basictype.type { + i32 393252, + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i8* getelementptr ([4 x i8]* @str15, i32 0, i32 0), + { }* null, + i32 0, + i64 32, + i64 32, + i64 0, + i32 0, + i32 5 }, section "llvm.metadata" ; <%llvm.dbg.basictype.type*> [#uses=1] +@str15 = internal constant [4 x i8] c"int\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1] +@llvm.dbg.subprogram2 = internal constant %llvm.dbg.subprogram.type { + i32 393262, + { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to { }*), + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i8* getelementptr ([5 x i8]* @str6, i32 0, i32 0), + i8* getelementptr ([5 x i8]* @str6, i32 0, i32 0), + i8* null, + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i32 8, + { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), + i1 false, + i1 true }, section "llvm.metadata" ; <%llvm.dbg.subprogram.type*> [#uses=1] +@str6 = internal constant [5 x i8] c"main\00", section "llvm.metadata" ; <[5 x i8]*> [#uses=1] +@llvm.dbg.variable3 = internal constant %llvm.dbg.variable.type { + i32 393474, + { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram2 to { }*), + i8* getelementptr ([7 x i8]* @str7, i32 0, i32 0), + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i32 8, + { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1] +@str7 = internal constant [7 x i8] c"retval\00", section "llvm.metadata" ; <[7 x i8]*> [#uses=1] +@llvm.dbg.global_variable = internal constant %llvm.dbg.global_variable.type { + i32 393268, + { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.global_variables to { }*), + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i8* getelementptr ([2 x i8]* @str4, i32 0, i32 0), + i8* getelementptr ([2 x i8]* @str4, i32 0, i32 0), + i8* null, + { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), + i32 2, + { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), + i1 true, + i1 true, + { }* bitcast (i32* @q to { }*) }, section "llvm.metadata" ; <%llvm.dbg.global_variable.type*> [#uses=0] +@str4.upgrd.1 = internal constant [2 x i8] c"q\00", section "llvm.metadata" ; <[2 x i8]*> [#uses=0] +@q = internal global i32 0 ; [#uses=7] -;; Debugger type declarations -%llvm.dbg.anchor.type = type { uint, uint } -%llvm.dbg.basictype.type = type { uint, { }*, sbyte*, { }*, uint, ulong, ulong, ulong, uint, uint } -%llvm.dbg.compile_unit.type = type { uint, { }*, uint, sbyte*, sbyte*, sbyte* } -%llvm.dbg.global_variable.type = type { uint, { }*, { }*, sbyte*, sbyte*, sbyte*, { }*, uint, { }*, bool, bool, { }* } -%llvm.dbg.subprogram.type = type { uint, { }*, { }*, sbyte*, sbyte*, sbyte*, { }*, uint, { }*, bool, bool } -%llvm.dbg.variable.type = type { uint, { }*, sbyte*, { }*, uint, { }* } +declare void @llvm.dbg.func.start({ }*) -;; Debugger intrinsic declarations... -declare void %llvm.dbg.func.start({ }*) -declare void %llvm.dbg.stoppoint(uint, uint, { }*) -declare void %llvm.dbg.declare({ }*, { }*) -declare void %llvm.dbg.region.start({ }*) -declare void %llvm.dbg.region.end({ }*) +declare void @llvm.dbg.stoppoint(i32, i32, { }*) -;; Debugger anchors -%llvm.dbg.subprograms = linkonce constant %llvm.dbg.anchor.type { - uint 393216, ;; DW_TAG_anchor | version(6) - uint 46 }, section "llvm.metadata" ;; DW_TAG_subprogram -%llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { - uint 393216, ;; DW_TAG_anchor | version(6) - uint 17 }, section "llvm.metadata" ;; DW_TAG_compile_unit -%llvm.dbg.global_variables = linkonce constant %llvm.dbg.anchor.type { - uint 393216, ;; DW_TAG_anchor | version(6) - uint 52 }, section "llvm.metadata" ;; DW_TAG_variable +declare void @llvm.dbg.declare({ }*, { }*) -;; Debug info -%llvm.dbg.subprogram = internal constant %llvm.dbg.subprogram.type { - uint 393262, ;; DW_TAG_subprogram | version(6) - { }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.subprograms to { }*), ;; Anchor - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Context - sbyte* getelementptr ([4 x sbyte]* %str, int 0, int 0), ;; Name - sbyte* getelementptr ([4 x sbyte]* %str, int 0, int 0), ;; Fully quanlified name - sbyte* null, ;; Linkage name - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Compile unit - uint 4, ;; Line number - { }* null, ;; Type descriptor - bool false, ;; Static? - bool true }, section "llvm.metadata" ;; External? -%str = internal constant [4 x sbyte] c"foo\00", section "llvm.metadata" - -%llvm.dbg.compile_unit = internal constant %llvm.dbg.compile_unit.type { - uint 393233, ;; DW_TAG_compile_unit | version(6) - { }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.compile_units to { }*), ;; Anchor - uint 1, ;; Language - sbyte* getelementptr ([11 x sbyte]* %str, int 0, int 0), ;; Source file - sbyte* getelementptr ([50 x sbyte]* %str, int 0, int 0), ;; Source file directory - sbyte* getelementptr ([45 x sbyte]* %str, int 0, int 0) }, section "llvm.metadata" ;; Produceer -%str = internal constant [11 x sbyte] c"funccall.c\00", section "llvm.metadata" -%str = internal constant [50 x sbyte] c"/Volumes/Big2/llvm/llvm/test/Regression/Debugger/\00", section "llvm.metadata" -%str = internal constant [45 x sbyte] c"4.0.1 LLVM (Apple Computer, Inc. build 5421)\00", section "llvm.metadata" +declare void @llvm.dbg.region.start({ }*) -%llvm.dbg.variable = internal constant %llvm.dbg.variable.type { - uint 393472, ;; DW_TAG_auto_variable | version(6) - { }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram to { }*), ;; Context - sbyte* getelementptr ([2 x sbyte]* %str, int 0, int 0), ;; Name - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Compile unit - uint 5, ;; Line number - { }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to { }*) }, section "llvm.metadata" ;; Type -%str = internal constant [2 x sbyte] c"t\00", section "llvm.metadata" +declare void @llvm.dbg.region.end({ }*) -%llvm.dbg.basictype = internal constant %llvm.dbg.basictype.type { - uint 393252, ;; DW_TAG_base_type | version(6) - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Context - sbyte* getelementptr ([4 x sbyte]* %str1, int 0, int 0), ;; Name - { }* null, ;; Compile Unit - uint 0, ;; Line number - ulong 32, ;; Size in bits - ulong 32, ;; Align in bits - ulong 0, ;; Offset in bits - uint 0, ;; Flags - uint 5 }, section "llvm.metadata" ;; Basic type encoding -%str1 = internal constant [4 x sbyte] c"int\00", section "llvm.metadata" - -%llvm.dbg.subprogram2 = internal constant %llvm.dbg.subprogram.type { - uint 393262, ;; DW_TAG_subprogram | version(6) - { }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.subprograms to { }*), ;; Anchor - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Context - sbyte* getelementptr ([5 x sbyte]* %str, int 0, int 0), ;; Name - sbyte* getelementptr ([5 x sbyte]* %str, int 0, int 0), ;; Fully quanlified name - sbyte* null, ;; Linkage name - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Compile unit - uint 8, ;; Line number - { }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to { }*), ;; Type descriptor - bool false, ;; Static? - bool true }, section "llvm.metadata" ;; External? -%str = internal constant [5 x sbyte] c"main\00", section "llvm.metadata" - -%llvm.dbg.variable3 = internal constant %llvm.dbg.variable.type { - uint 393474, ;; DW_TAG_return_variable | version(6) - { }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram2 to { }*), ;; Context - sbyte* getelementptr ([7 x sbyte]* %str, int 0, int 0), ;; Name - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Compile unit - uint 8, ;; Line number - { }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to { }*) }, section "llvm.metadata" ;; Type -%str = internal constant [7 x sbyte] c"retval\00", section "llvm.metadata" - -%llvm.dbg.global_variable = internal constant %llvm.dbg.global_variable.type { - uint 393268, ;; DW_TAG_variable | version(6) - { }* bitcast (%llvm.dbg.anchor.type* %llvm.dbg.global_variables to { }*), ;; Anchor - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Context - sbyte* getelementptr ([2 x sbyte]* %str4, int 0, int 0), ;; Name - sbyte* getelementptr ([2 x sbyte]* %str4, int 0, int 0), ;; Fully qualified name - sbyte* null, ;; Linkage name - { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*),;; Compile unit - uint 2, ;; Line number - { }* bitcast (%llvm.dbg.basictype.type* %llvm.dbg.basictype to { }*), ;; Type - bool true, ;; Static? - bool true, ;; External? - { }* bitcast (int* %q to { }*) }, section "llvm.metadata" ;; Variable -%str4 = internal constant [2 x sbyte] c"q\00", section "llvm.metadata" - -;; Global -%q = internal global int 0 - -implementation - -void %foo() { +define void @foo() { entry: - %t = alloca int, align 4 - "alloca point" = bitcast int 0 to int - call void %llvm.dbg.func.start( { }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram to { }*) ) - call void %llvm.dbg.stoppoint( uint 4, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - %t = bitcast int* %t to { }* - call void %llvm.dbg.declare( { }* %t, { }* bitcast (%llvm.dbg.variable.type* %llvm.dbg.variable to { }*) ) - call void %llvm.dbg.stoppoint( uint 5, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - %tmp = load int* %q - store int %tmp, int* %t - call void %llvm.dbg.stoppoint( uint 6, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - %tmp1 = load int* %t - %tmp2 = add int %tmp1, 1 - store int %tmp2, int* %q - call void %llvm.dbg.stoppoint( uint 7, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - call void %llvm.dbg.region.end( { }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram to { }*) ) + %t = alloca i32, align 4 ; [#uses=3] + %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] + call void @llvm.dbg.func.start( { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to { }*) ) + call void @llvm.dbg.stoppoint( i32 4, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + %t.upgrd.2 = bitcast i32* %t to { }* ; <{ }*> [#uses=1] + call void @llvm.dbg.declare( { }* %t.upgrd.2, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable to { }*) ) + call void @llvm.dbg.stoppoint( i32 5, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + %tmp = load i32* @q ; [#uses=1] + store i32 %tmp, i32* %t + call void @llvm.dbg.stoppoint( i32 6, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + %tmp1 = load i32* %t ; [#uses=1] + %tmp2 = add i32 %tmp1, 1 ; [#uses=1] + store i32 %tmp2, i32* @q + call void @llvm.dbg.stoppoint( i32 7, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + call void @llvm.dbg.region.end( { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to { }*) ) ret void } -int %main() { +define i32 @main() { entry: - %retval = alloca int, align 4 - %tmp = alloca int, align 4 - "alloca point" = bitcast int 0 to int - call void %llvm.dbg.func.start( { }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram2 to { }*) ) - call void %llvm.dbg.stoppoint( uint 8, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - %retval = bitcast int* %retval to { }* - call void %llvm.dbg.declare( { }* %retval, { }* bitcast (%llvm.dbg.variable.type* %llvm.dbg.variable3 to { }*) ) - call void %llvm.dbg.stoppoint( uint 9, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - store int 0, int* %q - call void %llvm.dbg.stoppoint( uint 10, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - call void (...)* bitcast (void ()* %foo to void (...)*)( ) - call void %llvm.dbg.stoppoint( uint 11, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - %tmp = load int* %q - %tmp1 = sub int %tmp, 1 - store int %tmp1, int* %q - call void %llvm.dbg.stoppoint( uint 13, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - %tmp2 = load int* %q - store int %tmp2, int* %tmp - %tmp3 = load int* %tmp - store int %tmp3, int* %retval - %retval = load int* %retval - call void %llvm.dbg.stoppoint( uint 14, uint 0, { }* bitcast (%llvm.dbg.compile_unit.type* %llvm.dbg.compile_unit to { }*) ) - call void %llvm.dbg.region.end( { }* bitcast (%llvm.dbg.subprogram.type* %llvm.dbg.subprogram2 to { }*) ) - ret int %retval + %retval = alloca i32, align 4 ; [#uses=3] + %tmp = alloca i32, align 4 ; [#uses=2] + %"alloca point" = bitcast i32 0 to i32 ; [#uses=0] + call void @llvm.dbg.func.start( { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram2 to { }*) ) + call void @llvm.dbg.stoppoint( i32 8, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + %retval.upgrd.3 = bitcast i32* %retval to { }* ; <{ }*> [#uses=1] + call void @llvm.dbg.declare( { }* %retval.upgrd.3, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable3 to { }*) ) + call void @llvm.dbg.stoppoint( i32 9, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + store i32 0, i32* @q + call void @llvm.dbg.stoppoint( i32 10, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + call void (...)* bitcast (void ()* @foo to void (...)*)( ) + call void @llvm.dbg.stoppoint( i32 11, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + %tmp.upgrd.4 = load i32* @q ; [#uses=1] + %tmp1 = sub i32 %tmp.upgrd.4, 1 ; [#uses=1] + store i32 %tmp1, i32* @q + call void @llvm.dbg.stoppoint( i32 13, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + %tmp2 = load i32* @q ; [#uses=1] + store i32 %tmp2, i32* %tmp + %tmp3 = load i32* %tmp ; [#uses=1] + store i32 %tmp3, i32* %retval + %retval.upgrd.5 = load i32* %retval ; [#uses=1] + call void @llvm.dbg.stoppoint( i32 14, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*) ) + call void @llvm.dbg.region.end( { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram2 to { }*) ) + ret i32 %retval.upgrd.5 }