1. 02 Aug, 2015 1 commit
    • 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
  2. 28 Jul, 2015 1 commit
    • 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
  3. 01 Jul, 2015 2 commits
    • Matthias Braun's avatar
      bearch: rework should_be_same constraint · c15ec959
      Matthias Braun authored
      - Rename other_same field to should_be_same.
      - Remove arch_register_req_type_other_same, it's enough to see if the
        should_be_same field is not zero.
      c15ec959
    • Matthias Braun's avatar
      Remove produces_sp register constraint · 58b0168a
      Matthias Braun authored
      We can easily identify the outputs producing a stack pointer by looking
      if the stack pointer register is assigned. Unfortunately this also
      needed a new mechanism to tell the verifier that some registers are not
      in SSA form (all the time) which needs a few extra lines in each
      backend.
      58b0168a
  4. 05 Jun, 2015 1 commit
  5. 15 Feb, 2015 1 commit
  6. 12 Jan, 2015 1 commit
    • Christoph Mallon's avatar
      arm, sparc: Place the initial IncSP directly after Start to avoid problems with endless loops. · 127a6ad9
      Christoph Mallon authored
      In case of endless loops, there is no user of Start, so the missing keeps walker keeps Start's results.
      Then the be_keep_if_unused() workaround does not trigger, because after rewiring the initial SP's users (here the Keep) to the IncSP it has one user.
      But the IncSP is placed after the Keep in the schedule.
      This either makes the verifier unhappy (arm) or gets erroneously removed by the dead nodes walker (sparc).
      This solution is not entierly correct, but is consistent with what the ia32 backend does.
      The correct solution would be a memory output for IncSP.
      127a6ad9
  7. 10 Jan, 2015 1 commit
  8. 26 Dec, 2014 2 commits
  9. 04 Dec, 2014 1 commit
  10. 25 Nov, 2014 1 commit
  11. 13 Nov, 2014 3 commits
  12. 11 Nov, 2014 1 commit
  13. 27 Oct, 2014 1 commit
  14. 17 Sep, 2014 1 commit
  15. 21 Aug, 2014 1 commit
  16. 28 May, 2014 1 commit
  17. 07 Apr, 2014 2 commits
  18. 02 Apr, 2014 1 commit
  19. 29 Mar, 2014 1 commit
  20. 17 Feb, 2014 1 commit
  21. 05 Dec, 2013 1 commit
  22. 04 Jul, 2013 1 commit
  23. 27 Jun, 2013 2 commits
  24. 04 May, 2013 1 commit
    • Matthias Braun's avatar
      do not include config.h anymore · 0f73b43e
      Matthias Braun authored
      It has been empty for nearly all systems. People who used to put stuff
      in config.h can still create a config.h on their own and inject
      -include (gcc) or /FI (msvc) into their CPPFLAGS.
      0f73b43e
  25. 23 Apr, 2013 2 commits
  26. 04 Apr, 2013 2 commits
  27. 28 Mar, 2013 1 commit
  28. 15 Dec, 2012 2 commits
  29. 12 Dec, 2012 1 commit
  30. 04 Dec, 2012 1 commit
  31. 02 Dec, 2012 1 commit