[PATCH] D82745: [ThinLto] Fix Ifunc symbol usage
Vladislav Khmelevsky via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 22 04:52:21 PDT 2020
yota9 added a comment.
Dear tejohnson !
Thank you for you comments!
I've also added the same conditions for the LTO.cpp, but I'm not sure about symbol linkage resolution in LTO.cpp, since I'm not extremely familiar with LLVM internal linkage types, hope you can help me to investigate this.
Thank you!
Vladislav
Advanced Software Technology Lab, Huawei
================
Comment at: llvm/include/llvm/IR/ModuleSummaryIndex.h:365
: Kind(K), Flags(Flags), RefEdgeList(std::move(Refs)) {
assert((K != AliasKind || Refs.empty()) &&
"Expect no references for AliasSummary");
----------------
tejohnson wrote:
> Should be same for ifunc kind
Thank you!
================
Comment at: llvm/include/llvm/IR/ModuleSummaryIndex.h:530
const inline GlobalValueSummary *GlobalValueSummary::getBaseObject() const {
if (auto *AS = dyn_cast<AliasSummary>(this))
return &AS->getAliasee();
----------------
tejohnson wrote:
> Should this (and the method below) return the resolver for IfuncSummary? See my comment in FunctionImport.cpp in one of the callsites for what I think will happen currently.
Seems to be you're right, thank you!
================
Comment at: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp:359
+ // We want to record the call edge to the alias in that case.
+ // Eventuallyan alias summary will be created to associate the alias
+ // and aliasee or ifunc and its resolver.
----------------
tejohnson wrote:
> Missing space between first 2 words.
Thank you!
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D82745/new/
https://reviews.llvm.org/D82745
More information about the llvm-commits
mailing list