[all-commits] [llvm/llvm-project] 6bf806: [AArch64] ACLE: Fix issue for mismatching enum typ...
sdesmalen-arm via All-commits
all-commits at lists.llvm.org
Mon Apr 12 03:19:49 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6bf806b3e2fddf79fa0326df1da341de9da35d08
https://github.com/llvm/llvm-project/commit/6bf806b3e2fddf79fa0326df1da341de9da35d08
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2021-04-12 (Mon, 12 Apr 2021)
Changed paths:
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/arm_sve.td
M clang/lib/Basic/Builtins.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
Log Message:
-----------
[AArch64] ACLE: Fix issue for mismatching enum types with builtins.
This patch fixes an issue with the SVE prefetch and qinc/qdec intrinsics
that take an `enum` argument, but where the builtin prototype encodes
these as `int`. Some code in SemaDecl found the mismatch and chose
to forget about the builtin altogether, which meant that any future
code using that builtin would fail. The code that forgets about the
builtin was actually obsolete after D77491 and should have been removed.
This patch now removes that code.
This patch also fixes another issue with the SVE prefetch intrinsic
when built with C++, where the builtin didn't accept the correct
pointer type, which should be `const void *`.
Reviewed By: tambre
Differential Revision: https://reviews.llvm.org/D100046
More information about the All-commits
mailing list