On 9/18/18 8:04 AM, Segher Boessenkool wrote: > On Wed, Sep 05, 2018 at 10:34:48AM +0200, Ilya Leoshkevich wrote: >> 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 (). > > Why does it need this? Other targets with a link register make > EPILOGUE_USES handle this. I think because he's trying to optimize a conditional jump to a return insn into a conditional return insn. I don't think we do that on other targets, though I have pondered it from time to time.
Jeff