1. 19 Jun, 2012 2 commits
  2. 25 Apr, 2012 1 commit
  3. 10 Nov, 2011 2 commits
  4. 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
  5. 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
  6. 15 Aug, 2011 2 commits
    • 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
    • Matthias Braun's avatar
      13506453
  7. 25 May, 2011 1 commit
    • Matthias Braun's avatar
      cleanup fragile op handling · 99f23ed8
      Matthias Braun authored
      - The pns of X_regular and X_except are annotated in the opcode now.
      - The memory input is annotated in the opcode now
      - only nodes with X_regular, X_except are marked fragile
      99f23ed8
  8. 28 Feb, 2011 1 commit
  9. 08 Oct, 2010 2 commits
  10. 24 Jul, 2010 1 commit
  11. 22 Jul, 2010 1 commit
  12. 15 Jul, 2010 1 commit
  13. 14 Jul, 2010 2 commits
  14. 09 Jul, 2010 1 commit
  15. 07 Jul, 2010 1 commit
  16. 01 Oct, 2009 1 commit
  17. 24 Sep, 2009 1 commit
  18. 18 Sep, 2009 1 commit
  19. 09 Jan, 2009 1 commit
  20. 23 Oct, 2008 1 commit
    • Matthias Braun's avatar
      - Part1 of backend reorganisation: · a824d376
      Matthias Braun authored
      	Node flags and node registers are stored in a generic backend_info struct now
      	instead of every part of the backend doing custom (and slow) stuff
      
      [r23142]
      a824d376
  21. 22 Sep, 2008 1 commit
  22. 23 Jul, 2008 1 commit
  23. 24 Jun, 2008 1 commit
  24. 23 Jun, 2008 1 commit
  25. 29 May, 2008 1 commit
  26. 12 Mar, 2008 3 commits
  27. 11 Mar, 2008 2 commits
  28. 17 Oct, 2007 1 commit
    • Matthias Braun's avatar
      - Add a generic_attribute field to irops · db6fd292
      Matthias Braun authored
      - extend backend generator to support custom irop data
      - cleanup and streamline transform code in ia32
      - Improve handling of AddAM vs. Add used in AM expressions
      
      [r16254]
      db6fd292
  29. 26 Sep, 2007 1 commit
  30. 27 Jun, 2007 1 commit
  31. 26 Jun, 2007 2 commits