Change hw6 to an unsolved version.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
This commit is contained in:
parent
0c04936ccf
commit
ee01a8f5b2
186 changed files with 9605 additions and 4019 deletions
27
hw6/llprograms/sp24_hw3/fibonacci.ll
Normal file
27
hw6/llprograms/sp24_hw3/fibonacci.ll
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
%arr = type [2 x i64]
|
||||
@fib_arr = global %arr [i64 1, i64 0]
|
||||
|
||||
define i64 @main(i64 %argc, i8** %arcv) {
|
||||
%1 = call i64 @rec_fibonacci(i64 5, i64 1)
|
||||
ret i64 %1
|
||||
}
|
||||
|
||||
define i64 @rec_fibonacci(i64 %n, i64 %curr) {
|
||||
%check_done = icmp eq i64 %curr, %n
|
||||
br i1 %check_done, label %end, label %recurse
|
||||
recurse:
|
||||
%pt1 = getelementptr %arr, %arr* @fib_arr, i32 0, i64 0
|
||||
%pt2 = getelementptr %arr, %arr* @fib_arr, i32 0, i64 1
|
||||
%1 = load i64, i64* %pt1
|
||||
%2 = load i64, i64* %pt2
|
||||
%3 = add i64 %1, %2
|
||||
store i64 %3, i64* %pt1
|
||||
store i64 %1, i64* %pt2
|
||||
%curr2 = add i64 %curr, 1
|
||||
%ret = call i64 @rec_fibonacci(i64 %n, i64 %curr2)
|
||||
ret i64 %ret
|
||||
end:
|
||||
%rv_pt = getelementptr %arr, %arr* @fib_arr, i32 0, i64 0
|
||||
%rv = load i64, i64* %rv_pt
|
||||
ret i64 %rv
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue