1. 15 Apr, 2014 1 commit
    • Matthias Braun's avatar
      split Sel node into Member and Sel · 36408645
      Matthias Braun authored
      - Compound type selection is performed with Member
      - Array indexing is performed with Sel
      - Instead of the simpleSel constructor functions you can use the normal Member
        constructors now
      - The concept of array element entities has been removed, Sel nodes just
        contain a pointer to the array type now.
      36408645
  2. 10 Apr, 2014 2 commits
  3. 27 Mar, 2014 1 commit
  4. 07 Mar, 2014 1 commit
  5. 18 Feb, 2014 3 commits
    • Matthias Braun's avatar
      carefull -> careful · 7dba5713
      Matthias Braun authored
      7dba5713
    • Matthias Braun's avatar
      cleanup special tarval and Unknown usage · af666143
      Matthias Braun authored
      This commit does:
      - Remove tarval_reachable+tarval_unreachable, dataflow analysis rather
        use top/bottom instead of other special values.
      - Rename tarval_undefined to tarval_unknown as it corresponds to the
        Unknown node (=a value which we don't know)
      - Remove predefined tarval_top/tarval_bottom from tv.h and place the
        defines into combo.c
      - Change compute_XXX constant folding functions to return tarval_unknown
        instead of tarval_bad if folding failed
      - compute_Unknown in combo results in tarval_bottom == tarval_unknown
        this eliminates strange special cases in the Cond/Switch rules and the
        now unnecessary cprop_X list.
      af666143
    • Matthias Braun's avatar
      Unknown values should not CSE · 8d2aba71
      Matthias Braun authored
      8d2aba71
  6. 06 Feb, 2014 1 commit
  7. 30 Jan, 2014 2 commits
  8. 28 Jan, 2014 3 commits
  9. 27 Jan, 2014 1 commit
  10. 08 Aug, 2013 1 commit
    • Matthias Braun's avatar
      remove support for enumeration types · 89c75d37
      Matthias Braun authored
      It is not usefull for optimization in most languages:
      - In C/C++ you can't really change the value of enum constants as casting
        from/to integer has to produce the expected results.
      - In Java (and other OO languages) enum members are objects so the
        libfirm enumeration type can't be used there anyway
      89c75d37
  11. 19 Jul, 2013 1 commit
  12. 27 Jun, 2013 1 commit
  13. 26 Jun, 2013 3 commits
    • Matthias Braun's avatar
      remove InstOf node · 683378aa
      Matthias Braun authored
      This node was used by OO code in the past, but newer versions of liboo
      have their own node and don't need it anymore.
      683378aa
    • Matthias Braun's avatar
      remove exception support for CopyB nodes · 7f971167
      Matthias Braun authored
      CopyB is normally used to transfer data on the stack or to enable compound
      value calling conventions. Exceptions don't happen in these cases.
      7f971167
    • Matthias Braun's avatar
      remove the strange/unused concept of mem_pinned. · 4719c02b
      Matthias Braun authored
      I don't really understand what it was supposed to do (because nodes
      using/producing should be pretty much immovable anyway because of their
      dependencies, so an additional pinning type appears unnecessary).
      In practice there was no code differentiating between mem_pinned and exc_pinned.
      4719c02b
  14. 25 Jun, 2013 1 commit
  15. 06 Jun, 2013 1 commit
  16. 07 May, 2013 1 commit
    • Matthias Braun's avatar
      Alloc/Free only operate on the stack now · 8fda947f
      Matthias Braun authored
      They are considered low level operations now which just allocate/free a
      block of memory on the stack. There is no highlevel typeinformation
      attached anymore or support for heap allocation. Frontends/liboo should
      provide their custom highlevel nodes if they need these features.
      8fda947f
  17. 06 May, 2013 1 commit
  18. 12 Mar, 2013 2 commits
    • Matthias Braun's avatar
      remove oparity_{unary|trinary|zero} · 9a1ec0a9
      Matthias Braun authored
      They weren't used in a sensible way and their semantic for
      non-arithmetic ops was unclear.
      Also implicitely fixes a bunch of bugs where these where set but no op_index
      was set at the same time.
      9a1ec0a9
    • Matthias Braun's avatar
      only set oparity_binary/oparity_unary if explicitely specified · de323162
      Matthias Braun authored
      oparity_unary, oparity_binary require opindex to be set, which wasn't
      always the case.
      Also people seem to expect certain semantics from unops/binops, like
      being arithmetic operations. So we shouldn't automatically set
      oparity_XXX.
      de323162
  19. 12 Dec, 2012 1 commit
  20. 04 Dec, 2012 3 commits
  21. 03 Dec, 2012 1 commit
  22. 02 Dec, 2012 1 commit
  23. 01 Dec, 2012 1 commit
  24. 08 Nov, 2012 1 commit
    • Christoph Mallon's avatar
      Remove keep-edge hacks for endless loop. · 908b8128
      Christoph Mallon authored
      It is the job of the frontend to keep loops.
      These hacks here only worked for some, but not all cases.
      In particular a more clever SSA-construction algorithm might not place redundant PhiMs, which would render memory before memory-less loops unkept.
      908b8128
  25. 07 Nov, 2012 1 commit
  26. 24 Oct, 2012 1 commit
  27. 15 Oct, 2012 1 commit
  28. 21 Aug, 2012 2 commits