47 lines
869 B
Plaintext
47 lines
869 B
Plaintext
|
|
data @cout = external global id
|
||
|
|
|
||
|
|
data @.str.0 = str "less"
|
||
|
|
data @.str.1 = str "more"
|
||
|
|
data @.str.2 = str "equal"
|
||
|
|
|
||
|
|
define void @init(id %self, id %0) static {
|
||
|
|
entry:
|
||
|
|
%x = alloca id
|
||
|
|
store i32 #2, ptr %x
|
||
|
|
|
||
|
|
%y = alloca id
|
||
|
|
store i32 #3, ptr %y
|
||
|
|
|
||
|
|
%1 = load i32, ptr %x
|
||
|
|
%2 = load i32, ptr %y
|
||
|
|
%3 = cmp lt i32 %1, %2
|
||
|
|
br i1 %3, label %if.true, label %if.false
|
||
|
|
|
||
|
|
if.true:
|
||
|
|
%4 = load id, ptr @cout
|
||
|
|
%5 = load str, ptr @.str.0
|
||
|
|
msg void, id %4, @_M03putE [str %5]
|
||
|
|
br label %if.end
|
||
|
|
|
||
|
|
if.false:
|
||
|
|
%6 = load i32, ptr %x
|
||
|
|
%7 = load i32, ptr %y
|
||
|
|
%8 = cmp gt i32 %6, %7
|
||
|
|
br i1 %8, label %if.true.0, label %if.false.0
|
||
|
|
|
||
|
|
if.true.0:
|
||
|
|
%9 = load id, ptr @cout
|
||
|
|
%10 = load str, ptr @.str.1
|
||
|
|
msg void, id %9, @_M03putE [str %10]
|
||
|
|
br label %if.end
|
||
|
|
|
||
|
|
if.false.0:
|
||
|
|
%11 = load id, ptr @cout
|
||
|
|
%12 = load str, ptr @.str.2
|
||
|
|
msg void, id %11, @_M03putE [str %12]
|
||
|
|
br label %if.end
|
||
|
|
|
||
|
|
if.end:
|
||
|
|
ret void
|
||
|
|
}
|