1. 04 Apr, 2016 1 commit
    • 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
  2. 01 Apr, 2016 1 commit
  3. 19 Mar, 2016 1 commit
  4. 15 Mar, 2016 1 commit
  5. 11 Mar, 2016 1 commit
  6. 10 Mar, 2016 1 commit
  7. 08 Mar, 2016 1 commit
  8. 02 Mar, 2016 2 commits
  9. 01 Mar, 2016 3 commits
  10. 29 Feb, 2016 1 commit
  11. 28 Feb, 2016 1 commit
  12. 26 Feb, 2016 4 commits
  13. 15 Feb, 2016 3 commits
  14. 14 Feb, 2016 2 commits
  15. 12 Feb, 2016 1 commit
  16. 08 Feb, 2016 6 commits
  17. 07 Feb, 2016 1 commit
    • Matthias Braun's avatar
      amd64: Always initialize amd64_addr_t · eae40498
      Matthias Braun authored
      We previously left the amd64_addr_t attribute uninitialized for OP_REG,
      OP_REG_REG and OP_REG_IMM. Make the code more consistent by always
      initializing it to the newly introduced X86_ADDR_REG variant, as a bonus
      we can also use base_input member to indicate the register input instead
      of hardcoding it to 0.
      eae40498
  18. 05 Feb, 2016 1 commit
  19. 01 Feb, 2016 8 commits