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. 15 Mar, 2016 1 commit
  3. 11 Mar, 2016 1 commit
  4. 15 Feb, 2016 1 commit
  5. 14 Feb, 2016 1 commit
  6. 10 Jan, 2016 1 commit
  7. 03 Dec, 2015 1 commit
  8. 20 Sep, 2015 1 commit
  9. 22 Jul, 2015 1 commit
    • Matthias Braun's avatar
      ia32: PIC rewrite, handles most of elf PIC now · f345dbf8
      Matthias Braun authored
      This uses the newly introduced be_Relocation node to perform most PIC
      transformations in ia32_pic.c. This introduces the elf and elf-no-plt
      PIC modes. The "efl" mode does not work yet because the additional ebx
      input makes calls register pressure unfaithful.
      f345dbf8
  10. 20 Jul, 2015 1 commit
  11. 19 Jul, 2015 1 commit
  12. 18 Jan, 2015 2 commits
  13. 31 Dec, 2014 2 commits
  14. 22 Nov, 2014 1 commit
  15. 09 Nov, 2014 1 commit
  16. 02 Oct, 2014 1 commit
  17. 30 Sep, 2014 1 commit
  18. 21 Aug, 2014 1 commit
  19. 01 Apr, 2014 1 commit
  20. 12 Nov, 2013 1 commit
  21. 11 Jun, 2013 3 commits
  22. 04 May, 2013 1 commit
    • Matthias Braun's avatar
      do not include config.h anymore · 0f73b43e
      Matthias Braun authored
      It has been empty for nearly all systems. People who used to put stuff
      in config.h can still create a config.h on their own and inject
      -include (gcc) or /FI (msvc) into their CPPFLAGS.
      0f73b43e
  23. 11 Mar, 2013 1 commit
  24. 19 Dec, 2012 1 commit
  25. 12 Dec, 2012 1 commit
  26. 30 Nov, 2012 1 commit
  27. 29 Nov, 2012 1 commit
  28. 24 Nov, 2012 1 commit
  29. 15 Nov, 2012 1 commit
  30. 10 Nov, 2011 2 commits
  31. 27 Oct, 2011 1 commit
    • Matthias Braun's avatar
      ir_mode: simplify interface, improve float-mode handling · e3b765fc
      Matthias Braun authored
      The main change here is splitting new_ir_mode into new_int_mode,
      new_reference_mode and new_float_mode. You can now specify
      mantissa+exponent size in new_float_mode. This also changes:
      
      - x86 80bit-FP mode is NOT a ieee754 don't put "ieee754" into functions
        names that can also handle x86 80bit fps
      - Move ieee_descriptor_t from tarval module into ir_mode struct
        (and rename to float_descriptor_t)
      - Introduce mode_Q which represents binary128 from ieee754
      - You can ask float modes for mantissa/exponent sizes now
      - Fix endianess when emitting big float values in begnuas
      - A bunch of long double fixes in ia32: the mode there has 10bytes
        (80bit) but the variables typically are 12 or 16 byte big
      - This fixes some problems of sparc binary128 handling
      e3b765fc
  32. 27 Sep, 2011 1 commit
  33. 12 Aug, 2011 1 commit
  34. 13 Apr, 2011 2 commits