1. 11 Nov, 2012 8 commits
  2. 30 Jul, 2012 1 commit
  3. 23 Jul, 2012 1 commit
  4. 19 Jul, 2012 1 commit
  5. 18 Jul, 2012 1 commit
  6. 13 Jul, 2012 2 commits
  7. 10 Jul, 2012 1 commit
  8. 06 Jun, 2012 2 commits
  9. 13 May, 2012 1 commit
  10. 06 May, 2012 1 commit
  11. 04 May, 2012 1 commit
    • Matthias Braun's avatar
      ir_visibility cleanup · 07c77ebb
      Matthias Braun authored
      This commit removes the strange differentiation between
      ir_visibility_external and ir_visibility_default. We now only have
      ir_visibility_external for all symbols visible across compilation units.
      You may or may not attach graphs/initializers to them.
      07c77ebb
  12. 26 Apr, 2012 1 commit
    • Matthias Braun's avatar
      dwarf: initial support for callframe and params · cc9d3be2
      Matthias Braun authored
      - We now always output dwarf3 so we can use DW_OP_call_frame_cfa and avoid
        construction location lists, but just reuse the callframe info lists.
      - Backends have to emit debug info as callframe calculation changes:
        The ia32 backend has a preliminary implementation which assumes esp
        offset of frame_type_size at the beginning of a block (currently
        always true), the no-omit-fp mode assumes ebp relative addressing
        (which is correct except for the prolog/epilogue insns)
      cc9d3be2
  13. 25 Apr, 2012 2 commits
  14. 19 Dec, 2011 1 commit
    • Matthias Braun's avatar
      make opcode list global · 6bb28287
      Matthias Braun authored
      The opcode list was a member of irprog before which wasn't really
      handled consistently. Also make sure opcodes are properly freed at
      ir_finish().
      6bb28287
  15. 14 Dec, 2011 1 commit
  16. 17 Nov, 2011 2 commits
  17. 10 Nov, 2011 1 commit
  18. 02 Nov, 2011 1 commit
    • Matthias Braun's avatar
      introduce Switch node · 1c89dc2a
      Matthias Braun authored
      This is the new way of handling switch-jumps. The node contains a table
      which maps (ranges of) input values to proj numbers. Compared to a
      Cond-node this results in a clean consecutive sequence of Proj numbers
      (no searching for a free number for the default_pn anymore) and allows
      factoring multiple cases jumping to the same block in a single Proj
      (though we still need the optimisation in cfopt for that).
      1c89dc2a
  19. 27 Oct, 2011 2 commits
    • Matthias Braun's avatar
      36e68846
    • 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
  20. 27 Sep, 2011 1 commit
  21. 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
  22. 12 Aug, 2011 1 commit
  23. 24 Jun, 2011 1 commit
  24. 17 Jun, 2011 2 commits
  25. 16 Jun, 2011 1 commit
  26. 11 Jun, 2011 1 commit
  27. 27 May, 2011 1 commit