[all-commits] [llvm/llvm-project] a03d06: Reland "[AArch64] Decouple feature dependency expa...

Alexandros Lamprineas via All-commits all-commits at lists.llvm.org
Tue Jun 18 13:28:55 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a03d06a736fd8921c8f40637667d6af9c2c76505
      https://github.com/llvm/llvm-project/commit/a03d06a736fd8921c8f40637667d6af9c2c76505
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-06-18 (Tue, 18 Jun 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/test/CodeGen/aarch64-cpu-supports-target.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/Sema/aarch64-neon-target.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_rotation.cpp
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/TargetParser/AArch64TargetParser.cpp

  Log Message:
  -----------
  Reland "[AArch64] Decouple feature dependency expansion. (#94279)" (#95519)

This is the second attempt. When parsing the target attribute
we should be letting cc1 features which don't correspond to
Extensions pass through to avoid errors like the following:

% cat neon.c
__attribute__((target("arch=armv8-a")))
uint64x2_t foo(uint64x2_t a, uint64x2_t b) { return veorq_u64(a, b); }

% clang --target=aarch64-linux-gnu -c neon.c
error: always_inline function 'veorq_u64' requires target feature
       'outline-atomics', but would be inlined into function 'foo'
       that is compiled without support for 'outline-atomics'

Co-authored-by: Tomas Matheson <Tomas.Matheson at arm.com>



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