Skip to content

Commit a289297

Browse files
authored
Merge branch 'main' into gisel-vop3p
2 parents c6c4b3e + dcec224 commit a289297

File tree

1,632 files changed

+37963
-27859
lines changed

Some content is hidden

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

1,632 files changed

+37963
-27859
lines changed

.ci/compute-projects.sh

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@ function compute-projects-to-test() {
1818
shift
1919
projects=${@}
2020
for project in ${projects}; do
21-
echo "${project}"
2221
case ${project} in
2322
lld)
24-
for p in bolt cross-project-tests; do
23+
for p in lld bolt cross-project-tests; do
2524
echo $p
2625
done
2726
;;
2827
llvm)
29-
for p in bolt clang clang-tools-extra lld lldb mlir polly; do
28+
for p in llvm bolt clang clang-tools-extra lld lldb mlir polly; do
3029
echo $p
3130
done
3231
# Flang is not stable in Windows CI at the moment
@@ -36,21 +35,30 @@ function compute-projects-to-test() {
3635
;;
3736
clang)
3837
# lldb is temporarily removed to alleviate Linux pre-commit CI waiting times
39-
for p in clang-tools-extra compiler-rt cross-project-tests; do
38+
for p in clang clang-tools-extra compiler-rt cross-project-tests; do
4039
echo $p
4140
done
4241
;;
4342
clang-tools-extra)
44-
echo libc
43+
for p in clang-tools-extra libc; do
44+
echo $p
45+
done
4546
;;
4647
mlir)
48+
echo mlir
49+
# Flang is not stable in Windows CI at the moment
50+
if [[ $isForWindows == 0 ]]; then
51+
echo flang
52+
fi
53+
;;
54+
flang-rt)
4755
# Flang is not stable in Windows CI at the moment
4856
if [[ $isForWindows == 0 ]]; then
4957
echo flang
5058
fi
5159
;;
5260
*)
53-
# Nothing to do
61+
echo "${project}"
5462
;;
5563
esac
5664
done
@@ -65,6 +73,11 @@ function compute-runtimes-to-test() {
6573
echo $p
6674
done
6775
;;
76+
flang)
77+
for p in flang-rt; do
78+
echo $p
79+
done
80+
;;
6881
*)
6982
# Nothing to do
7083
;;

.ci/generate-buildkite-pipeline-premerge

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ fi
7373
# needs while letting them run on the infrastructure provided by LLVM.
7474

7575
# Figure out which projects need to be built on each platform
76-
all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl"
76+
all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang flang-rt libc libclc lld lldb llvm mlir openmp polly pstl"
7777
modified_projects="$(keep-modified-projects ${all_projects})"
7878

7979
linux_projects_to_test=$(exclude-linux $(compute-projects-to-test 0 ${modified_projects}))

.ci/metrics/metrics.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,24 @@ def github_get_metrics(
168168
created_at = job.created_at
169169
started_at = job.started_at
170170
completed_at = job.completed_at
171-
queue_time = started_at - created_at
172-
run_time = completed_at - started_at
171+
172+
# GitHub API can return results where the started_at is slightly
173+
# later then the created_at (or completed earlier than started).
174+
# This would cause a -23h59mn delta, which will show up as +24h
175+
# queue/run time on grafana.
176+
if started_at < created_at:
177+
logging.info(
178+
"Workflow {} started before being created.".format(task.id)
179+
)
180+
queue_time = datetime.timedelta(seconds=0)
181+
else:
182+
queue_time = started_at - created_at
183+
if completed_at < started_at:
184+
logging.info("Workflow {} finished before starting.".format(task.id))
185+
run_time = datetime.timedelta(seconds=0)
186+
else:
187+
run_time = completed_at - started_at
188+
173189
if run_time.seconds == 0:
174190
continue
175191

.ci/monolithic-linux.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
6565
-D CMAKE_CXX_FLAGS=-gmlt \
6666
-D LLVM_CCACHE_BUILD=ON \
6767
-D MLIR_ENABLE_BINDINGS_PYTHON=ON \
68+
-D FLANG_ENABLE_FLANG_RT=OFF \
6869
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
6970

7071
echo "--- ninja"
@@ -95,6 +96,9 @@ if [[ "${runtimes}" != "" ]]; then
9596
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
9697
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
9798
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
99+
-D CMAKE_Fortran_COMPILER="${BUILD_DIR}/bin/flang" \
100+
-D CMAKE_Fortran_COMPILER_WORKS=ON \
101+
-D LLVM_BINARY_DIR="${BUILD_DIR}" \
98102
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
99103
-D LIBCXX_CXX_ABI=libcxxabi \
100104
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
@@ -113,6 +117,9 @@ if [[ "${runtimes}" != "" ]]; then
113117
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
114118
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
115119
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
120+
-D CMAKE_Fortran_COMPILER="${BUILD_DIR}/bin/flang" \
121+
-D CMAKE_Fortran_COMPILER_WORKS=ON \
122+
-D LLVM_BINARY_DIR="${BUILD_DIR}" \
116123
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
117124
-D LIBCXX_CXX_ABI=libcxxabi \
118125
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
@@ -131,6 +138,9 @@ if [[ "${runtimes}" != "" ]]; then
131138
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
132139
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
133140
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
141+
-D CMAKE_Fortran_COMPILER="${BUILD_DIR}/bin/flang" \
142+
-D CMAKE_Fortran_COMPILER_WORKS=ON \
143+
-D LLVM_BINARY_DIR="${BUILD_DIR}" \
134144
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
135145
-D LIBCXX_CXX_ABI=libcxxabi \
136146
-D CMAKE_BUILD_TYPE=RelWithDebInfo \

bolt/lib/Passes/AsmDump.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ void dumpFunction(const BinaryFunction &BF) {
143143
std::move(MCEInstance.MCE), std::move(MAB)));
144144
AsmStreamer->initSections(true, *BC.STI);
145145
std::unique_ptr<TargetMachine> TM(BC.TheTarget->createTargetMachine(
146-
BC.TripleName, "", "", TargetOptions(), std::nullopt));
146+
*BC.TheTriple, "", "", TargetOptions(), std::nullopt));
147147
std::unique_ptr<AsmPrinter> MAP(
148148
BC.TheTarget->createAsmPrinter(*TM, std::move(AsmStreamer)));
149149

clang/AreaTeamMembers.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
This is a list of the current Clang Area Team members.
2+
3+
Chair
4+
-----
5+
Aaron Ballman
6+
[email protected] (email), AaronBallman (Discourse), AaronBallman (GitHub), AaronBallman (Discord)
7+
8+
Secretary
9+
---------
10+
Reid Kleckner
11+
[email protected] (email), rnk (Discourse), rnk (GitHub), rnk (Discord)
12+
13+
Other Members
14+
-------------
15+
Eli Friedman
16+
[email protected]> (email), efriedma-quic (Discourse), efriedma-quic (GitHub)
17+

clang/Maintainers.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ Clang Maintainers
44

55
This file is a list of the
66
`maintainers <https://llvm.org/docs/DeveloperPolicy.html#maintainers>`_ for
7-
Clang.
7+
Clang. The list of current Clang Area Team members can be found
8+
`here <https://github.com/llvm/llvm-project/blob/main/clang/AreaTeamMembers.txt>`_.
89

910
.. contents::
1011
:depth: 2

clang/docs/LanguageExtensions.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -786,6 +786,7 @@ of different sizes and signs is forbidden in binary and ternary builtins.
786786
T __builtin_elementwise_bitreverse(T x) return the integer represented after reversing the bits of x integer types
787787
T __builtin_elementwise_exp(T x) returns the base-e exponential, e^x, of the specified value floating point types
788788
T __builtin_elementwise_exp2(T x) returns the base-2 exponential, 2^x, of the specified value floating point types
789+
T __builtin_elementwise_exp10(T x) returns the base-10 exponential, 10^x, of the specified value floating point types
789790

790791
T __builtin_elementwise_sqrt(T x) return the square root of a floating-point number floating point types
791792
T __builtin_elementwise_roundeven(T x) round x to the nearest integer value in floating point format, floating point types

clang/docs/ReleaseNotes.rst

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ Non-comprehensive list of changes in this release
128128
-------------------------------------------------
129129

130130
- Support parsing the `cc` operand modifier and alias it to the `c` modifier (#GH127719).
131+
- Added `__builtin_elementwise_exp10`.
131132

132133
New Compiler Flags
133134
------------------
@@ -235,8 +236,6 @@ Improvements to Clang's diagnostics
235236
under the subgroup ``-Wunsafe-buffer-usage-in-libc-call``.
236237
- Diagnostics on chained comparisons (``a < b < c``) are now an error by default. This can be disabled with
237238
``-Wno-error=parentheses``.
238-
- Adds an error diagnostic for out of bounds vector accesses; produces an error
239-
for compile time statically provable out of bounds vector accesses.
240239
- The ``-Wshift-bool`` warning has been added to warn about shifting a boolean. (#GH28334)
241240
- Fixed diagnostics adding a trailing ``::`` when printing some source code
242241
constructs, like base classes.
@@ -293,6 +292,7 @@ Bug Fixes to Attribute Support
293292
Bug Fixes to C++ Support
294293
^^^^^^^^^^^^^^^^^^^^^^^^
295294

295+
- Clang now diagnoses copy constructors taking the class by value in template instantiations. (#GH130866)
296296
- Clang is now better at keeping track of friend function template instance contexts. (#GH55509)
297297
- Clang now prints the correct instantiation context for diagnostics suppressed
298298
by template argument deduction.
@@ -308,6 +308,8 @@ Bug Fixes to C++ Support
308308
- Correctly diagnoses template template paramters which have a pack parameter
309309
not in the last position.
310310
- Clang now correctly parses ``if constexpr`` expressions in immediate function context. (#GH123524)
311+
- Fixed an assertion failure affecting code that uses C++23 "deducing this". (#GH130272)
312+
- Clang now properly instantiates destructors for initialized members within non-delegating constructors. (#GH93251)
311313

312314
Bug Fixes to AST Handling
313315
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -357,7 +359,13 @@ Android Support
357359
Windows Support
358360
^^^^^^^^^^^^^^^
359361

360-
- Clang now supports MSVC vector deleting destructors (GH19772).
362+
- Clang now defines ``_CRT_USE_BUILTIN_OFFSETOF`` macro in MSVC-compatible mode,
363+
which makes ``offsetof`` provided by Microsoft's ``<stddef.h>`` to be defined
364+
correctly. (#GH59689)
365+
366+
- Clang now can process the `i128` and `ui128` integeral suffixes when MSVC
367+
extensions are enabled. This allows for properly processing ``intsafe.h`` in
368+
the Windows SDK.
361369

362370
LoongArch Support
363371
^^^^^^^^^^^^^^^^^

clang/docs/UsersManual.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3195,7 +3195,6 @@ be collected.
31953195
the profile file to ``Name``.
31963196
* ``void __llvm_profile_reset_counters(void)``: resets all counters to zero.
31973197
* ``int __llvm_profile_dump(void)``: write the profile data to disk.
3198-
* ``int __llvm_orderfile_dump(void)``: write the order file to disk.
31993198

32003199
For example, the following pattern can be used to skip profiling program
32013200
initialization, profile two specific hot regions, and skip profiling program

0 commit comments

Comments
 (0)