1. 28 Mar, 2013 1 commit
  2. 14 Mar, 2013 1 commit
  3. 11 Mar, 2013 1 commit
  4. 12 Dec, 2012 1 commit
  5. 02 Dec, 2012 1 commit
  6. 27 Nov, 2012 1 commit
  7. 05 Dec, 2011 1 commit
  8. 10 Nov, 2011 2 commits
  9. 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
  10. 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
  11. 27 Sep, 2011 1 commit
  12. 15 Sep, 2011 1 commit
    • Matthias Braun's avatar
      some cleanups for middleend node creation in backends · 799d89c9
      Matthias Braun authored
      Some backends create nodes in their lower_for_target phases already.
      These nodes are placeholders for real backend nodes later, in contrast
      they do not have register requirements or backend attributes. Simplified
      this by allowing custom dumpers for them and leaving out the backend
      node structs.
      799d89c9
  13. 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
  14. 16 Jun, 2011 1 commit
  15. 23 May, 2011 1 commit
  16. 15 Apr, 2011 1 commit
  17. 04 Mar, 2011 2 commits
  18. 28 Feb, 2011 1 commit
  19. 26 Feb, 2011 1 commit
  20. 04 Nov, 2010 1 commit
  21. 08 Oct, 2010 1 commit
  22. 10 Sep, 2010 1 commit
  23. 19 Aug, 2010 5 commits
  24. 09 Aug, 2010 1 commit
  25. 28 Jul, 2010 1 commit
  26. 27 Jul, 2010 3 commits
  27. 23 Jul, 2010 1 commit
  28. 22 Jul, 2010 4 commits
  29. 16 Jul, 2010 1 commit