1. 19 Sep, 2015 1 commit
    • Matthias Braun's avatar
      Remove firmstat · aa7c5e02
      Matthias Braun authored
      It is barely used but cross cuts into most libfirm components and
      therefore isn't maintenance free.
      The statev framework stays obviously.
  2. 10 Sep, 2015 2 commits
  3. 29 Aug, 2015 1 commit
  4. 09 Aug, 2015 1 commit
    • Christoph Mallon's avatar
      be: Reintroduce be_Start. · 36de1849
      Christoph Mallon authored
      All backends have similar empty Start nodes, which just provide registers.
      So having one generic backend Start node to share some infrastructure is sensible.
  5. 02 Aug, 2015 2 commits
    • Christoph Mallon's avatar
      ia32: Remove pointless check. · 23832c1a
      Christoph Mallon authored
      IncSP can only have %esp assigned.
    • Christoph Mallon's avatar
      arm, be, ia32, sparc: Do not go on with peephole optimization of IncSP, when... · 89688f61
      Christoph Mallon authored
      arm, be, ia32, sparc: Do not go on with peephole optimization of IncSP, when be_peephole_IncSP_IncSP() succeeded.
      The current IncSP was removed in this case and we now would operate on its predecessor IncSP.
      This is wrong, e.g. when asking for currently free registers.
      This corrects backend/incsp_pop.c, which was broken on ia32.
      It was wrongly assumed that a certain register was free and could be used to turn an IncSP into a Pop.
  6. 28 Jul, 2015 2 commits
    • Christoph Mallon's avatar
      ia32: Remove redundant assert. · 1e3d8ca0
      Christoph Mallon authored
      The following be_peephole_exchange() has a stricter check, i.e. same mode instead of only not mode_T.
    • Christoph Mallon's avatar
      be: Add and use be_new_Proj(). · 9a6b8525
      Christoph Mallon authored
      It is like new_r_Proj(), but the mode is determined automatically from the out requirement of the predecessor.
      This probably resolves some mode mismatches in untested code paths -- AMD64 backend and SPARC hard float, I'm looking at you!
  7. 20 Jul, 2015 1 commit
    • Matthias Braun's avatar
      ia32: Introduce FRAMEOFFSET immediate type · 5796136e
      Matthias Braun authored
      This way we don't need a separate frame_entity field in the attribute
      struct anymore. We can also use the immediate type to determine whether
      we need to assign a fresh stackentity to a node.
      This commit does not change the frame_use field, which is now a
      duplicate way to indicate whether we need to assign a stackentity. This
      currently requires a lot of asserts to ensure the two stay in sync. In
      the future I'd like to use frame_use only for the special case when a
      32bit or 64bit entity needs to be forced.
  8. 19 Jul, 2015 5 commits
  9. 15 Jul, 2015 1 commit
  10. 07 Jul, 2015 1 commit
  11. 24 May, 2015 1 commit
    • Matthias Braun's avatar
      be: Move main backend loop into backends. · 3e79d08e
      Matthias Braun authored
      Instead of having a generaic main loop in be_main with several callbacks
      into the targets, split the code in be_main up into a set of convenience
      functions and let the targets implement the main loop itself. This is
      nicer because:
      - The control flow into and out of the functions in the target becomes
        obvious as no external party is using callbacks anymore.
      - Targets can insert custom code at any place between the generic
      - In the future we can parameterize the generic backend passes directly
        instead of stuffing info into generic isa_if structures.
  12. 27 Apr, 2015 1 commit
  13. 25 Apr, 2015 1 commit
  14. 24 Apr, 2015 1 commit
  15. 09 Jan, 2015 1 commit
  16. 29 Dec, 2014 3 commits
  17. 28 Dec, 2014 1 commit
  18. 08 Dec, 2014 2 commits
  19. 07 Dec, 2014 1 commit
  20. 04 Dec, 2014 1 commit
  21. 17 Nov, 2014 3 commits
  22. 16 Nov, 2014 1 commit
  23. 13 Nov, 2014 3 commits
  24. 12 Nov, 2014 2 commits
  25. 11 Nov, 2014 1 commit