summaryrefslogtreecommitdiffstats
path: root/test/DebugInfo/funccall.ll
blob: e44b0298ced87804e910cafdfc82ccaf61f9b7e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
;; RUN: llc < %s
	%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		; <i32*> [#uses=7]

declare void @llvm.dbg.func.start({  }*)

declare void @llvm.dbg.stoppoint(i32, i32, {  }*)

declare void @llvm.dbg.declare({  }*, {  }*)

declare void @llvm.dbg.region.start({  }*)

declare void @llvm.dbg.region.end({  }*)

define void @foo() {
entry:
	%t = alloca i32, align 4		; <i32*> [#uses=3]
	%"alloca point" = bitcast i32 0 to i32		; <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		; <i32> [#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		; <i32> [#uses=1]
	%tmp2 = add i32 %tmp1, 1		; <i32> [#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
}

define i32 @main() {
entry:
	%retval = alloca i32, align 4		; <i32*> [#uses=3]
	%tmp = alloca i32, align 4		; <i32*> [#uses=2]
	%"alloca point" = bitcast i32 0 to i32		; <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		; <i32> [#uses=1]
	%tmp1 = sub i32 %tmp.upgrd.4, 1		; <i32> [#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		; <i32> [#uses=1]
	store i32 %tmp2, i32* %tmp
	%tmp3 = load i32* %tmp		; <i32> [#uses=1]
	store i32 %tmp3, i32* %retval
	%retval.upgrd.5 = load i32* %retval		; <i32> [#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
}
OpenPOWER on IntegriCloud