[all-commits] [llvm/llvm-project] cfca97: [AArch64][TargetParser] autogen ArchExtKind enum (...
Tomas Matheson via All-commits
all-commits at lists.llvm.org
Wed May 1 07:15:21 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cfca977427230e1731c8552810785ebdd09ca605
https://github.com/llvm/llvm-project/commit/cfca977427230e1731c8552810785ebdd09ca605
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-01 (Wed, 01 May 2024)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] autogen ArchExtKind enum (#90314)
Re-land 61b2a0e3336aaa0132bbed06dc185aca4ff5d2db. Some Windows builds
were failing because AArch64TargetParserDef.inc is a generated header
which is included transitively into some clang components, but this
information is not available to the build system and therefore there is
a missing edge in the dependency graph. This patch incorporates the
fixes described in ac1ffd3caca12c254e0b8c847aa8ce8e51b6cfbf/D142403.
Thanks to ExtensionSet::toLLVMFeatureList, all values of ArchExtKind
should correspond to a particular -target-feature. The valid values of
-target-feature are in turn defined by SubtargetFeature defs.
Therefore we can generate ArchExtKind from the tablegen data. This is
done by adding an Extension class which derives from SubtargetFeature.
Because the Has* FieldNames do not always correspond to the AEK_
names ("extensions", as defined in TargetParser), and AEK_ names do
not always correspond to -march strings, some additional enum entries
have been added to remap the names. I have renamed these to make the
naming consistent, but split them into a separate PR to keep the diff
reasonable (#90320)
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