1. 19 Dec, 2011 2 commits
    • 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).
      789a7c70
    • 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
      ir_finish().
      6bb28287
  2. 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.
      274626e2
  3. 14 Dec, 2011 1 commit
  4. 17 Nov, 2011 1 commit
  5. 10 Nov, 2011 1 commit
  6. 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
      e3b765fc
    • Matthias Braun's avatar
      irmode: remove support for vector mode · 7a293685
      Matthias Braun authored
      There were no users and no tarval support anyway.
      7a293685
  7. 20 Oct, 2011 1 commit
  8. 19 Aug, 2011 1 commit
  9. 18 Aug, 2011 1 commit
  10. 05 Aug, 2011 1 commit
    • Matthias Braun's avatar
      rework taking of parameter addresses · 00aca724
      Matthias Braun authored
      Use a special kind of entity on the frame type instead of a value_type
      struct inside a method type. This makes replacement of function types
      slightly easier (it's still a complex operation though) and handling in
      the backend a bit more consistent since it's more or less a normal stack
      access (with special offsets).
      00aca724
  11. 21 Jun, 2011 1 commit
  12. 30 Mar, 2011 2 commits
  13. 02 Mar, 2011 1 commit
  14. 11 Feb, 2011 1 commit
  15. 09 Feb, 2011 1 commit
  16. 06 Jan, 2011 6 commits
  17. 05 Jan, 2011 1 commit
  18. 04 Nov, 2010 1 commit
  19. 08 Oct, 2010 2 commits
  20. 06 Oct, 2010 2 commits
  21. 03 May, 2010 1 commit
  22. 13 Feb, 2010 1 commit
  23. 12 Feb, 2010 2 commits
  24. 04 Feb, 2010 1 commit
  25. 03 Feb, 2010 1 commit
    • Matthias Braun's avatar
      Rework linkage types in firm. · 2bc2dd4b
      Matthias Braun authored
      - Merge stickyness, visibility and variability into ir_linkage
      - Add proper support for common symbols, weak symbols and C++ COMDAT stuff
      - Mark OO-features type_visibility, peculiarity and allocation as deprecated
        OO feature will be separated from firm core into higher levels in the long run
      - Rework, simplify and fix bugs in begnuas.c
      
      [r27030]
      2bc2dd4b
  26. 13 Jan, 2010 2 commits
  27. 07 Jan, 2010 1 commit
  28. 05 Jan, 2010 1 commit
    • Matthias Braun's avatar
      Primitive, Pointer, Array and Method types are anonymous now · 9d564d61
      Matthias Braun authored
      - There's a new type_dbg_info* that allows you to attach debug names to types
      - get_type_name and get_type_ident are now more. The new ir_print_type
        and the usual ir_printf("%+F", type) help in most usage cases.
        But you should be aware that names are not guaranteed to be unique anymore
        (or positively said: You don't have no trouble anymore building unique names
         in code that creates types)
      - No need to specify mode for new pointer types anymore (you can still do it
        with set_type_mode)
      
      [r26909]
      9d564d61