[llvm] r354746 - [CGP] add special-cases to form unsigned add with overflow (PR40486)

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 4 15:15:22 PST 2019


I'm less worried about the unreachable blocks / return void than the fact
that we have values like this:
  %cmp.i.i.i.1 = icmp eq i64 1, -1
...making their way through to the backend with -O1
-fexperimental-new-pass-manager.
That just shouldn't happen IMO.

On Mon, Mar 4, 2019 at 4:08 PM Jordan Rupprecht <rupprecht at google.com>
wrote:

> Thanks! That fix seems to resolve the crash on the non-reduced code.
>
> The original code does not have -Wreturn-type warnings, so it's a
> creduce artifact. But if I add "return 0" or make the methods return
> void to silence those warnings, the crashes don't reproduce. I'll see
> if I can tweak creduce to give something that crashes *without*
> warnings, and that might shed some more light on the crash.
>
> On Mon, Mar 4, 2019 at 2:55 PM Sanjay Patel <spatel at rotateright.com>
> wrote:
> >
> > Should be fixed here:
> > https://reviews.llvm.org/rL355345
> > ...but it's disturbing that we're in this situation at all with
> optimizations on. I don't know much about the new pass manager, but this
> doesn't happen with the old pass manager because the IR isn't so full of
> bogus values.
> >
> > On Mon, Mar 4, 2019 at 2:07 PM Sanjay Patel <spatel at rotateright.com>
> wrote:
> >>
> >> Taking a look now...not sure if this is just an artifact of the
> reduction, but I see 4 of these:
> >> repro.cc:188:3: warning: control reaches end of non-void function
> [-Wreturn-type]
> >>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190304/e6d455be/attachment.html>


More information about the llvm-commits mailing list