for.ll 650 B

123456789101112131415161718192021222324
  1. declare double @putchard(double)
  2. define double @printstar(double %n) {
  3. entry:
  4. ; initial value = 1.0 (inlined into phi)
  5. br label %loop
  6. loop: ; preds = %loop, %entry
  7. %i = phi double [ 1.000000e+00, %entry ], [ %nextvar, %loop ]
  8. ; body
  9. %calltmp = call double @putchard(double 4.200000e+01)
  10. ; increment
  11. %nextvar = fadd double %i, 1.000000e+00
  12. ; termination test
  13. %cmptmp = fcmp ult double %i, %n
  14. %booltmp = uitofp i1 %cmptmp to double
  15. %loopcond = fcmp one double %booltmp, 0.000000e+00
  16. br i1 %loopcond, label %loop, label %afterloop
  17. afterloop: ; preds = %loop
  18. ; loop always returns 0.0
  19. ret double 0.000000e+00
  20. }