Skip to content

Commit 33cd95d

Browse files
SC llvm teamSC llvm team
authored andcommitted
Merged main:d4a141ef932a into amd-gfx:e9a6e850f966
Local branch amd-gfx e9a6e85 Merged main:aa2adc1283ec into amd-gfx:0bf179db461a Remote branch main d4a141e Switch over to using the LLVM archive parser for BSD archives.
2 parents e9a6e85 + d4a141e commit 33cd95d

File tree

63 files changed

+2615
-312
lines changed

Some content is hidden

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

63 files changed

+2615
-312
lines changed

.github/CODEOWNERS

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,10 @@ utils/bazel/llvm-project-overlay/libc/** @llvm/pr-subscribers-libc
494494
/clang/lib/CodeGen/Targets/AArch64.cpp @llvm/pr-subscribers-AArch64
495495
/clang/include/clang/Basic/BuiltinsAArch64* @llvm/pr-subscribers-AArch64
496496

497+
# AMDGPU
498+
**/*AMDGPU* @llvm/pr-subscribers-amdgpu
499+
**/*amdgpu* @llvm/pr-subscribers-amdgpu
500+
497501
# DirectX
498502
/llvm/include/llvm/IR/IntrinsicsDirectX.td @llvm/pr-subscribers-DirectX
499503
/llvm/lib/Target/DirectX/ @llvm/pr-subscribers-DirectX
@@ -588,3 +592,28 @@ utils/bazel/llvm-project-overlay/libc/** @llvm/pr-subscribers-libc
588592
/llvm/tools/llvm-exegesis/ @llvm/pr-subscribers-exegesis
589593
/llvm/test/tools/llvm-exegesis/ @llvm/pr-subscribers-exegesis
590594
/llvm/unittests/tools/llvm-exegesis/ @llvm/pr-subscribers-exegesis
595+
596+
# WebAssembly
597+
/llvm/include/llvm/BinaryFormat/Wasm.h @llvm/pr-subscribers-webassembly
598+
/llvm/include/llvm/IR/IntinsicsWebAssembly.td @llvm/pr-subscribers-webassembly
599+
/llvm/include/llvm/Object/Wasm* @llvm/pr-subscribers-webassembly
600+
/llvm/lib/CodeGen/Wasm* @llvm/pr-subscribers-webassembly
601+
/llvm/lib/CodeGen/AsmPrinter/Wasm* @llvm/pr-subscribers-webassembly
602+
/llvm/lib/MC/MCParser/Wasm* @llvm/pr-subscribers-webassembly
603+
/llvm/lib/MC/Wasm* @llvm/pr-subscribers-webassembly
604+
/llvm/lib/ObjCopy/wasm/ @llvm/pr-subscribers-webassembly
605+
/llvm/lib/Object/Wasm* @llvm/pr-subscribers-webassembly
606+
/llvm/lib/Target/WebAssembly/ @llvm/pr-subscribers-webassembly
607+
/llvm/test/CodeGen/WebAssembly/ @llvm/pr-subscribers-webassembly
608+
/llvm/test/DebugInfo/WebAssembly/ @llvm/pr-subscribers-webassembly
609+
/llvm/test/MC/WebAssembly/ @llvm/pr-subscribers-webassembly
610+
/llvm/unittests/Target/WebAssembly/ @llvm/pr-subscribers-webassembly
611+
/clang/include/clang/Basic/BuiltinsWebAssembly.def @llvm/pr-subscribers-webassembly
612+
/clang/include/clang/Basic/WebAssemblyReferenceTypes.def @llvm/pr-subscribers-webassembly
613+
/clang/lib/Basic/Targets/WebAssembly* @llvm/pr-subscribers-webassembly
614+
/clang/lib/Driver/Toolchains/WebAssembly* @llvm/pr-subscribers-webassembly
615+
/clang/lib/CodeGen/Targets/WebAssembly* @llvm/pr-subscribers-webassembly
616+
/clang/lib/Headers/wasm_simd128.h @llvm/pr-subscribers-webassembly
617+
/clang/test/CodeGen/WebAssembly/ @llvm/pr-subscribers-webassembly
618+
/clang/test/Sema/*wasm* @llvm/pr-subscribers-webassembly
619+
/clang/test/SemaCXX/*wasm* @llvm/pr-subscribers-webassembly

clang/docs/ReleaseNotes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@ Bug Fixes in This Version
206206
- Clang's ``-Wunused-private-field`` no longer warns on fields whose type is
207207
declared with ``[[maybe_unused]]``.
208208
(`#61334 <https://github.com/llvm/llvm-project/issues/61334>`_)
209-
- For function multi-versioning using the ``target`` or ``target_clones``
210-
attributes, remove comdat for internal linkage functions.
209+
- For function multi-versioning using the ``target``, ``target_clones``, or
210+
``target_version`` attributes, remove comdat for internal linkage functions.
211211
(`#65114 <https://github.com/llvm/llvm-project/issues/65114>`_)
212212
- Clang now reports ``-Wformat`` for bool value and char specifier confusion
213213
in scanf. Fixes

clang/include/clang/Parse/RAIIObjectsForParser.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
#define LLVM_CLANG_PARSE_RAIIOBJECTSFORPARSER_H
1616

1717
#include "clang/Parse/ParseDiagnostic.h"
18+
#include "clang/Parse/Parser.h"
1819
#include "clang/Sema/DelayedDiagnostic.h"
20+
#include "clang/Sema/ParsedTemplate.h"
1921
#include "clang/Sema/Sema.h"
2022

2123
namespace clang {
22-
class ParsedAttributes;
23-
2424
// TODO: move ParsingClassDefinition here.
2525
// TODO: move TentativeParsingAction here.
2626

clang/lib/Headers/__clang_cuda_device_functions.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,8 +502,8 @@ __DEVICE__ unsigned int __pm0(void) { return __nvvm_read_ptx_sreg_pm0(); }
502502
__DEVICE__ unsigned int __pm1(void) { return __nvvm_read_ptx_sreg_pm1(); }
503503
__DEVICE__ unsigned int __pm2(void) { return __nvvm_read_ptx_sreg_pm2(); }
504504
__DEVICE__ unsigned int __pm3(void) { return __nvvm_read_ptx_sreg_pm3(); }
505-
__DEVICE__ int __popc(int __a) { return __nv_popc(__a); }
506-
__DEVICE__ int __popcll(long long __a) { return __nv_popcll(__a); }
505+
__DEVICE__ int __popc(unsigned int __a) { return __nv_popc(__a); }
506+
__DEVICE__ int __popcll(unsigned long long __a) { return __nv_popcll(__a); }
507507
__DEVICE__ float __powf(float __a, float __b) {
508508
return __nv_fast_powf(__a, __b);
509509
}

clang/lib/Headers/__clang_cuda_libdevice_declares.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,8 @@ __DEVICE__ double __nv_normcdfinv(double __a);
285285
__DEVICE__ float __nv_normcdfinvf(float __a);
286286
__DEVICE__ float __nv_normf(int __a, const float *__b);
287287
__DEVICE__ double __nv_norm(int __a, const double *__b);
288-
__DEVICE__ int __nv_popc(int __a);
289-
__DEVICE__ int __nv_popcll(long long __a);
288+
__DEVICE__ int __nv_popc(unsigned int __a);
289+
__DEVICE__ int __nv_popcll(unsigned long long __a);
290290
__DEVICE__ double __nv_pow(double __a, double __b);
291291
__DEVICE__ float __nv_powf(float __a, float __b);
292292
__DEVICE__ double __nv_powi(double __a, int __b);

libcxx/benchmarks/CMakeLists.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,16 @@ set(BENCHMARK_LIBCXX_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/benchmark-libcxx)
7676
set(BENCHMARK_NATIVE_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/benchmark-native)
7777

7878
add_library( cxx-benchmarks-flags INTERFACE)
79-
target_compile_features( cxx-benchmarks-flags INTERFACE cxx_std_20)
79+
#TODO(cmake): remove the `add_compile_options`. Currently we have to explicitly
80+
# pass the `std:c++latest` flag on Windows to work around an issue where
81+
# requesting `cxx_std_23` results in an error -- somehow CMake fails to
82+
# translate the `c++23` flag into `c++latest`, and the highest numbered C++
83+
# version that MSVC flags support is C++20.
84+
if (MSVC)
85+
add_compile_options(/std:c++latest)
86+
else()
87+
target_compile_features( cxx-benchmarks-flags INTERFACE cxx_std_23)
88+
endif()
8089
target_compile_options( cxx-benchmarks-flags INTERFACE -fsized-deallocation -nostdinc++)
8190
target_include_directories(cxx-benchmarks-flags INTERFACE "${LIBCXX_GENERATED_INCLUDE_DIR}"
8291
INTERFACE "${BENCHMARK_LIBCXX_INSTALL}/include"

libcxx/benchmarks/ContainerBenchmarks.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,16 @@ void BM_ConstructIterIter(benchmark::State& st, Container, GenInputs gen) {
6969
}
7070
}
7171

72+
template <class Container, class GenInputs>
73+
void BM_ConstructFromRange(benchmark::State& st, Container, GenInputs gen) {
74+
auto in = gen(st.range(0));
75+
benchmark::DoNotOptimize(&in);
76+
while (st.KeepRunning()) {
77+
Container c(std::from_range, in);
78+
DoNotOptimizeData(c);
79+
}
80+
}
81+
7282
template <class Container, class GenInputs>
7383
void BM_InsertValue(benchmark::State& st, Container c, GenInputs gen) {
7484
auto in = gen(st.range(0));

libcxx/benchmarks/deque.bench.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,13 @@ BENCHMARK_CAPTURE(BM_ConstructIterIter, deque_size_t, std::deque<size_t>{}, getR
3030
BENCHMARK_CAPTURE(BM_ConstructIterIter, deque_string, std::deque<std::string>{}, getRandomStringInputs)
3131
->Arg(TestNumInputs);
3232

33+
BENCHMARK_CAPTURE(BM_ConstructFromRange, deque_char, std::deque<char>{}, getRandomIntegerInputs<char>)
34+
->Arg(TestNumInputs);
35+
36+
BENCHMARK_CAPTURE(BM_ConstructFromRange, deque_size_t, std::deque<size_t>{}, getRandomIntegerInputs<size_t>)
37+
->Arg(TestNumInputs);
38+
39+
BENCHMARK_CAPTURE(BM_ConstructFromRange, deque_string, std::deque<std::string>{}, getRandomStringInputs)
40+
->Arg(TestNumInputs);
41+
3342
BENCHMARK_MAIN();

libcxx/benchmarks/vector_operations.bench.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,13 @@ BENCHMARK_CAPTURE(BM_ConstructIterIter, vector_size_t, std::vector<size_t>{}, ge
3030
BENCHMARK_CAPTURE(BM_ConstructIterIter, vector_string, std::vector<std::string>{}, getRandomStringInputs)
3131
->Arg(TestNumInputs);
3232

33+
BENCHMARK_CAPTURE(BM_ConstructFromRange, vector_char, std::vector<char>{}, getRandomIntegerInputs<char>)
34+
->Arg(TestNumInputs);
35+
36+
BENCHMARK_CAPTURE(BM_ConstructFromRange, vector_size_t, std::vector<size_t>{}, getRandomIntegerInputs<size_t>)
37+
->Arg(TestNumInputs);
38+
39+
BENCHMARK_CAPTURE(BM_ConstructFromRange, vector_string, std::vector<std::string>{}, getRandomStringInputs)
40+
->Arg(TestNumInputs);
41+
3342
BENCHMARK_MAIN();

libcxx/docs/FeatureTestMacroTable.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ Status
346346
--------------------------------------------------- -----------------
347347
``__cpp_lib_ranges_chunk`` *unimplemented*
348348
--------------------------------------------------- -----------------
349-
``__cpp_lib_ranges_chunk_by`` *unimplemented*
349+
``__cpp_lib_ranges_chunk_by`` ``202202L``
350350
--------------------------------------------------- -----------------
351351
``__cpp_lib_ranges_iota`` *unimplemented*
352352
--------------------------------------------------- -----------------

libcxx/docs/ReleaseNotes/18.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Implemented Papers
4141

4242
- P2497R0 - Testing for success or failure of ``<charconv>`` functions
4343
- P2697R1 - Interfacing ``bitset`` with ``string_view``
44-
44+
- P2443R1 - ``views::chunk_by``
4545

4646
Improvements and New Features
4747
-----------------------------

libcxx/docs/Status/Cxx23Papers.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"`P2440R1 <https://wg21.link/P2440R1>`__","LWG","``ranges::iota``, ``ranges::shift_left`` and ``ranges::shift_right``","February 2022","","","|ranges|"
5050
"`P2441R2 <https://wg21.link/P2441R2>`__","LWG","``views::join_with``","February 2022","","","|ranges|"
5151
"`P2442R1 <https://wg21.link/P2442R1>`__","LWG","Windowing range adaptors: ``views::chunk`` and ``views::slide``","February 2022","","","|ranges|"
52-
"`P2443R1 <https://wg21.link/P2443R1>`__","LWG","``views::chunk_by``","February 2022","","","|ranges|"
52+
"`P2443R1 <https://wg21.link/P2443R1>`__","LWG","``views::chunk_by``","February 2022","|Complete|","18.0","|ranges|"
5353
"","","","","","",""
5454
"`P0009R18 <https://wg21.link/P0009R18>`__","LWG","mdspan: A Non-Owning Multidimensional Array Reference","July 2022","|In progress| [#note-P0009R18]_|",""
5555
"`P0429R9 <https://wg21.link/P0429R9>`__","LWG","A Standard ``flat_map``","July 2022","",""

libcxx/docs/Status/RangesViews.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ C++23,`adjacent_transform <https://wg21.link/P2321R2>`_,Hui Xie,No patch yet,Not
3131
C++23,`join_with <https://wg21.link/P2441R2>`_,Unassigned,No patch yet,Not started
3232
C++23,`slide <https://wg21.link/P2442R1>`_,Unassigned,No patch yet,Not started
3333
C++23,`chunk <https://wg21.link/P2442R1>`_,Unassigned,No patch yet,Not started
34-
C++23,`chunk_by <https://wg21.link/P2443R1>`_,Unassigned,No patch yet,Not started
34+
C++23,`chunk_by <https://wg21.link/P2443R1>`_,Jakub Mazurkiewicz,`D144767 <https://llvm.org/D144767>`,✅
3535
C++23,`as_const <https://wg21.link/P2278R4>`_,Unassigned,No patch yet,Not started
3636
C++23,`as_rvalue <https://wg21.link/P2446R2>`_,Nikolas Klauser,`D137637 <https://llvm.org/D137637>`_,✅
3737
C++23,`stride <https://wg21.link/P1899R3>`_,Hristo Hristov and Will Hawkins,`D156924 <https://llvm.org/D156924>`_,In Progress

libcxx/include/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,7 @@ set(files
602602
__ranges/access.h
603603
__ranges/all.h
604604
__ranges/as_rvalue_view.h
605+
__ranges/chunk_by_view.h
605606
__ranges/common_view.h
606607
__ranges/concepts.h
607608
__ranges/container_compatible_range.h

libcxx/include/__algorithm/ranges_adjacent_find.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
# pragma GCC system_header
2525
#endif
2626

27+
_LIBCPP_PUSH_MACROS
28+
#include <__undef_macros>
29+
2730
#if _LIBCPP_STD_VER >= 20
2831

2932
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -75,4 +78,6 @@ _LIBCPP_END_NAMESPACE_STD
7578

7679
#endif // _LIBCPP_STD_VER >= 20
7780

81+
_LIBCPP_POP_MACROS
82+
7883
#endif // _LIBCPP___ALGORITHM_RANGES_ADJACENT_FIND_H

0 commit comments

Comments
 (0)