CS153/hw6/llprograms/sp20_hw3/fibonacci.ll
jmug 0c04936ccf Updated hw6 to a newer version
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-01-24 21:23:08 -08:00

20 lines
389 B
LLVM

define i64 @fibonacci(i64 %x) {
%1 = icmp sle i64 %x, 1
br i1 %1, label %base_case, label %recurse
base_case:
ret i64 %x
recurse:
%2 = sub i64 %x, 1
%3 = sub i64 %x, 2
%4 = call i64 @fibonacci(i64 %2)
%5 = call i64 @fibonacci(i64 %3)
%6 = add i64 %4, %5
ret i64 %6
}
define i64 @main(i64 %argc, i8** %argv) {
%result = call i64 @fibonacci(i64 6)
ret i64 %result
}