1. 21 Dec, 2011 1 commit
  2. 19 Dec, 2011 3 commits
  3. 16 Nov, 2011 1 commit
  4. 14 Nov, 2011 1 commit
  5. 10 Nov, 2011 6 commits
  6. 27 Oct, 2011 2 commits
    • Matthias Braun's avatar
      let backends decide wether to use begnuas · f19e702d
      Matthias Braun authored
      This also means that dependent modules like bedbgout should be
      initialized by begnuas.
      f19e702d
    • 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
  7. 25 Oct, 2011 1 commit
  8. 27 Sep, 2011 2 commits
  9. 22 Sep, 2011 1 commit
  10. 21 Sep, 2011 1 commit
  11. 15 Sep, 2011 1 commit
    • Matthias Braun's avatar
      lower_mode_b: refactoring, make it more robust · a00e3544
      Matthias Braun authored
      - Make API private as it should only be called by backends
      - Let ia32 backend create special ia32_Set nodes instead of relying
        on muxes which must not be touched anymore
      - Does not create ConvB nodes anymore but instead produces the Cmp
        directly. (All backends did this anyway during code-selection so I was
        able to leave this case out code-selection)
      - First collect nodes to lower, then lower them. This avoids robustness
        problems when transforming the graph while at the same time walking
        it.
      a00e3544
  12. 08 Sep, 2011 1 commit
  13. 01 Sep, 2011 2 commits
  14. 23 Aug, 2011 1 commit
  15. 19 Aug, 2011 2 commits
  16. 17 Aug, 2011 2 commits
  17. 15 Aug, 2011 1 commit
    • Matthias Braun's avatar
      big refactoring of arch_XXX functions · 41dc42af
      Matthias Braun authored
      This tries to get the names in a consistent format. We basically have 2
      views on register allocation/constraints now:
      
      1) Register Requirements and Assigments are per-instruction. Each
         instruction has requirements on its inputs and outputs, register get
         assigned for outputs of an instruction (assignment is an attribute of
         an instruction, not of the Proj-nodes).
         The internal datastructures model this form!
      
         The functions here have the form:
           arch_get_irn_register_req_in(node, input_nr)
           arch_get_irn_register_in(node, input_nr)
           arch_get_irn_register_req_out(node, output_nr)
           arch_set_irn_register_out(node, output_nr, register)
      
      2) Register Requirements and Assignments are on firm-values. This view
         allows to query/assign requirements and registers at the Proj nodes
         instead of the repsective predecessors.
         This is a convenience interface modeled on top of the other!
      
         The functions have the form:
           arch_get_irn_register_req(node)
           arch_get_irn_register(node)
           arch_set_irn_register(node, register)
      41dc42af
  18. 12 Aug, 2011 2 commits
  19. 10 Aug, 2011 1 commit
  20. 05 Aug, 2011 1 commit
  21. 04 Aug, 2011 1 commit
  22. 17 Jun, 2011 1 commit
  23. 16 Jun, 2011 1 commit
  24. 11 Jun, 2011 1 commit
  25. 08 Jun, 2011 1 commit
    • Michael Beck's avatar
      Removed the callee/caller saved flag from register specification. · ad8c4178
      Michael Beck authored
      The callee/caller saved information is not constant accross different
      ABI's, so don't make it constant. Instead, all BE that still use beabi
      provide a callback now.
      This allows to implement support for x64_64/Win32 and is a necessary step
      for the combined x86 BE.
      ad8c4178
  26. 01 Jun, 2011 2 commits