Skip to content

Commit 9aa9eca

Browse files
committed
Merge remote-tracking branch 'origin/main' into vplan-collect-exit-users-multiple-blocks
2 parents 852ad20 + 375d192 commit 9aa9eca

File tree

2,438 files changed

+78452
-39310
lines changed

Some content is hidden

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

2,438 files changed

+78452
-39310
lines changed

.github/workflows/libcxx-build-and-test.yaml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ env:
4949
jobs:
5050
stage1:
5151
if: github.repository_owner == 'llvm'
52-
runs-on: libcxx-runners-8-set
52+
runs-on: libcxx-runners-set
53+
container: ghcr.io/libcxx/actions-builder:testing-2024-09-21
5354
continue-on-error: false
5455
strategy:
5556
fail-fast: false
@@ -85,7 +86,8 @@ jobs:
8586
**/crash_diagnostics/*
8687
stage2:
8788
if: github.repository_owner == 'llvm'
88-
runs-on: libcxx-runners-8-set
89+
runs-on: libcxx-runners-set
90+
container: ghcr.io/libcxx/actions-builder:testing-2024-09-21
8991
needs: [ stage1 ]
9092
continue-on-error: false
9193
strategy:
@@ -162,20 +164,21 @@ jobs:
162164
'benchmarks',
163165
'bootstrapping-build'
164166
]
165-
machine: [ 'libcxx-runners-8-set' ]
167+
machine: [ 'libcxx-runners-set' ]
166168
include:
167169
- config: 'generic-cxx26'
168-
machine: libcxx-runners-8-set
170+
machine: libcxx-runners-set
169171
- config: 'generic-asan'
170-
machine: libcxx-runners-8-set
172+
machine: libcxx-runners-set
171173
- config: 'generic-tsan'
172-
machine: libcxx-runners-8-set
174+
machine: libcxx-runners-set
173175
- config: 'generic-ubsan'
174-
machine: libcxx-runners-8-set
176+
machine: libcxx-runners-set
175177
# Use a larger machine for MSAN to avoid timeout and memory allocation issues.
176178
- config: 'generic-msan'
177-
machine: libcxx-runners-8-set
179+
machine: libcxx-runners-set
178180
runs-on: ${{ matrix.machine }}
181+
container: ghcr.io/libcxx/actions-builder:testing-2024-09-21
179182
steps:
180183
- uses: actions/checkout@v4
181184
- name: ${{ matrix.config }}

clang-tools-extra/clang-include-fixer/InMemorySymbolIndex.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ InMemorySymbolIndex::InMemorySymbolIndex(
2121

2222
std::vector<SymbolAndSignals>
2323
InMemorySymbolIndex::search(llvm::StringRef Identifier) {
24-
auto I = LookupTable.find(std::string(Identifier));
24+
auto I = LookupTable.find(Identifier);
2525
if (I != LookupTable.end())
2626
return I->second;
2727
return {};

clang-tools-extra/clang-include-fixer/InMemorySymbolIndex.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class InMemorySymbolIndex : public SymbolIndex {
2727
search(llvm::StringRef Identifier) override;
2828

2929
private:
30-
std::map<std::string, std::vector<find_all_symbols::SymbolAndSignals>>
30+
std::map<std::string, std::vector<find_all_symbols::SymbolAndSignals>,
31+
std::less<>>
3132
LookupTable;
3233
};
3334

clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ std::optional<DurationScale> getScaleForDurationInverse(llvm::StringRef Name) {
244244
{"ToDoubleNanoseconds", DurationScale::Nanoseconds},
245245
{"ToInt64Nanoseconds", DurationScale::Nanoseconds}});
246246

247-
auto ScaleIter = ScaleMap.find(std::string(Name));
247+
auto ScaleIter = ScaleMap.find(Name);
248248
if (ScaleIter == ScaleMap.end())
249249
return std::nullopt;
250250

@@ -260,7 +260,7 @@ std::optional<DurationScale> getScaleForTimeInverse(llvm::StringRef Name) {
260260
{"ToUnixMicros", DurationScale::Microseconds},
261261
{"ToUnixNanos", DurationScale::Nanoseconds}});
262262

263-
auto ScaleIter = ScaleMap.find(std::string(Name));
263+
auto ScaleIter = ScaleMap.find(Name);
264264
if (ScaleIter == ScaleMap.end())
265265
return std::nullopt;
266266

clang/Maintainers.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ Sema
6868
| Sirraide
6969
| aeternalmail\@gmail.com (email), Sirraide (GitHub), Ætérnal (Discord), Sirraide (Discourse)
7070
71+
| Mariya Podchishchaeva
72+
| mariya.podchishchaeva\@intel.com (email), Fznamznon (GitHub), fznamznon (Discord), Fznamznon (Discourse)
73+
7174

7275
Recovery AST
7376
~~~~~~~~~~~~
@@ -138,6 +141,15 @@ Compiler options
138141
| jan_svoboda\@apple.com (email), jansvoboda11 (Phabricator), jansvoboda11 (GitHub)
139142
140143

144+
API Notes
145+
~~~~~~~~~~~~~~~~
146+
| Egor Zhdan
147+
| e_zhdan\@apple.com (email), egorzhdan (GitHub), egor.zhdan (Discourse)
148+
149+
| Saleem Abdulrasool
150+
| compnerd\@compnerd.org (email), compnerd (GitHub), compnerd (Discourse)
151+
152+
141153
OpenBSD driver
142154
~~~~~~~~~~~~~~
143155
| Brad Smith
@@ -150,6 +162,12 @@ Driver parts not covered by someone else
150162
| i\@maskray.me (email), MaskRay (Phabricator), MaskRay (GitHub)
151163
152164

165+
Constant Expressions
166+
~~~~~~~~~~~~~~~~~~~~
167+
| Mariya Podchishchaeva
168+
| mariya.podchishchaeva\@intel.com (email), Fznamznon (GitHub), fznamznon (Discord), Fznamznon (Discourse)
169+
170+
153171
Tools
154172
-----
155173
These maintainers are responsible for user-facing tools under the Clang
@@ -301,6 +319,12 @@ SYCL conformance
301319
| alexey.bader\@intel.com (email), bader (Phabricator), bader (GitHub)
302320
303321

322+
HLSL conformance
323+
~~~~~~~~~~~~~~~~
324+
| Chris Bieneman
325+
| chris.bieneman\@gmail.com (email), llvm-beanz (GitHub), beanz (Discord), beanz (Discourse)
326+
327+
304328
Issue Triage
305329
~~~~~~~~~~~~
306330
| Shafik Yaghmour

clang/docs/OpenMPSupport.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,8 @@ implementation.
284284
+------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+
285285
| memory management | alignment for allocate directive and clause | :good:`done` | D115683 |
286286
+------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+
287+
| memory management | 'allocator' modifier for allocate clause | :good:`done` | https://github.com/llvm/llvm-project/pull/114883 |
288+
+------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+
287289
| memory management | new memory management routines | :none:`unclaimed` | |
288290
+------------------------------+--------------------------------------------------------------+--------------------------+-----------------------------------------------------------------------+
289291
| memory management | changes to omp_alloctrait_key enum | :none:`unclaimed` | |

clang/docs/ReleaseNotes.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,6 @@ Bug Fixes to C++ Support
569569
in certain friend declarations. (#GH93099)
570570
- Clang now instantiates the correct lambda call operator when a lambda's class type is
571571
merged across modules. (#GH110401)
572-
- Clang now uses the correct set of template argument lists when comparing the constraints of
573-
out-of-line definitions and member templates explicitly specialized for a given implicit instantiation of
574-
a class template. (#GH102320)
575572
- Fix a crash when parsing a pseudo destructor involving an invalid type. (#GH111460)
576573
- Fixed an assertion failure when invoking recovery call expressions with explicit attributes
577574
and undeclared templates. (#GH107047), (#GH49093)
@@ -591,6 +588,7 @@ Bug Fixes to C++ Support
591588
- Clang now correctly ignores previous partial specializations of member templates explicitly specialized for
592589
an implicitly instantiated class template specialization. (#GH51051)
593590
- Fixed an assertion failure caused by invalid enum forward declarations. (#GH112208)
591+
- Name independent data members were not correctly initialized from default member initializers. (#GH114069)
594592

595593
Bug Fixes to AST Handling
596594
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -716,6 +714,7 @@ CUDA Support
716714
^^^^^^^^^^^^
717715
- Clang now supports CUDA SDK up to 12.6
718716
- Added support for sm_100
717+
- Added support for `__grid_constant__` attribute.
719718

720719
AIX Support
721720
^^^^^^^^^^^
@@ -887,6 +886,7 @@ OpenMP Support
887886
--------------
888887
- Added support for 'omp assume' directive.
889888
- Added support for 'omp scope' directive.
889+
- Added support for allocator-modifier in 'allocate' clause.
890890

891891
Improvements
892892
^^^^^^^^^^^^

clang/include/clang/AST/ASTContext.h

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include "clang/AST/ExternalASTSource.h"
2424
#include "clang/AST/PrettyPrinter.h"
2525
#include "clang/AST/RawCommentList.h"
26+
#include "clang/AST/SYCLKernelInfo.h"
2627
#include "clang/AST/TemplateName.h"
2728
#include "clang/Basic/LLVM.h"
2829
#include "clang/Basic/PartialDiagnostic.h"
@@ -1040,7 +1041,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
10401041
void setInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst,
10411042
UsingShadowDecl *Pattern);
10421043

1043-
FieldDecl *getInstantiatedFromUnnamedFieldDecl(FieldDecl *Field);
1044+
FieldDecl *getInstantiatedFromUnnamedFieldDecl(FieldDecl *Field) const;
10441045

10451046
void setInstantiatedFromUnnamedFieldDecl(FieldDecl *Inst, FieldDecl *Tmpl);
10461047

@@ -1239,6 +1240,11 @@ class ASTContext : public RefCountedBase<ASTContext> {
12391240
/// in device compilation.
12401241
llvm::DenseSet<const FunctionDecl *> CUDAImplicitHostDeviceFunUsedByDevice;
12411242

1243+
/// Map of SYCL kernels indexed by the unique type used to name the kernel.
1244+
/// Entries are not serialized but are recreated on deserialization of a
1245+
/// sycl_kernel_entry_point attributed function declaration.
1246+
llvm::DenseMap<CanQualType, SYCLKernelInfo> SYCLKernels;
1247+
12421248
/// For capturing lambdas with an explicit object parameter whose type is
12431249
/// derived from the lambda type, we need to perform derived-to-base
12441250
/// conversion so we can access the captures; the cast paths for that
@@ -3340,6 +3346,14 @@ class ASTContext : public RefCountedBase<ASTContext> {
33403346
void getFunctionFeatureMap(llvm::StringMap<bool> &FeatureMap,
33413347
GlobalDecl GD) const;
33423348

3349+
/// Generates and stores SYCL kernel metadata for the provided
3350+
/// SYCL kernel entry point function. The provided function must have
3351+
/// an attached sycl_kernel_entry_point attribute that specifies a unique
3352+
/// type for the name of a SYCL kernel. Callers are required to detect
3353+
/// conflicting SYCL kernel names and issue a diagnostic prior to calling
3354+
/// this function.
3355+
void registerSYCLEntryPointFunction(FunctionDecl *FD);
3356+
33433357
//===--------------------------------------------------------------------===//
33443358
// Statistics
33453359
//===--------------------------------------------------------------------===//

0 commit comments

Comments
 (0)