[PATCH] D75201: [ThinLTO/LowerTypeTests] Handle unpromoted local type ids
Eugene Leviant via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 2 09:55:34 PST 2020
evgeny777 added a comment.
@tejohnson
> This should happen if the type ID has no use on type metadata, but then I think it should be removed by WPD.
It can't be removed or otherwise handled by WPD, because WPD doesn't even see this type.test (it doesn't exist in the index). The problem is
in the analysis phase of thin LTO compilation. I suggest you take a look at `findDevirtualizableCallsForTypeTest` function and then at
`findLoadCallsAtConstantOffset`. The latter can process three kind of vptr users: bitcast, load and gep. It can't process store with constant
expression. So far we don't reflect this type.test in summary index and WPD doesn't see it at all.
Here is an object file F11467617: v2.bc <https://reviews.llvm.org/F11467617>
I'm using the following command to compile
lld-link /dll v2.bc /out:a.dll /force:unresolved /nodefaultlib /lldsavetemps
Check `??_GRealFile@?A0x1AE555D7@@UEAAPEAXI at Z` function in temps.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75201/new/
https://reviews.llvm.org/D75201
More information about the llvm-commits
mailing list