Advertisement
Guest User

Untitled

a guest
Oct 27th, 2018
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 0.50 KB | None | 0 0
  1. declare void @printInt(i32) ;  w innym module
  2.  
  3. define i32 @fib(i32 %n) {
  4. entry:
  5.     br label %L1
  6. L1:
  7.     %n1 = phi i32 [%n, %entry], [%n2, %L2]
  8.     %a = phi i32 [0, %entry], [%b, %L2]
  9.     %b = phi i32 [1, %entry], [%nb, %L2]
  10.  
  11.     %cmp = icmp ne i32 %n1, 0
  12.     br i1 %cmp, label %L2, label %L3
  13. L2:
  14.     %nb = add i32 %a, %b
  15.     %n2 = sub i32 %n1, 1
  16.     br label %L1
  17. L3:
  18.     ret i32 %a
  19. }
  20.  
  21. define i32 @main() {
  22.     %r = call i32 @fib(i32 10)
  23.     call void @printInt(i32 %r)
  24.     ret i32 0
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement