[PATCH] D28423: Fix assertions on lazy-loading of Metadata TBAA attachments
Teresa Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 7 08:07:25 PST 2017
tejohnson accepted this revision.
tejohnson added a comment.
This revision is now accepted and ready to land.
LGTM as a bug fix. But I have a few general questions below.
================
Comment at: llvm/lib/Bitcode/Reader/MetadataLoader.cpp:704
!DisableLazyLoading) {
auto SuccessOrErr = lazyLoadModuleMetadataBlock(Placeholders);
if (!SuccessOrErr)
----------------
I just noticed that Placeholders is never used in lazyLoadModuleMetadataBlock, so it should probably be removed (in a follow up patch). It does create forward refs so I guess resolveForwardRefsAndPlaceholders below still needs to be invoked, but should it be invoked from within lazyLoadModuleMetadataBlock instead (and passed a dummy PlaceholdersQueue)?
================
Comment at: llvm/lib/Bitcode/Reader/MetadataLoader.cpp:1613
lazyLoadOneMetadata(Idx, Placeholders);
+ resolveForwardRefsAndPlaceholders(Placeholders);
+ }
----------------
I suppose there is no loss in doing this more frequently since we know we need to resolve these anyway? Is there any disadvantage to doing the resolveForwardRefsAndPlaceholders more frequently? If so, should it only be done for TBAA attachments? If not, then should we be doing it more frequently elsewhere?
https://reviews.llvm.org/D28423
More information about the llvm-commits
mailing list