1. 10 Nov, 2011 1 commit
  2. 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
  3. 17 Oct, 2011 1 commit
  4. 11 Oct, 2011 1 commit
  5. 27 Sep, 2011 2 commits
  6. 21 Sep, 2011 1 commit
  7. 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
  8. 12 Sep, 2011 2 commits
  9. 06 Sep, 2011 5 commits
  10. 22 Aug, 2011 2 commits
  11. 18 Aug, 2011 2 commits
  12. 17 Aug, 2011 1 commit
  13. 15 Aug, 2011 6 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
      37a95d35
    • Matthias Braun's avatar
      22eb6c0a
    • Matthias Braun's avatar
      custom stack bias code for sparc · 8f4eae8e
      Matthias Braun authored
      8f4eae8e
    • Matthias Braun's avatar
      sparc: fix float calling conventions · 33c8b7d9
      Matthias Braun authored
      33c8b7d9
    • Matthias Braun's avatar
      sparc: fix mode of fdiv result · 67e049d5
      Matthias Braun authored
      67e049d5
  14. 10 Aug, 2011 1 commit
  15. 08 Aug, 2011 1 commit
    • Matthias Braun's avatar
      Directly create Start/Return node in sparc backend · f62bf2f3
      Matthias Braun authored
      Since we have no complicated barrier/prolog stuff in the transform phase
      anymore we can move away from beabihelper now and create the nodes
      directly which will be necessary when modeling special constraints like
      wide aligned registers.
      f62bf2f3
  16. 05 Aug, 2011 2 commits
  17. 28 Jul, 2011 1 commit
  18. 21 Jun, 2011 1 commit
  19. 16 Jun, 2011 1 commit
  20. 11 Jun, 2011 1 commit
  21. 01 Jun, 2011 1 commit
  22. 31 May, 2011 1 commit
  23. 27 May, 2011 1 commit
  24. 23 May, 2011 3 commits