ldhoist.ssa 288 B

123456789101112131415161718192021
  1. # loads must not be unsafely hoisted
  2. export
  3. function w $f(w %n, l %p) {
  4. @start
  5. %r =w copy 0
  6. @loop
  7. %n =w sub %n, 1
  8. %c =w csgew %n, 0
  9. jnz %c, @loop1, @end
  10. @loop1
  11. %r =w loadw %p
  12. jmp @loop
  13. @end
  14. ret %r
  15. }
  16. # >>> driver
  17. # extern int f(int, int *);
  18. # int main() { return f(0, 0); }
  19. # <<<