1. 28 Feb, 2016 1 commit
  2. 15 Feb, 2016 1 commit
  3. 14 Feb, 2016 1 commit
  4. 15 Jan, 2016 1 commit
  5. 02 Oct, 2015 2 commits
  6. 10 Sep, 2015 1 commit
  7. 29 Aug, 2015 2 commits
  8. 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
  9. 05 Aug, 2015 1 commit
  10. 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
  11. 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
  12. 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
  13. 05 Jun, 2015 1 commit
  14. 15 Feb, 2015 1 commit
  15. 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
  16. 10 Jan, 2015 1 commit
  17. 26 Dec, 2014 2 commits
  18. 04 Dec, 2014 1 commit
  19. 25 Nov, 2014 1 commit
  20. 13 Nov, 2014 3 commits
  21. 11 Nov, 2014 1 commit
  22. 27 Oct, 2014 1 commit
  23. 17 Sep, 2014 1 commit
  24. 21 Aug, 2014 1 commit
  25. 28 May, 2014 1 commit
  26. 07 Apr, 2014 2 commits
  27. 02 Apr, 2014 1 commit
  28. 29 Mar, 2014 1 commit
  29. 17 Feb, 2014 1 commit
  30. 05 Dec, 2013 1 commit
  31. 04 Jul, 2013 1 commit
  32. 27 Jun, 2013 2 commits