1. 18 Feb, 2014 3 commits
    • Matthias Braun's avatar
      carefull -> careful · 7dba5713
      Matthias Braun authored
    • 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.
    • Matthias Braun's avatar
      Unknown values should not CSE · 8d2aba71
      Matthias Braun authored
  2. 06 Feb, 2014 1 commit
  3. 30 Jan, 2014 3 commits
  4. 29 Jan, 2014 2 commits
  5. 28 Jan, 2014 3 commits
  6. 27 Jan, 2014 1 commit
  7. 10 Jan, 2014 3 commits
  8. 15 Nov, 2013 1 commit
    • Matthias Braun's avatar
      Generate include guards for nodes.h · ef4370c5
      Matthias Braun authored
      The file wasn't really meant to be included (it lacks the proper includes to be
      useful on its own), the correct file to include is irnode.h.
      Anyway the guards don't hurt either...
  9. 28 Oct, 2013 1 commit
    • Matthias Braun's avatar
      remove NEW_ARR_A and use ALLOCAN · fee5ce04
      Matthias Braun authored
      All users of NEW_ARR_A used it to construct a simple array, yet noone
      cared about it actually being an array with a length field in front. For
      this simple use case you should use ALLOCAN.
  10. 19 Oct, 2013 8 commits
  11. 22 Aug, 2013 1 commit
  12. 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
  13. 31 Jul, 2013 1 commit
  14. 19 Jul, 2013 1 commit
  15. 08 Jul, 2013 2 commits
    • Matthias Braun's avatar
      rework verify code · ba38d76b
      Matthias Braun authored
      The new code has less options and variants, if you call irg_verify()
      verification is performed, regardless of DEBUG_libfirm, or NDEBUG being
      set and regardless of firm verification setting switches. On the other
      side no atomic dump and abort is performed anymore, the call has to do
      this, though an irg_assert_verify() function has been added as a
      convenience measure.
      There has also been a complete rewrite of the actual checking performed.
      The new code is simpler, should produce more consistent output and
      can report more than one error.
    • Matthias Braun's avatar
  16. 27 Jun, 2013 1 commit
  17. 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.
    • 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.
    • 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.
  18. 25 Jun, 2013 1 commit
  19. 06 Jun, 2013 1 commit
  20. 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.
  21. 06 May, 2013 1 commit