[PATCH] D31885: Remove TBAA information from LValues representing union members

Hal Finkel via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 19 11:57:17 PDT 2017


hfinkel added a comment.

In https://reviews.llvm.org/D31885#730728, @kparzysz wrote:

> In https://reviews.llvm.org/D31885#730038, @hfinkel wrote:
>
> > I'm somewhat concerned that this patch is quadratic in the AST.
>
>
> I'd be happy to address this, but I'm not sure how.  Memoizing results could be one way, but don't know if that's acceptable.
>
> This location in codegen seems to be the last place where the original C/C++ types are available, in particular the information as to whether a type is a union or not.  Maybe it would be possible to propagate some bit somewhere, but then this patch would become much less localized.


I'm not worried particularly about localization because we want to extend TBAA to support unions, etc. anyway. I suppose I don't understand how the propagation that is necessary here differs from what is necessary to propagate the base-type information for structs.


Repository:
  rL LLVM

https://reviews.llvm.org/D31885





More information about the cfe-commits mailing list