1. 22 Aug, 2013 4 commits
  2. 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
  3. 24 Jul, 2013 1 commit
  4. 20 Jul, 2013 1 commit
  5. 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
      remove verification sflag · 872780dd
      Matthias Braun authored
  6. 04 Jul, 2013 2 commits
  7. 03 Jul, 2013 2 commits
  8. 02 Jul, 2013 4 commits
  9. 26 Jun, 2013 1 commit
    • 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.
  10. 12 Jun, 2013 2 commits
  11. 11 Jun, 2013 2 commits
    • Matthias Braun's avatar
      change intrinsic lowering API · 6fa4cdf1
      Matthias Braun authored
      - You can now construct the lookup table separately and perform the
        lowering selectively on irgs (instead of the whole program at once)
        while reusing the lookup table.
      - Simplified API a bit.
      - Remove i_mapper_RuntimeCall. All users are simpler by doing the
        transformations directly instead of filling in runtime_rt
    • Matthias Braun's avatar
  12. 06 Jun, 2013 2 commits
  13. 15 May, 2013 3 commits
  14. 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.
  15. 06 May, 2013 2 commits
  16. 23 Apr, 2013 1 commit
  17. 04 Apr, 2013 1 commit
    • yb9976's avatar
      Added a new builtin for saturated increment. · b7cb5592
      yb9976 authored
      The builtin can be used to generate fast code for unsigned division by constant.
      Code generation is supported for the IA32 and the SPARC backend.
      Since our ARM backend currently has no Add with Carry instruction,
      the builtin is currently not supported on Arm.
      The same holds for the AMD64 backend, which does not support a division yet.
  18. 28 Mar, 2013 1 commit
  19. 22 Mar, 2013 1 commit
  20. 20 Mar, 2013 1 commit
  21. 13 Mar, 2013 4 commits
  22. 12 Mar, 2013 1 commit
    • 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.