Christian Bruel <christian.br...@st.com> wrote: > The failure turned out to be issues with the profile count and handling > or region partitioning. So, I prefer to handle those separately, > For now, I disable shrink-wrap when partitioning, even if the problem > seems to have disappeared with the more constrained heuristics. This is > probably latent also on other targets BTW. > > I added a sh_can_use_simple_return_p function that makes the heuristic > refinements more convenient. For instance, measured that shrink-wrap is > generally not good when optimizing for size because we might introduce > new return instructions or split blocks to avoid the epilogue, that is > still in the code somewhere anyway. > > Cycle-accurate benchmarks show a few very small improvements (there and > there, about max 2%. accordingly, the prologue is rarely in the critical > path...) but no regression. Manual assembly peering of CSiBE show that > the transformation are decent. > > Checked with all assertions this time, Candidate for trunk.
The patch is OK for trunk. Thanks for looking into the problem. Regards, kaz