[PATCH] D34285: [SROA] Be smarter when copying metadata to retyped loads

Ariel Ben-Yehuda via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 26 02:05:13 PDT 2017


The assert failure is exactly the reason I wrote this patch. Without
this patch, the !nonnull metadata is copied from the `%bar*` load to
the `i64` load, which triggers the assertion.

> By value do you mean "result"?
> IE the result of the load?

If that's the LLVM term, yeah.

On 6/26/17, Chandler Carruth via Phabricator <reviews at reviews.llvm.org> wrote:
> chandlerc added a comment.
>
> I landed some simpler refactorings in r306267 that should be enough to
> implement this.
>
> However, I noticed that SROA actually assert fails on your test case without
> this patch, and in a seemingly unrelated manner. I want to understand this
> before landing your patch (or equivalent using different API). That said,
> feel free to update your patch based on r306267 or I will when I finish
> debugging (or if you can debug the assert, let me know).
>
> I definitely want to get this unblocked for Rust, but it seems pretty scary
> to paper over an assert failure. Anyways, will try to keep this moving.
>
>
> https://reviews.llvm.org/D34285
>
>
>
>


More information about the llvm-commits mailing list