[PATCH] D50066: [IRMover] Don't materialise values from different source module

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 14 07:55:13 PDT 2018


tejohnson added a comment.

In https://reviews.llvm.org/D50066#1198625, @evgeny777 wrote:

> In https://reviews.llvm.org/D50066#1197101, @tejohnson wrote:
>
> > That new DITemplateValueParameter type doesn't look correct to me.
>
>
> I'm getting `!DITemplateValueParameter(value: null)` when module is passed to optimizer. This isn't correct either, but module is no longer broken.


I've added @dblaikie to the review to comment on what the debug metadata should look like in this case.

In https://reviews.llvm.org/D50066#1198597, @evgeny777 wrote:

>


[...]

> Note that module metadata now contains both compile units. The module itself is broken because `%struct.TA.0` is not defined (it is defined in `Inputs/fwd-decl.ll` after renaming)
> 
> This combined with metadata caching in IRMover causes bug found by @trentxintong.
>  One possible way to fix it is to disable metadata caching for specific module when metadata import causes materialising of GV from a different source module (see updated patch).
> 
> Just curious: how such debugging info was produced? Is it synthetic example or is it derived  from real compiler output?

I think @trentxintong mentioned this was reduced from an application. Out of curiosity, what makes it look like it might be synthetic?


https://reviews.llvm.org/D50066





More information about the llvm-commits mailing list