On Aug 26, 2020, Qing Zhao <qing.z...@oracle.com> wrote: > There are two issues I can see with adding a default generator in middle end:
> 1. In order to determine where a target should not use the generic > code to emit the zeroing sequence, > a new target hook to determine this has to be added; Yeah, a target hook whose default is the generic code, and that targets that need it, or that benefit from it, can override. That's the point of hooks, to enable overriding. Why should this be an issue? > 2. In order to avoid the generated zeroing insns (which are simply > insns that set registers) being deleted, > We have to define a new insn “pro_epilogue_use” in the target. Why won't a naked USE pattern do? We already issue those in generic code, for regs holding return values. If we were to pretend that other registers are also holding zeros as values to be returned, why shouldn't that work for them as well? -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer