[clang] [FMV][AArch64] Do not emit ifunc resolver on use. (PR #97761)

Tomas Matheson via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 8 06:42:11 PDT 2024


================
@@ -59,15 +59,22 @@ int bar() {
   return m.goo(1) + foo(1) + foo();
 }
 
+// Example to demonstrate that at the point of use we haven't yet seen the default.
+// At that point a declaration for the unmangled symbol is emitted, which is later
+// replaced by the ifunc symbol (once we have seen the default definition).
+__attribute__((target_version("aes"))) void fmv(void) {}
+void caller(void) { fmv(); }
+__attribute__((target_version("default"))) void fmv(void) {}
----------------
tmatheson-arm wrote:

How does it demonstrate this? The unmangled symbol doesn't appear in the output, as far as I can see.

https://github.com/llvm/llvm-project/pull/97761


More information about the cfe-commits mailing list