1. 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
  2. 27 Sep, 2011 1 commit
  3. 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
  4. 04 Mar, 2011 1 commit
  5. 28 Feb, 2011 2 commits
  6. 26 Feb, 2011 1 commit
  7. 04 Nov, 2010 1 commit
  8. 08 Oct, 2010 1 commit
  9. 06 Oct, 2010 1 commit
  10. 10 Sep, 2010 1 commit
  11. 28 Jul, 2010 1 commit
  12. 24 Jul, 2010 1 commit
  13. 14 Jul, 2010 2 commits
  14. 09 Jul, 2010 2 commits
  15. 07 Jul, 2010 1 commit
  16. 25 Jun, 2010 1 commit
  17. 07 Mar, 2010 1 commit
    • Matthias Braun's avatar
      - cleanup and simplify inlining code · 2807bb5b
      Matthias Braun authored
      - remove a bunch of code which unexpectedly dependent on current_ir_graph being
        set to something
      - fix unnecessary double creation of backedge arrays in some cases
      
      [r27265]
      2807bb5b
  18. 13 Feb, 2010 1 commit
  19. 01 Oct, 2009 1 commit
  20. 24 Sep, 2009 1 commit
  21. 18 Sep, 2009 2 commits
  22. 13 Aug, 2009 1 commit
  23. 05 Aug, 2009 1 commit
  24. 29 Jun, 2009 1 commit
  25. 17 May, 2009 1 commit
  26. 09 Jan, 2009 1 commit
  27. 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
  28. 11 Oct, 2008 1 commit
  29. 21 Aug, 2008 1 commit
  30. 29 May, 2008 1 commit
  31. 12 Mar, 2008 1 commit
    • Michael Beck's avatar
      refactored immediates: · ede86ffb
      Michael Beck authored
       - now stored as long values (should be enough)
       - floating point values are emitted right
      
      [r18088]
      ede86ffb
  32. 11 Mar, 2008 1 commit
  33. 02 Jan, 2008 1 commit
  34. 23 Oct, 2007 1 commit
  35. 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
  36. 27 Sep, 2007 1 commit