On Thu, Apr 16, 2020 at 08:21:40PM -0500, Segher Boessenkool wrote:
> On Wed, Apr 15, 2020 at 10:18:16AM +0100, Richard Sandiford wrote:
> > luoxhu--- via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> > > -    count = simplify_gen_binary (PLUS, mode, count, const1_rtx);
> > > +    {
> > > +      /* Fold (add -1; zero_ext; add +1) operations to zero_ext based on 
> > > addop0
> > > +  is never zero, as gimple pass loop ch will do optimization to simplify
> > > +  the loop to NO loop for loop condition is false.  */
> > 
> > IMO the code needs to prove this, rather than just assume that previous
> > passes have made it so.
> 
> Well, it should gcc_assert it, probably.
> 
> It is the left-hand side of a+b...  it cannot be 0, because niter always
> is simplified!

Scratch that...  it cannot be *constant* 0, but that isn't the issue here.


Segher

Reply via email to