https://github.com/sarnex updated 
https://github.com/llvm/llvm-project/pull/136742

>From f5f2d28bd1d878a7e202db91be31ae5b243e1fcf Mon Sep 17 00:00:00 2001
From: "Sarnie, Nick" <nick.sar...@intel.com>
Date: Tue, 22 Apr 2025 11:43:01 -0700
Subject: [PATCH 1/2] [clang][ARM][AArch64] Don't require arm_acle header for
 universally defined intrinsics

Signed-off-by: Sarnie, Nick <nick.sar...@intel.com>
---
 clang/include/clang/Basic/BuiltinHeaders.def  |  1 -
 clang/include/clang/Basic/BuiltinsAArch64.def | 16 +++---
 clang/include/clang/Basic/BuiltinsARM.def     | 16 +++---
 clang/lib/Headers/arm_acle.h                  |  6 ++-
 ...rmer-microsoft-intrinsics-header-warning.c | 50 -----------------
 .../CodeGen/arm-former-microsoft-intrinsics.c |  1 -
 ...rmer-microsoft-intrinsics-header-warning.c | 53 -------------------
 .../arm64-former-microsoft-intrinsics.c       |  2 -
 clang/test/CodeGen/builtins-arm-microsoft.c   |  2 -
 clang/test/Headers/Inputs/include/stdint.h    | 12 -----
 clang/test/Headers/ms-intrin.cpp              |  4 --
 11 files changed, 21 insertions(+), 142 deletions(-)
 delete mode 100644 
clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
 delete mode 100644 
clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c

diff --git a/clang/include/clang/Basic/BuiltinHeaders.def 
b/clang/include/clang/Basic/BuiltinHeaders.def
index 22668ec7a3396..8e4a2f9bee9aa 100644
--- a/clang/include/clang/Basic/BuiltinHeaders.def
+++ b/clang/include/clang/Basic/BuiltinHeaders.def
@@ -12,7 +12,6 @@
 
//===----------------------------------------------------------------------===//
 
 HEADER(NO_HEADER, nullptr)
-HEADER(ARMACLE_H, "arm_acle.h")
 HEADER(BLOCKS_H, "Blocks.h")
 HEADER(COMPLEX_H, "complex.h")
 HEADER(CTYPE_H, "ctype.h")
diff --git a/clang/include/clang/Basic/BuiltinsAArch64.def 
b/clang/include/clang/Basic/BuiltinsAArch64.def
index 19fa7215b5000..b52219a9a22d8 100644
--- a/clang/include/clang/Basic/BuiltinsAArch64.def
+++ b/clang/include/clang/Basic/BuiltinsAArch64.def
@@ -50,11 +50,11 @@ BUILTIN(__builtin_arm_wfi, "v", "")
 BUILTIN(__builtin_arm_sev, "v", "")
 BUILTIN(__builtin_arm_sevl, "v", "")
 BUILTIN(__builtin_arm_chkfeat, "WUiWUi", "")
-TARGET_HEADER_BUILTIN(__yield, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfe,   "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfi,   "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sev,   "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sevl,  "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
+BUILTIN(__yield, "v", "")
+BUILTIN(__wfe,   "v", "")
+BUILTIN(__wfi,   "v", "")
+BUILTIN(__sev,   "v", "")
+BUILTIN(__sevl,  "v", "")
 
 // Like __builtin_trap but provide an 16-bit immediate reason code (which goes 
into `brk #N`).
 BUILTIN(__builtin_arm_trap, "vUIs", "nr")
@@ -87,9 +87,9 @@ TARGET_BUILTIN(__builtin_arm_mops_memset_tag, "v*v*iz", "", 
"mte,mops")
 BUILTIN(__builtin_arm_dmb, "vUi", "nc")
 BUILTIN(__builtin_arm_dsb, "vUi", "nc")
 BUILTIN(__builtin_arm_isb, "vUi", "nc")
-TARGET_HEADER_BUILTIN(__dmb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__dsb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__isb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
+BUILTIN(__dmb, "vUi", "nc")
+BUILTIN(__dsb, "vUi", "nc")
+BUILTIN(__isb, "vUi", "nc")
 
 TARGET_BUILTIN(__builtin_arm_jcvt, "Zid", "nc", "v8.3a")
 
diff --git a/clang/include/clang/Basic/BuiltinsARM.def 
b/clang/include/clang/Basic/BuiltinsARM.def
index 2592e25e95c37..5059e996c28d3 100644
--- a/clang/include/clang/Basic/BuiltinsARM.def
+++ b/clang/include/clang/Basic/BuiltinsARM.def
@@ -186,19 +186,19 @@ BUILTIN(__builtin_arm_wfi, "v", "")
 BUILTIN(__builtin_arm_sev, "v", "")
 BUILTIN(__builtin_arm_sevl, "v", "")
 BUILTIN(__builtin_arm_dbg, "vUi", "")
-TARGET_HEADER_BUILTIN(__yield, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfe, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__wfi, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sev, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__sevl, "v", "h", ARMACLE_H, ALL_LANGUAGES, "")
+BUILTIN(__yield, "v", "")
+BUILTIN(__wfe, "v", "")
+BUILTIN(__wfi, "v", "")
+BUILTIN(__sev, "v", "")
+BUILTIN(__sevl, "v", "")
 
 // Data barrier
 BUILTIN(__builtin_arm_dmb, "vUi", "nc")
 BUILTIN(__builtin_arm_dsb, "vUi", "nc")
 BUILTIN(__builtin_arm_isb, "vUi", "nc")
-TARGET_HEADER_BUILTIN(__dmb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__dsb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
-TARGET_HEADER_BUILTIN(__isb, "vUi", "nch", ARMACLE_H, ALL_LANGUAGES, "")
+BUILTIN(__dmb, "vUi", "nc")
+BUILTIN(__dsb, "vUi", "nc")
+BUILTIN(__isb, "vUi", "nc")
 
 // Prefetch
 BUILTIN(__builtin_arm_prefetch, "vvC*UiUi", "nc")
diff --git a/clang/lib/Headers/arm_acle.h b/clang/lib/Headers/arm_acle.h
index 89db5dc2d7aaa..fae6cc71c2237 100644
--- a/clang/lib/Headers/arm_acle.h
+++ b/clang/lib/Headers/arm_acle.h
@@ -29,16 +29,20 @@ extern "C" {
 
 /* 7 SYNCHRONIZATION, BARRIER AND HINT INTRINSICS */
 /* 7.3 Memory barriers */
+/*
 void __dmb(unsigned int);
 void __dsb(unsigned int);
 void __isb(unsigned int);
-
+*/
+  
 /* 7.4 Hints */
+/*
 void __wfi(void);
 void __wfe(void);
 void __sev(void);
 void __sevl(void);
 void __yield(void);
+*/
 
 #if defined(__ARM_32BIT_STATE) && __ARM_32BIT_STATE
 #define __dbg(t) __builtin_arm_dbg(t)
diff --git 
a/clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c 
b/clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
deleted file mode 100644
index 8edcbbeb0375d..0000000000000
--- a/clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
+++ /dev/null
@@ -1,50 +0,0 @@
-// RUN: %clang_cc1 -triple thumbv7-windows -fms-compatibility -Wno-everything 
-Wimplicit-function-declaration -fsyntax-only -verify %s
-// RUN: %clang_cc1 -triple armv7-eabi -Wno-everything 
-Wimplicit-function-declaration -fsyntax-only -verify %s
-
-void check__dmb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dmb(0);
-}
-
-void check__dsb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dsb(0);
-}
-
-void check__isb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __isb(0);
-}
-
-void check__yield(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __yield();
-}
-
-void check__wfe(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfe();
-}
-
-void check__wfi(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfi();
-}
-
-void check__sev(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sev();
-}
-
-void check__sevl(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sevl();
-}
diff --git a/clang/test/CodeGen/arm-former-microsoft-intrinsics.c 
b/clang/test/CodeGen/arm-former-microsoft-intrinsics.c
index 8a02602dc9876..d8fc49bd10a51 100644
--- a/clang/test/CodeGen/arm-former-microsoft-intrinsics.c
+++ b/clang/test/CodeGen/arm-former-microsoft-intrinsics.c
@@ -3,7 +3,6 @@
 
 // RUN: %clang_cc1 -triple armv7-eabi -Werror -emit-llvm -o - %s \
 // RUN:    | FileCheck %s
-#include <arm_acle.h>
 void check__dmb(void) {
   __dmb(0);
 }
diff --git 
a/clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c 
b/clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
deleted file mode 100644
index 52fed49db4dd2..0000000000000
--- a/clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
+++ /dev/null
@@ -1,53 +0,0 @@
-// RUN: %clang_cc1 -triple arm64-windows -Wno-everything 
-Wimplicit-function-declaration -fms-compatibility -fsyntax-only -verify %s
-
-// RUN: %clang_cc1 -triple arm64-linux -Wno-everything 
-Wimplicit-function-declaration -fsyntax-only -verify %s
-
-// RUN: %clang_cc1 -triple arm64-darwin -Wno-everything 
-Wimplicit-function-declaration -fms-compatibility -fsyntax-only -verify %s
-
-void check__dmb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dmb(0);
-}
-
-void check__dsb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __dsb(0);
-}
-
-void check__isb(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __isb(0);
-}
-
-void check__yield(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __yield();
-}
-
-void check__wfe(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfe();
-}
-
-void check__wfi(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __wfi();
-}
-
-void check__sev(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sev();
-}
-
-void check__sevl(void) {
-  // expected-warning@+2{{call to undeclared library function}}
-  // expected-note@+1{{include the header <arm_acle.h> or explicitly provide a 
declaration for}}
-  __sevl();
-}
diff --git a/clang/test/CodeGen/arm64-former-microsoft-intrinsics.c 
b/clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
index f1d9af2c6d25e..9f801d9e8c4a7 100644
--- a/clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
+++ b/clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
@@ -7,8 +7,6 @@
 // RUN: %clang_cc1 -triple arm64-darwin -Wno-implicit-function-declaration 
-fms-compatibility -emit-llvm -o - %s \
 // RUN:    | FileCheck %s
 
-#include <arm_acle.h>
-
 void check__dmb(void) {
   __dmb(0);
 }
diff --git a/clang/test/CodeGen/builtins-arm-microsoft.c 
b/clang/test/CodeGen/builtins-arm-microsoft.c
index b2681197e33e0..5de8a71403549 100644
--- a/clang/test/CodeGen/builtins-arm-microsoft.c
+++ b/clang/test/CodeGen/builtins-arm-microsoft.c
@@ -4,8 +4,6 @@
 // RUN:     | FileCheck %s -check-prefix CHECK-EABI
 // REQUIRES: arm-registered-target
 
-#include <arm_acle.h>
-
 void test_yield_intrinsic() {
   __yield();
 }
diff --git a/clang/test/Headers/Inputs/include/stdint.h 
b/clang/test/Headers/Inputs/include/stdint.h
index eb09272b40c33..67b27b8dfc7b9 100644
--- a/clang/test/Headers/Inputs/include/stdint.h
+++ b/clang/test/Headers/Inputs/include/stdint.h
@@ -1,23 +1,11 @@
 #ifndef STDINT_H
 #define STDINT_H
 
-#ifdef __INT8_TYPE__
-typedef __INT8_TYPE__ int8_t;
-#endif
-typedef unsigned char uint8_t;
-
-#ifdef __INT16_TYPE__
-typedef __INT16_TYPE__ int16_t;
-typedef unsigned __INT16_TYPE__ uint16_t;
-#endif
-
 #ifdef __INT32_TYPE__
-typedef __INT32_TYPE__ int32_t;
 typedef unsigned __INT32_TYPE__ uint32_t;
 #endif
 
 #ifdef __INT64_TYPE__
-typedef __INT64_TYPE__ int64_t;
 typedef unsigned __INT64_TYPE__ uint64_t;
 #endif
 
diff --git a/clang/test/Headers/ms-intrin.cpp b/clang/test/Headers/ms-intrin.cpp
index 985f8577c46bf..d630883e79d6a 100644
--- a/clang/test/Headers/ms-intrin.cpp
+++ b/clang/test/Headers/ms-intrin.cpp
@@ -36,10 +36,6 @@ typedef __SIZE_TYPE__ size_t;
 
 #include <intrin.h>
 
-#ifdef __ARM_ACLE
-#include <arm_acle.h>
-#endif
-
 // Use some C++ to make sure we closed the extern "C" brackets.
 template <typename T>
 void foo(T V) {}

>From 121639e5fe1a93b4a3cdfbbe0a9fc7d452134f11 Mon Sep 17 00:00:00 2001
From: "Sarnie, Nick" <nick.sar...@intel.com>
Date: Tue, 22 Apr 2025 11:46:51 -0700
Subject: [PATCH 2/2] format

Signed-off-by: Sarnie, Nick <nick.sar...@intel.com>
---
 clang/lib/Headers/arm_acle.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/lib/Headers/arm_acle.h b/clang/lib/Headers/arm_acle.h
index fae6cc71c2237..8a139f4a0a241 100644
--- a/clang/lib/Headers/arm_acle.h
+++ b/clang/lib/Headers/arm_acle.h
@@ -34,7 +34,7 @@ void __dmb(unsigned int);
 void __dsb(unsigned int);
 void __isb(unsigned int);
 */
-  
+
 /* 7.4 Hints */
 /*
 void __wfi(void);

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to