1. 14 Aug, 2015 1 commit
    • Andreas Fried's avatar
      Implement vararg handling in a more portable way (for now only for IA32). · f833aa25
      Andreas Fried authored
      This adds two builtin kinds, ir_bk_va_start and ir_bk_va_arg. va_arg Builtins
      are lowered in the lower_builtins pass with a function provided by the backend,
      whereby most architectures can use be_default_lower_va_args. va_start Builtins
      are lowered in the backend.
      
      Note: This commit breaks all backends except for IA32. SPARC and AMD64 are
      implemented in later commits. The ARM backend previously miscompiled variadic
      functions, and will now throw a proper error.
      f833aa25
  2. 09 Aug, 2015 1 commit
    • Christoph Mallon's avatar
      be: Reintroduce be_Start. · 36de1849
      Christoph Mallon authored
      All backends have similar empty Start nodes, which just provide registers.
      So having one generic backend Start node to share some infrastructure is sensible.
      36de1849
  3. 07 Aug, 2015 1 commit
  4. 29 Jul, 2015 1 commit
  5. 28 Jul, 2015 1 commit
    • Christoph Mallon's avatar
      be: Add and use be_new_Proj(). · 9a6b8525
      Christoph Mallon authored
      It is like new_r_Proj(), but the mode is determined automatically from the out requirement of the predecessor.
      This probably resolves some mode mismatches in untested code paths -- AMD64 backend and SPARC hard float, I'm looking at you!
      9a6b8525
  6. 27 Jul, 2015 1 commit
  7. 22 Jul, 2015 1 commit
  8. 08 Jul, 2015 2 commits
  9. 01 Jul, 2015 4 commits
  10. 26 Jun, 2015 2 commits
  11. 12 Jun, 2015 1 commit
  12. 05 Jun, 2015 6 commits
  13. 29 May, 2015 5 commits
  14. 24 May, 2015 1 commit
  15. 19 Apr, 2015 2 commits
  16. 05 Apr, 2015 1 commit
  17. 15 Feb, 2015 1 commit
  18. 25 Jan, 2015 1 commit
  19. 18 Jan, 2015 1 commit
  20. 14 Jan, 2015 1 commit
  21. 12 Jan, 2015 3 commits
  22. 30 Dec, 2014 1 commit
  23. 26 Dec, 2014 1 commit