; ModuleID
=
'main.c'
source_filename
=
"main.c"
target datalayout
=
"e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple
=
"x86_64-pc-linux-gnu"
@.
str
=
private unnamed_addr constant [
6
x i8] c
"fun1\0A\00"
, align
1
@.
str
.
1
=
private unnamed_addr constant [
7
x i8] c
"Ayaka\0A\00"
, align
1
@.
str
.
2
=
private unnamed_addr constant [
5
x i8] c
"bye\0A\00"
, align
1
; Function Attrs: noinline nounwind optnone uwtable
define i32 @function1()
%
1
=
alloca i32, align
4
%
2
=
alloca i32, align
4
store i32
2
, i32
*
%
2
, align
4
%
3
=
load i32, i32
*
%
2
, align
4
%
4
=
icmp eq i32
%
3
,
3
br i1
%
4
, label
%
5
, label
%
6
; <label>:
5
: ; preds
=
%
0
store i32
1
, i32
*
%
1
, align
4
br label
%
10
; <label>:
6
: ; preds
=
%
0
%
7
=
load i32, i32
*
%
2
, align
4
%
8
=
add nsw i32
%
7
,
2
store i32
%
8
, i32
*
%
2
, align
4
%
9
=
call i32 (i8
*
, ...) @printf(i8
*
getelementptr inbounds ([
6
x i8], [
6
x i8]
*
@.
str
, i32
0
, i32
0
))
store i32
0
, i32
*
%
1
, align
4
br label
%
10
; <label>:
10
: ; preds
=
%
6
,
%
5
%
11
=
load i32, i32
*
%
1
, align
4
ret i32
%
11
}
declare i32 @printf(i8
*
, ...)
; Function Attrs: noinline nounwind optnone uwtable
define i32 @Ayaka()
%
1
=
alloca i32, align
4
%
2
=
alloca i32, align
4
%
3
=
alloca i32, align
4
%
4
=
alloca i32, align
4
store i32
1
, i32
*
%
2
, align
4
store i32
2
, i32
*
%
3
, align
4
%
5
=
load i32, i32
*
%
2
, align
4
%
6
=
load i32, i32
*
%
3
, align
4
%
7
=
add nsw i32
%
5
,
%
6
store i32
%
7
, i32
*
%
4
, align
4
%
8
=
load i32, i32
*
%
2
, align
4
%
9
=
load i32, i32
*
%
4
, align
4
%
10
=
add nsw i32
%
8
,
%
9
%
11
=
load i32, i32
*
%
3
, align
4
%
12
=
add nsw i32
%
10
,
%
11
%
13
=
icmp eq i32
%
12
,
10
br i1
%
13
, label
%
14
, label
%
15
; <label>:
14
: ; preds
=
%
0
store i32
5
, i32
*
%
1
, align
4
br label
%
27
; <label>:
15
: ; preds
=
%
0
%
16
=
load i32, i32
*
%
2
, align
4
%
17
=
load i32, i32
*
%
4
, align
4
%
18
=
mul nsw i32
2
,
%
17
%
19
=
add nsw i32
%
16
,
%
18
%
20
=
load i32, i32
*
%
3
, align
4
%
21
=
mul nsw i32
3
,
%
20
%
22
=
add nsw i32
%
19
,
%
21
%
23
=
icmp eq i32
%
22
,
100
br i1
%
23
, label
%
24
, label
%
25
; <label>:
24
: ; preds
=
%
15
store i32
4
, i32
*
%
1
, align
4
br label
%
27
; <label>:
25
: ; preds
=
%
15
%
26
=
call i32 (i8
*
, ...) @printf(i8
*
getelementptr inbounds ([
7
x i8], [
7
x i8]
*
@.
str
.
1
, i32
0
, i32
0
))
store i32
0
, i32
*
%
1
, align
4
br label
%
27
; <label>:
27
: ; preds
=
%
25
,
%
24
,
%
14
%
28
=
load i32, i32
*
%
1
, align
4
ret i32
%
28
}
; Function Attrs: noinline nounwind optnone uwtable
define i32 @main()
%
1
=
alloca [
16
x i8], align
16
%
2
=
getelementptr inbounds [
16
x i8], [
16
x i8]
*
%
1
, i32
0
, i32
0
%
3
=
call i64 @read(i32
0
, i8
*
%
2
, i64
16
)
%
4
=
getelementptr inbounds [
16
x i8], [
16
x i8]
*
%
1
, i32
0
, i32
0
%
5
=
call i64 @write(i32
1
, i8
*
%
4
, i64
16
)
%
6
=
call i32 (i8
*
, ...) @printf(i8
*
getelementptr inbounds ([
5
x i8], [
5
x i8]
*
@.
str
.
2
, i32
0
, i32
0
))
ret i32
0
}
declare i64 @read(i32, i8
*
, i64)
declare i64 @write(i32, i8
*
, i64)
attributes
attributes
!llvm.module.flags
=
!{!
0
}
!llvm.ident
=
!{!
1
}
!
0
=
!{i32
1
, !
"wchar_size"
, i32
4
}
!
1
=
!{!
"clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)"
}