blob: c33d6e9ee767892378345aa49956dc8d612233d8 [file] [edit]
; Function declaration - should be excluded from all IR2Vec outputs
declare i32 @external_func(i32 %x)
define i32 @add(i32 %a, i32 %b) {
entry:
%sum = add i32 %a, %b
ret i32 %sum
}
define i32 @multiply(i32 %x, i32 %y) {
entry:
%prod = mul i32 %x, %y
ret i32 %prod
}
define i32 @conditional(i32 %n) {
entry:
%cmp = icmp sgt i32 %n, 0
br i1 %cmp, label %positive, label %negative
positive:
%pos_val = add i32 %n, 10
br label %exit
negative:
%neg_val = sub i32 %n, 10
br label %exit
exit:
%result = phi i32 [ %pos_val, %positive ], [ %neg_val, %negative ]
ret i32 %result
}