Skip to content

Commit 3df102d

Browse files
author
z1_cciauto
authored
merge main into amd-staging (llvm#3486)
2 parents d736180 + e68c528 commit 3df102d

File tree

96 files changed

+5539
-2206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+5539
-2206
lines changed

bolt/unittests/Core/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ add_bolt_unittest(CoreTests
1111
MemoryMaps.cpp
1212
DynoStats.cpp
1313

14+
# FIXME CoreTests uses `llvm::detail::TakeError(llvm::Error)`, but linking
15+
# to LLVMTestingSupport introduces a transitive dependency on the
16+
# dynamic LLVM library when LLVM_LINK_LLVM_DYLIB is ON.
17+
${LLVM_MAIN_SRC_DIR}/lib/Testing/Support/Error.cpp
18+
1419
DISABLE_LLVM_LINK_LLVM_DYLIB
1520
)
1621

@@ -20,7 +25,6 @@ target_link_libraries(CoreTests
2025
LLVMBOLTRewrite
2126
LLVMBOLTProfile
2227
LLVMBOLTUtils
23-
LLVMTestingSupport
2428
)
2529

2630
foreach (tgt ${BOLT_TARGETS_TO_BUILD})

bolt/unittests/Profile/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ target_link_libraries(ProfileTests
1616
LLVMBOLTCore
1717
LLVMBOLTProfile
1818
LLVMTargetParser
19-
LLVMTestingSupport
2019
)
2120

2221
foreach (tgt ${BOLT_TARGETS_TO_BUILD})

clang/lib/Analysis/UnsafeBufferUsage.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1986,6 +1986,14 @@ class UnsafeLibcFunctionCallGadget : public WarningGadget {
19861986
const auto *FD = dyn_cast<FunctionDecl>(CE->getDirectCallee());
19871987
if (!FD)
19881988
return false;
1989+
1990+
bool IsGlobalAndNotInAnyNamespace =
1991+
FD->isGlobal() && !FD->getEnclosingNamespaceContext()->isNamespace();
1992+
1993+
// A libc function must either be in the std:: namespace or a global
1994+
// function that is not in any namespace:
1995+
if (!FD->isInStdNamespace() && !IsGlobalAndNotInAnyNamespace)
1996+
return false;
19891997
auto isSingleStringLiteralArg = false;
19901998
if (CE->getNumArgs() == 1) {
19911999
isSingleStringLiteralArg =

clang/lib/Headers/avx2intrin.h

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@
3131
__min_vector_width__(128)))
3232
#endif
3333

34+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
35+
#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
36+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
37+
#else
38+
#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
39+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
40+
#endif
41+
3442
/* SSE4 Multiple Packed Sums of Absolute Difference. */
3543
/// Computes sixteen sum of absolute difference (SAD) operations on sets of
3644
/// four unsigned 8-bit integers from the 256-bit integer vectors \a X and
@@ -460,7 +468,7 @@ _mm256_adds_epu16(__m256i __a, __m256i __b)
460468
/// \param __b
461469
/// A 256-bit integer vector.
462470
/// \returns A 256-bit integer vector containing the result.
463-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
471+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
464472
_mm256_and_si256(__m256i __a, __m256i __b)
465473
{
466474
return (__m256i)((__v4du)__a & (__v4du)__b);
@@ -478,7 +486,7 @@ _mm256_and_si256(__m256i __a, __m256i __b)
478486
/// \param __b
479487
/// A 256-bit integer vector.
480488
/// \returns A 256-bit integer vector containing the result.
481-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
489+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
482490
_mm256_andnot_si256(__m256i __a, __m256i __b)
483491
{
484492
return (__m256i)(~(__v4du)__a & (__v4du)__b);
@@ -1822,7 +1830,7 @@ _mm256_mul_epu32(__m256i __a, __m256i __b)
18221830
/// \param __b
18231831
/// A 256-bit integer vector.
18241832
/// \returns A 256-bit integer vector containing the result.
1825-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
1833+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
18261834
_mm256_or_si256(__m256i __a, __m256i __b)
18271835
{
18281836
return (__m256i)((__v4du)__a | (__v4du)__b);
@@ -2974,7 +2982,7 @@ _mm256_unpacklo_epi64(__m256i __a, __m256i __b)
29742982
/// \param __b
29752983
/// A 256-bit integer vector.
29762984
/// \returns A 256-bit integer vector containing the result.
2977-
static __inline__ __m256i __DEFAULT_FN_ATTRS256
2985+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
29782986
_mm256_xor_si256(__m256i __a, __m256i __b)
29792987
{
29802988
return (__m256i)((__v4du)__a ^ (__v4du)__b);
@@ -5289,5 +5297,7 @@ _mm_srlv_epi64(__m128i __X, __m128i __Y)
52895297

52905298
#undef __DEFAULT_FN_ATTRS256
52915299
#undef __DEFAULT_FN_ATTRS128
5300+
#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
5301+
#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
52925302

52935303
#endif /* __AVX2INTRIN_H */

clang/lib/Headers/avx512dqintrin.h

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@
2020
__attribute__((__always_inline__, __nodebug__, \
2121
__target__("avx512dq,no-evex512")))
2222

23+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
24+
#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
25+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
26+
#else
27+
#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
28+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
29+
#endif
30+
2331
static __inline __mmask8 __DEFAULT_FN_ATTRS
2432
_knot_mask8(__mmask8 __M)
2533
{
@@ -167,7 +175,7 @@ _mm512_maskz_mullo_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
167175
(__v8di)_mm512_setzero_si512());
168176
}
169177

170-
static __inline__ __m512d __DEFAULT_FN_ATTRS512
178+
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
171179
_mm512_xor_pd(__m512d __A, __m512d __B) {
172180
return (__m512d)((__v8du)__A ^ (__v8du)__B);
173181
}
@@ -186,7 +194,7 @@ _mm512_maskz_xor_pd(__mmask8 __U, __m512d __A, __m512d __B) {
186194
(__v8df)_mm512_setzero_pd());
187195
}
188196

189-
static __inline__ __m512 __DEFAULT_FN_ATTRS512
197+
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
190198
_mm512_xor_ps (__m512 __A, __m512 __B) {
191199
return (__m512)((__v16su)__A ^ (__v16su)__B);
192200
}
@@ -205,7 +213,7 @@ _mm512_maskz_xor_ps(__mmask16 __U, __m512 __A, __m512 __B) {
205213
(__v16sf)_mm512_setzero_ps());
206214
}
207215

208-
static __inline__ __m512d __DEFAULT_FN_ATTRS512
216+
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
209217
_mm512_or_pd(__m512d __A, __m512d __B) {
210218
return (__m512d)((__v8du)__A | (__v8du)__B);
211219
}
@@ -224,7 +232,7 @@ _mm512_maskz_or_pd(__mmask8 __U, __m512d __A, __m512d __B) {
224232
(__v8df)_mm512_setzero_pd());
225233
}
226234

227-
static __inline__ __m512 __DEFAULT_FN_ATTRS512
235+
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
228236
_mm512_or_ps(__m512 __A, __m512 __B) {
229237
return (__m512)((__v16su)__A | (__v16su)__B);
230238
}
@@ -243,7 +251,7 @@ _mm512_maskz_or_ps(__mmask16 __U, __m512 __A, __m512 __B) {
243251
(__v16sf)_mm512_setzero_ps());
244252
}
245253

246-
static __inline__ __m512d __DEFAULT_FN_ATTRS512
254+
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
247255
_mm512_and_pd(__m512d __A, __m512d __B) {
248256
return (__m512d)((__v8du)__A & (__v8du)__B);
249257
}
@@ -262,7 +270,7 @@ _mm512_maskz_and_pd(__mmask8 __U, __m512d __A, __m512d __B) {
262270
(__v8df)_mm512_setzero_pd());
263271
}
264272

265-
static __inline__ __m512 __DEFAULT_FN_ATTRS512
273+
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
266274
_mm512_and_ps(__m512 __A, __m512 __B) {
267275
return (__m512)((__v16su)__A & (__v16su)__B);
268276
}
@@ -281,7 +289,7 @@ _mm512_maskz_and_ps(__mmask16 __U, __m512 __A, __m512 __B) {
281289
(__v16sf)_mm512_setzero_ps());
282290
}
283291

284-
static __inline__ __m512d __DEFAULT_FN_ATTRS512
292+
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
285293
_mm512_andnot_pd(__m512d __A, __m512d __B) {
286294
return (__m512d)(~(__v8du)__A & (__v8du)__B);
287295
}
@@ -300,7 +308,7 @@ _mm512_maskz_andnot_pd(__mmask8 __U, __m512d __A, __m512d __B) {
300308
(__v8df)_mm512_setzero_pd());
301309
}
302310

303-
static __inline__ __m512 __DEFAULT_FN_ATTRS512
311+
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
304312
_mm512_andnot_ps(__m512 __A, __m512 __B) {
305313
return (__m512)(~(__v16su)__A & (__v16su)__B);
306314
}
@@ -1375,5 +1383,7 @@ _mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A)
13751383

13761384
#undef __DEFAULT_FN_ATTRS512
13771385
#undef __DEFAULT_FN_ATTRS
1386+
#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
1387+
#undef __DEFAULT_FN_ATTRS_CONSTEXPR
13781388

13791389
#endif

clang/lib/Headers/avx512fintrin.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,7 @@ _mm512_zextsi256_si512(__m256i __a)
645645
}
646646

647647
/* Bitwise operators */
648-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
648+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
649649
_mm512_and_epi32(__m512i __a, __m512i __b)
650650
{
651651
return (__m512i)((__v16su)__a & (__v16su)__b);
@@ -666,7 +666,7 @@ _mm512_maskz_and_epi32(__mmask16 __k, __m512i __a, __m512i __b)
666666
__k, __a, __b);
667667
}
668668

669-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
669+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
670670
_mm512_and_epi64(__m512i __a, __m512i __b)
671671
{
672672
return (__m512i)((__v8du)__a & (__v8du)__b);
@@ -687,13 +687,13 @@ _mm512_maskz_and_epi64(__mmask8 __k, __m512i __a, __m512i __b)
687687
__k, __a, __b);
688688
}
689689

690-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
690+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
691691
_mm512_andnot_si512 (__m512i __A, __m512i __B)
692692
{
693693
return (__m512i)(~(__v8du)__A & (__v8du)__B);
694694
}
695695

696-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
696+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
697697
_mm512_andnot_epi32 (__m512i __A, __m512i __B)
698698
{
699699
return (__m512i)(~(__v16su)__A & (__v16su)__B);
@@ -714,7 +714,7 @@ _mm512_maskz_andnot_epi32(__mmask16 __U, __m512i __A, __m512i __B)
714714
__U, __A, __B);
715715
}
716716

717-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
717+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
718718
_mm512_andnot_epi64(__m512i __A, __m512i __B)
719719
{
720720
return (__m512i)(~(__v8du)__A & (__v8du)__B);
@@ -735,7 +735,7 @@ _mm512_maskz_andnot_epi64(__mmask8 __U, __m512i __A, __m512i __B)
735735
__U, __A, __B);
736736
}
737737

738-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
738+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
739739
_mm512_or_epi32(__m512i __a, __m512i __b)
740740
{
741741
return (__m512i)((__v16su)__a | (__v16su)__b);
@@ -755,7 +755,7 @@ _mm512_maskz_or_epi32(__mmask16 __k, __m512i __a, __m512i __b)
755755
return (__m512i)_mm512_mask_or_epi32(_mm512_setzero_si512(), __k, __a, __b);
756756
}
757757

758-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
758+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
759759
_mm512_or_epi64(__m512i __a, __m512i __b)
760760
{
761761
return (__m512i)((__v8du)__a | (__v8du)__b);
@@ -775,7 +775,7 @@ _mm512_maskz_or_epi64(__mmask8 __k, __m512i __a, __m512i __b)
775775
return (__m512i)_mm512_mask_or_epi64(_mm512_setzero_si512(), __k, __a, __b);
776776
}
777777

778-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
778+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
779779
_mm512_xor_epi32(__m512i __a, __m512i __b)
780780
{
781781
return (__m512i)((__v16su)__a ^ (__v16su)__b);
@@ -795,7 +795,7 @@ _mm512_maskz_xor_epi32(__mmask16 __k, __m512i __a, __m512i __b)
795795
return (__m512i)_mm512_mask_xor_epi32(_mm512_setzero_si512(), __k, __a, __b);
796796
}
797797

798-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
798+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
799799
_mm512_xor_epi64(__m512i __a, __m512i __b)
800800
{
801801
return (__m512i)((__v8du)__a ^ (__v8du)__b);
@@ -815,19 +815,19 @@ _mm512_maskz_xor_epi64(__mmask8 __k, __m512i __a, __m512i __b)
815815
return (__m512i)_mm512_mask_xor_epi64(_mm512_setzero_si512(), __k, __a, __b);
816816
}
817817

818-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
818+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
819819
_mm512_and_si512(__m512i __a, __m512i __b)
820820
{
821821
return (__m512i)((__v8du)__a & (__v8du)__b);
822822
}
823823

824-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
824+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
825825
_mm512_or_si512(__m512i __a, __m512i __b)
826826
{
827827
return (__m512i)((__v8du)__a | (__v8du)__b);
828828
}
829829

830-
static __inline__ __m512i __DEFAULT_FN_ATTRS512
830+
static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
831831
_mm512_xor_si512(__m512i __a, __m512i __b)
832832
{
833833
return (__m512i)((__v8du)__a ^ (__v8du)__b);
@@ -5303,7 +5303,7 @@ _mm512_mask_store_epi64 (void *__P, __mmask8 __U, __m512i __A)
53035303
(__mmask8) __U);
53045304
}
53055305

5306-
static __inline__ __m512d __DEFAULT_FN_ATTRS512
5306+
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
53075307
_mm512_movedup_pd (__m512d __A)
53085308
{
53095309
return (__m512d)__builtin_shufflevector((__v8df)__A, (__v8df)__A,
@@ -8665,7 +8665,7 @@ _mm512_mask_testn_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
86658665
_mm512_setzero_si512());
86668666
}
86678667

8668-
static __inline__ __m512 __DEFAULT_FN_ATTRS512
8668+
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
86698669
_mm512_movehdup_ps (__m512 __A)
86708670
{
86718671
return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,
@@ -8688,7 +8688,7 @@ _mm512_maskz_movehdup_ps (__mmask16 __U, __m512 __A)
86888688
(__v16sf)_mm512_setzero_ps());
86898689
}
86908690

8691-
static __inline__ __m512 __DEFAULT_FN_ATTRS512
8691+
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
86928692
_mm512_moveldup_ps (__m512 __A)
86938693
{
86948694
return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,

0 commit comments

Comments
 (0)