1. 29 Aug, 2015 1 commit
  2. 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.
      36de1849
  3. 02 Aug, 2015 2 commits
    • Christoph Mallon's avatar
      ia32: Remove pointless check. · 23832c1a
      Christoph Mallon authored
      IncSP can only have %esp assigned.
      23832c1a
    • 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.
      89688f61
  4. 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.
      1e3d8ca0
    • 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!
      9a6b8525
  5. 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.
      5796136e
  6. 19 Jul, 2015 5 commits
  7. 15 Jul, 2015 1 commit
  8. 07 Jul, 2015 1 commit
  9. 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
        passes.
      - In the future we can parameterize the generic backend passes directly
        instead of stuffing info into generic isa_if structures.
      3e79d08e
  10. 27 Apr, 2015 1 commit
  11. 25 Apr, 2015 1 commit
  12. 24 Apr, 2015 1 commit
  13. 09 Jan, 2015 1 commit
  14. 29 Dec, 2014 3 commits
  15. 28 Dec, 2014 1 commit
  16. 08 Dec, 2014 2 commits
  17. 07 Dec, 2014 1 commit
  18. 04 Dec, 2014 1 commit
  19. 17 Nov, 2014 3 commits
  20. 16 Nov, 2014 1 commit
  21. 13 Nov, 2014 3 commits
  22. 12 Nov, 2014 2 commits
  23. 11 Nov, 2014 1 commit
  24. 22 Oct, 2014 1 commit
  25. 02 Oct, 2014 1 commit
  26. 17 Sep, 2014 1 commit