[PATCH] D28916: [ThinLTO] Fix lazy-loading of MDString instruction attachments
Peter Collingbourne via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 19 16:16:04 PST 2017
pcc added a comment.
F3002091: repro.zip <https://reviews.llvm.org/F3002091>
Unfortunately this doesn't seem to entirely fix the CFI issue. With this patch applied I get these assertion failures for the attached test case (`llvm-lto2 @resolution.txt -o /tmp/foo`):
invalid local scope
!18644 = distinct !DILexicalBlock(scope: null, file: !5600, line: 137, column: 2)
invalid local scope
!18685 = distinct !DILexicalBlock(scope: null, file: !5600, line: 164, column: 2)
llvm-lto2: [...]/include/llvm/Support/Casting.h:95: static bool llvm::isa_impl_cl<llvm::DILocalScope, const llvm::Metadata *>::doit(const From *) [To = llvm::DILocalScope, From = const llvm::Metadata *]: Assertion `Val && "isa<> used on a null pointer"' failed.
Aborted (core dumped)
If I pass `-disable-ondemand-mds-loading` or if I revert this patch I get the "expected" behaviour ("expected" because of incomplete support for CFI on trunk):
Can't get register for value!
UNREACHABLE executed at [...]/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:1202!
https://reviews.llvm.org/D28916
More information about the llvm-commits
mailing list