define dso_local i32 @main(i32
%
argc, i8
*
*
%
argv)
entry:
%
.reg2mem
=
alloca i32
%
retval
=
alloca i32, align
4
%
argc.addr
=
alloca i32, align
4
%
argv.addr
=
alloca i8
*
*
, align
8
%
a
=
alloca i32, align
4
store i32
0
, i32
*
%
retval, align
4
store i32
%
argc, i32
*
%
argc.addr, align
4
store i8
*
*
%
argv, i8
*
*
*
%
argv.addr, align
8
%
0
=
load i8
*
*
, i8
*
*
*
%
argv.addr, align
8
%
arrayidx
=
getelementptr inbounds i8
*
, i8
*
*
%
0
, i64
1
%
1
=
load i8
*
, i8
*
*
%
arrayidx, align
8
%
call
=
call i32 @atoi(i8
*
%
1
)
store i32
%
call, i32
*
%
a, align
4
%
2
=
load i32, i32
*
%
a, align
4
store i32
%
2
, i32
*
%
.reg2mem
%
switchVar
=
alloca i32
store i32
157301900
, i32
*
%
switchVar
br label
%
loopEntry
loopEntry: ; preds
=
%
entry,
%
loopEnd
%
switchVar10
=
load i32, i32
*
%
switchVar
switch i32
%
switchVar10, label
%
switchDefault [
i32
157301900
, label
%
NodeBlock8
i32
241816174
, label
%
NodeBlock
i32
1003739776
, label
%
LeafBlock6
i32
-
1519555718
, label
%
LeafBlock
i32
-
749093422
, label
%
sw.bb
i32
1599617141
, label
%
sw.bb2
i32
1815329037
, label
%
sw.bb4
i32
1738940479
, label
%
NewDefault
i32
-
282945350
, label
%
sw.default
i32
387774014
, label
%
sw.epilog
i32
1681741611
, label
%
if
.then
i32
347219667
, label
%
if
.
else
i32
-
618048859
, label
%
return
]
switchDefault: ; preds
=
%
loopEntry
br label
%
loopEnd
NodeBlock8: ; preds
=
%
entry
%
Pivot9
=
icmp slt i32
%
2
,
2
%
3
=
select i1
%
Pivot9, i32
-
1519555718
, i32
241816174
store i32
%
3
, i32
*
%
switchVar
br label
%
loopEnd
NodeBlock: ; preds
=
%
NodeBlock8
%
Pivot
=
icmp slt i32
%
2
,
3
%
4
=
select i1
%
Pivot, i32
1599617141
, i32
1003739776
store i32
%
4
, i32
*
%
switchVar
br label
%
loopEnd
LeafBlock6: ; preds
=
%
NodeBlock
%
SwitchLeaf7
=
icmp eq i32
%
2
,
3
%
5
=
select i1
%
SwitchLeaf7, i32
1815329037
, i32
1738940479
store i32
%
5
, i32
*
%
switchVar
br label
%
loopEnd
LeafBlock: ; preds
=
%
NodeBlock8
%
SwitchLeaf
=
icmp eq i32
%
2
,
1
%
6
=
select i1
%
SwitchLeaf, i32
-
749093422
, i32
1738940479
store i32
%
6
, i32
*
%
switchVar
br label
%
loopEnd
sw.bb: ; preds
=
%
LeafBlock
%
call1
=
call i32 (i8
*
, ...) @printf(i8
*
getelementptr inbounds ([
5
x i8], [
5
x i8]
*
@.
str
, i64
0
, i64
0
))
store i32
387774014
, i32
*
%
switchVar
br label
%
loopEnd
sw.bb2: ; preds
=
%
NodeBlock
%
call3
=
call i32 (i8
*
, ...) @printf(i8
*
getelementptr inbounds ([
5
x i8], [
5
x i8]
*
@.
str
.
1
, i64
0
, i64
0
))
br label
%
sw.epilog
sw.bb4: ; preds
=
%
LeafBlock6
%
call5
=
call i32 (i8
*
, ...) @printf(i8
*
getelementptr inbounds ([
5
x i8], [
5
x i8]
*
@.
str
.
2
, i64
0
, i64
0
))
store i32
387774014
, i32
*
%
switchVar
br label
%
loopEnd
NewDefault: ; preds
=
%
LeafBlock6,
%
LeafBlock
br label
%
sw.default
sw.default: ; preds
=
%
NewDefault
store i32
387774014
, i32
*
%
switchVar
br label
%
loopEnd
sw.epilog: ; preds
=
%
sw.default,
%
sw.bb4,
%
sw.bb2,
%
sw.bb
%
3
=
load i32, i32
*
%
a, align
4
%
cmp
=
icmp eq i32
%
3
,
0
%
8
=
select i1
%
cmp
, i32
1681741611
, i32
347219667
store i32
%
8
, i32
*
%
switchVar
br label
%
loopEnd
if
.then: ; preds
=
%
sw.epilog
store i32
1
, i32
*
%
retval, align
4
store i32
-
618048859
, i32
*
%
switchVar
br label
%
loopEnd
if
.
else
: ; preds
=
%
sw.epilog
store i32
10
, i32
*
%
retval, align
4
store i32
-
618048859
, i32
*
%
switchVar
br label
%
loopEnd
return
: ; preds
=
%
if
.
else
,
%
if
.then
%
4
=
load i32, i32
*
%
retval, align
4
ret i32
%
4
loopEnd: ; preds
=
%
if
.
else
,
%
if
.then,
%
sw.epilog,
%
sw.default,
%
NewDefault,
%
sw.bb4,
%
sw.bb2,
%
sw.bb,
%
LeafBlock,
%
LeafBlock6,
%
NodeBlock,
%
NodeBlock8,
%
switchDefault
br label
%
loopEntry
}