1. 29 Jul, 2016 1 commit
  2. 26 Jul, 2016 1 commit
  3. 24 Jul, 2016 1 commit
  4. 12 May, 2016 1 commit
  5. 04 Apr, 2016 2 commits
    • Matthias Braun's avatar
      arm: Fix stack alignment · e610ea5c
      Matthias Braun authored
      e610ea5c
    • Matthias Braun's avatar
      be: Rewrite stack frame handling · b6787e36
      Matthias Braun authored
      This is a bigger rewrite of stack frame handling in the backend:
      
      - Do the stack frame type layout late, after all the spill slots have
        been created. This way we can avoid (and remove) the brittle
        frame_alloc_area().
      - Standardize the meaning of stack entity offsets. After stack frame type
        layout they are relative to the stack pointer position at the beginning
        of the function.  It is all in one type now, no splitting into "arg",
        "between" and "stack_frame" type anymore.
      - Generalize the stack pointer simulation code to work with a single
        callback. Represent stack state as current offset and align_padding
        number. Now that callbacks can access and modify them both we do not
        need custom code in the sparc backend anymore.
      - Remove alignment specification on IncSP, only keep a ignore_align flag
        used for the last IncSP that has to remove all existing sp adjustments
        and may end up on a misaligned SP on ia32/amd64.
      - Align stack by default on ia32+amd64 backends.
      b6787e36
  6. 15 Mar, 2016 1 commit
  7. 14 Mar, 2016 1 commit
  8. 14 Feb, 2016 1 commit
  9. 03 Dec, 2015 1 commit
  10. 15 Sep, 2015 1 commit
  11. 10 Sep, 2015 1 commit
  12. 09 Sep, 2015 1 commit
    • Christoph Mallon's avatar
      be: Wire stack nodes after code selection. · bed91301
      Christoph Mallon authored
      This resolves problems with hidden dependencies during code selection, which cause dependency cycles and therefore fixes backend/scheduled.c.
      Also it grants the code selection slightly more freedom by not arbitrarily restricting the order by stack dependencies.
      bed91301
  13. 08 Sep, 2015 1 commit
  14. 20 Aug, 2015 1 commit
    • Matthias Braun's avatar
      Cleanup after def92e0a · 7c907708
      Matthias Braun authored
      Properly use get_irn_pinned/set_irn_pinned as bool value instead of
      comparing setting the ir_op enum values.
      7c907708
  15. 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
  16. 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
  17. 07 Aug, 2015 1 commit
  18. 29 Jul, 2015 1 commit
  19. 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
  20. 27 Jul, 2015 1 commit
  21. 23 Jul, 2015 1 commit
    • Matthias Braun's avatar
      arm: Remove CopyB node · bd66289b
      Matthias Braun authored
      We use lower_CopyB anyway so there are no copybs left when lowering.
      They are all lowered to load/store sequences or memcpy calls.
      bd66289b
  22. 21 Jul, 2015 3 commits
  23. 08 Jul, 2015 1 commit
  24. 01 Jul, 2015 2 commits
  25. 26 Jun, 2015 2 commits
  26. 20 Jun, 2015 2 commits
  27. 12 Jun, 2015 1 commit
  28. 19 Apr, 2015 2 commits
  29. 28 Jan, 2015 2 commits
  30. 25 Jan, 2015 1 commit
  31. 14 Jan, 2015 2 commits