Make fib be more real
authorChris Lattner <sabre@nondot.org>
Sat, 1 Sep 2001 01:47:52 +0000 (01:47 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 1 Sep 2001 01:47:52 +0000 (01:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@413 91177308-0d34-0410-b5e6-96231b3b80d8

test/fib.ll

index 73d5e53bd3782f28b59c770c62688cc901247e0c..9c54a4a9fbfd2f7c881bb8ede8090399105c1e32 100644 (file)
@@ -1,13 +1,7 @@
-
-;; TODO:
-;; [ ] Get rid out outside class & begin stuff
-;; [ ] Allow global const pool to be expanded continually
-;; [ ] Support global variable declaration & definition
-;; [ ] Support function definition:  %fib = prototype ulong (ulong)
-;; [x] Support Type definition
-
 implementation
 
+declare int "atoi"(sbyte *)
+
 ulong "fib"(ulong %n)
 begin
   setlt ulong %n, 2       ; {bool}:0
@@ -26,18 +20,17 @@ RecurseCase:
 end
 
 ulong "main"(int %argc, sbyte ** %argv)
-;;  %n2 = int 1
 begin
   seteq int %argc, 2      ; {bool}:0
   br bool %0, label %HasArg, label %Continue
 HasArg:
   ; %n1 = atoi(argv[1])
-;;;  %n1 = add int 1, 1
+  %n1 = add int 1, 1
   br label %Continue
 
 Continue:
-;;;  %n = phi int %n1, %n2
-  %N = add ulong 1, 1       ;; TODO: CAST
+  %n = phi int [%n1, %HasArg], [1, %0]
+  %N = cast int %n to ulong
   %F = call ulong(ulong) %fib(ulong %N)
   ret ulong %F
 end