1. 10 Jul, 2012 1 commit
  2. 15 Jun, 2012 2 commits
    • Matthias Braun's avatar
      remove opt_manage, provide assure_irg_properties · 7a483ab9
      Matthias Braun authored
      The opt_manage framework didn't really do much except assuring that some
      analysis info is computed before a pass starts. We can achieve this
      simpler by providing an assure_irg_properties function.
      This commit also fixes some places where analysis info was potentially
      not invalidated before.
    • Matthias Braun's avatar
      split graph state into properties and constraints · b2008e0b
      Matthias Braun authored
      graph_properties are things that a transformation may destroy but which
      can be easily recalculated.
      graph_constraints are set after lowering phases have been running and
      forbid certain constructs that no (later) transformation is allowed to construct
  3. 13 Jun, 2012 1 commit
    • Matthias Braun's avatar
      remove extended basic block support · b4841b96
      Matthias Braun authored
      First it is unclear what is a good way to deconstruct a program into extended
      basic blocks, also none of our optimizations works on extended basic
  4. 13 May, 2012 1 commit
  5. 10 Jan, 2012 1 commit
  6. 21 Dec, 2011 2 commits
  7. 19 Dec, 2011 3 commits
    • Matthias Braun's avatar
      make modelist global · 6cd6e689
      Matthias Braun authored
      It was a member of ir_prog before but not correctly handled.
    • Matthias Braun's avatar
      perform end/first block mature in libfirm · 789a7c70
      Matthias Braun authored
      The first block in a new ir_graph is not an immature block anymore. The
      end block is matured in irg_finalize_cons() now (since maturing blocks
      twice doesn't hurt this shouldn't break existing code).
    • 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
  8. 15 Dec, 2011 1 commit
    • Matthias Braun's avatar
      make unique types/entities part of irprog · 274626e2
      Matthias Braun authored
      unknown_type, code_type, none_type, unknown_entity reference are hold in
      the irprog now. This makes handling more consistent since now all types
      and entities are equally part of irprog.
  9. 14 Dec, 2011 1 commit
  10. 07 Dec, 2011 1 commit
    • Matthias Braun's avatar
      correctly implement memop handling · 9fbdcb82
      Matthias Braun authored
      memops are nodes that have memory inputs, you can generically query them
      for their memory input. We can also get rid of get_fragile_op_mem in
      favor of get_memop_mem.
  11. 16 Nov, 2011 1 commit
  12. 14 Nov, 2011 1 commit
  13. 10 Nov, 2011 1 commit
  14. 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).
  15. 27 Oct, 2011 2 commits
    • 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
    • Matthias Braun's avatar
      irmode: remove support for vector mode · 7a293685
      Matthias Braun authored
      There were no users and no tarval support anyway.
  16. 20 Oct, 2011 1 commit
  17. 22 Sep, 2011 2 commits
  18. 20 Sep, 2011 3 commits
  19. 14 Sep, 2011 4 commits
  20. 01 Jun, 2011 1 commit
  21. 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
  22. 06 May, 2011 1 commit
  23. 28 Apr, 2011 1 commit
  24. 24 Apr, 2011 1 commit
  25. 30 Mar, 2011 2 commits
  26. 02 Mar, 2011 1 commit
  27. 28 Feb, 2011 1 commit
  28. 26 Feb, 2011 1 commit