Re: [PATCH v2] S/390: Fix conditional returns on z196+

2018-09-21 Thread Segher Boessenkool
On Fri, Sep 21, 2018 at 12:50:40PM +0200, Ulrich Weigand wrote: > Ilya Leoshkevich wrote: > > > 2018-09-19 Ilya Leoshkevich > > > > PR target/80080 > > * config/s390/s390.md: Do not use PARALLEL RETURN+USE when > > returning via %r14. > > This makes sense to me. I'm just wonderin

Re: [PATCH v2] S/390: Fix conditional returns on z196+

2018-09-21 Thread Ilya Leoshkevich
> Am 21.09.2018 um 12:50 schrieb Ulrich Weigand : > > Ilya Leoshkevich wrote: > >> 2018-09-19 Ilya Leoshkevich >> >> PR target/80080 >> * config/s390/s390.md: Do not use PARALLEL RETURN+USE when >> returning via %r14. > > This makes sense to me. I'm just wondering if it would

Re: [PATCH v2] S/390: Fix conditional returns on z196+

2018-09-21 Thread Ulrich Weigand
Ilya Leoshkevich wrote: > 2018-09-19 Ilya Leoshkevich > > PR target/80080 > * config/s390/s390.md: Do not use PARALLEL RETURN+USE when > returning via %r14. This makes sense to me. I'm just wondering if it wouldn't be simpler to do the check for r14 right in s390_emit_epilo

[PATCH v2] S/390: Fix conditional returns on z196+

2018-09-19 Thread Ilya Leoshkevich
S/390 epilogue ends with (parallel [(return) (use %r14)]) instead of the more usual (return) or (simple_return). This sequence is not recognized by the conditional return logic in try_optimize_cfg (). This was introduced for processors older than z196, where it is sometimes profitable to use call