[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs
Fangrui Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Jul 10 14:52:09 PDT 2022
MaskRay accepted this revision.
MaskRay added a comment.
This revision is now accepted and ready to land.
As https://github.com/llvm/llvm-project/issues/56290 indicates, when an ifunc is aliased in LTO, clang will attempt to create an alias summary; however, as ifunc is not included in the module summary, doing so will lead to problems.
Fixes https://github.com/llvm/llvm-project/issues/56290
Don't repeat the link. You can use :
Fixes https://github.com/llvm/llvm-project/issues/56290: when an ifunc ...
================
Comment at: llvm/include/llvm/IR/GlobalIFunc.h:102
+ /// aliases along the path.
+ void applyAlongResolverPath(function_ref<void(const GlobalValue *)> Op) const;
};
----------------
Prefer `const GlobalValue &` if not-nullable.
================
Comment at: llvm/test/ThinLTO/X86/alias-ifunc.ll:22
+ at foo = ifunc i32 (i32), ptr @foo_resolver
+; CHECK-RESOLVER: (name: "foo_resolver"
+; CHECK-RESOLVER-SAME: live: 1
----------------
For the same check prefix, align the content.
```
; CHECK-RESOLVER: (name: "foo_resolver"
; CHECK-RESOLVER-SAME: live: 1
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129009/new/
https://reviews.llvm.org/D129009
More information about the cfe-commits
mailing list