[clang] [compiler-rt] [llvm] [FMV][AArch64] Unify ls64, ls64_v and ls64_accdata. (PR #108024)

Jon Roelofs via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 13 07:52:46 PDT 2024


================
@@ -73,8 +73,6 @@ enum CPUFeatures {
   FEAT_SSBS,
   FEAT_SSBS2,
   FEAT_BTI,
-  FEAT_LS64,
-  FEAT_LS64_V,
----------------
jroelofs wrote:

https://github.com/llvm/llvm-project/pull/88965#discussion_r1567997481

> Did any implementation ship __aarch64_cpu_features in a way that would make this an ABI break? We (Apple) talked about putting these in libSystem, and now I am glad we did not. It's okay to change/reorder them if it is a private implementation detail between the compiler and compiler-rt that is shipped with it, but as soon as they're part of an ABI, this list must become append only.

https://github.com/llvm/llvm-project/pull/88965#discussion_r1568423939

> For the time being __aarch64_cpu_features is not part of the ABI, but that may change in the future.

https://github.com/llvm/llvm-project/pull/88965#discussion_r1570826110

> For the ifunc implementation to work reliably, then the relevant parts of compiler-rt (or libgcc for the GCC implementation) should be statically linked. Otherwise there's a possibility that the symbols aren't actually loaded yet when the ifunc resolver is run. So there should be no exposed ABI in the context of FMV.

> As for other uses, we haven't agreed to freeze this as part of the ABI yet, but we are giving this possibility some consideration in designing the FMV resolver.

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


More information about the cfe-commits mailing list