[all-commits] [llvm/llvm-project] 3cc852: [FMV][AArch64] Expand feature dependencies using A...

Alexandros Lamprineas via All-commits all-commits at lists.llvm.org
Tue Nov 12 08:01:58 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3cc852ece438a63e7b09d1c84a81d21598454e1a
      https://github.com/llvm/llvm-project/commit/3cc852ece438a63e7b09d1c84a81d21598454e1a
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-11-12 (Tue, 12 Nov 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/test/CodeGen/aarch64-fmv-dependencies.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64FMV.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [FMV][AArch64] Expand feature dependencies using AArch64::ExtensionSet. (#113281)

Currently we maintain a hand written list of subtarget features which we
are implied for a given FMV feature. It is more robust to expand such
dependencies using ExtensionDependency from TargetParser, since that is
generated by tablegen. For this to work each FMV feature must have a
corresponding SubtargetFeature in place. FMV features which didn't
satisfy this criteria have been removed from the ACLE specification
(https://github.com/ARM-software/acle/pull/315). However, I deliberately
marked the ArchExtKind in FMVInfo structure as std::optional in case we
decide to break this rule in the future.

I have also added the missing dependencies:
 * FEAT_DPB2 -> FEAT_DPB
 * FEAT_FlagM2 -> FEAT_FlagM



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list