On Thu, May 10, 2018 at 01:51:29PM +0200, Marc Glisse wrote: > > > There are probably more > > > complicated transformations this disables. > > > > I'm providing an example from *real* code where the > > transformation is bad (admittedly just for the div-div case).
Isn't the case of the posted real-world testcase that many targets have instructions that can do division and modulo at the same time? So perhaps don't punt just because of !single_use (), but punt if !single_use () and one of the other uses is a modulo with the same constant as the second division, or perhaps similarly if the first division is !accompanied by modulo with the same constant too? Jakub