Skip to content

Commit 8f6a825

Browse files
author
z1_cciauto
authored
merge main into amd-staging (llvm#3117)
2 parents 61e5854 + 5d6280d commit 8f6a825

File tree

356 files changed

+5115
-5495
lines changed

Some content is hidden

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

356 files changed

+5115
-5495
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
/clang/www/cxx_dr_status.html @Endilll
3232
/clang/www/make_cxx_dr_status @Endilll
3333

34-
/clang/include/clang/CIR @lanza @bcardosolopes
35-
/clang/lib/CIR @lanza @bcardosolopes
36-
/clang/tools/cir-* @lanza @bcardosolopes
34+
/clang/include/clang/CIR @lanza @bcardosolopes @xlauko @andykaylor
35+
/clang/lib/CIR @lanza @bcardosolopes @xlauko @andykaylor
36+
/clang/tools/cir-* @lanza @bcardosolopes @xlauko @andykaylor
3737

3838
/lldb/ @JDevlieghere
3939

.github/workflows/premerge.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
if: >-
7777
github.repository_owner == 'llvm' &&
7878
(github.event_name != 'pull_request' || github.event.action != 'closed')
79-
runs-on: llvm-premerge-windows-runners
79+
runs-on: llvm-premerge-windows-2022-runners
8080
defaults:
8181
run:
8282
shell: bash

clang-tools-extra/docs/ReleaseNotes.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ Improvements to clang-doc
8888
Improvements to clang-query
8989
---------------------------
9090

91+
- Matcher queries interpreted by clang-query are now support trailing comma (,)
92+
in matcher arguments. Note that C++ still doesn't allow this in function
93+
arguments. So when porting a query to C++, remove all instances of trailing
94+
comma (otherwise C++ compiler will just complain about "expected expression").
95+
9196
Improvements to include-cleaner
9297
-------------------------------
9398
- Deprecated the ``-insert`` and ``-remove`` command line options, and added
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
void foo(void) {}
2+
// CHECK-OK: trailing-comma.c:1:1: note: "root" binds here
3+
// CHECK-ERR-COMMA: Invalid token <,> found when looking for a value.
4+
5+
// RUN: clang-query -c "match \
6+
// RUN: functionDecl( \
7+
// RUN: hasName( \
8+
// RUN: \"foo\", \
9+
// RUN: ), \
10+
// RUN: ) \
11+
// RUN: " %s | FileCheck --check-prefix=CHECK-OK %s
12+
13+
// Same with \n tokens
14+
// RUN: echo "match functionDecl( hasName( \"foo\" , ) , )" | sed "s/ /\n/g" >%t
15+
// RUN: clang-query -f %t %s | FileCheck --check-prefix=CHECK-OK %s
16+
17+
// RUN: not clang-query -c "match functionDecl(hasName(\"foo\"),,)" %s \
18+
// RUN: | FileCheck --check-prefix=CHECK-ERR-COMMA %s
19+
20+
// RUN: not clang-query -c "match functionDecl(,)" %s \
21+
// RUN: | FileCheck --check-prefix=CHECK-ERR-COMMA %s

clang/docs/ReleaseNotes.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -816,6 +816,8 @@ Bug Fixes in This Version
816816
declaration statements. Clang now emits a warning for these patterns. (#GH141659)
817817
- Fixed false positives for redeclaration errors of using enum in
818818
nested scopes. (#GH147495)
819+
- Fixed a failed assertion with an operator call expression which comes from a
820+
macro expansion when performing analysis for nullability attributes. (#GH138371)
819821

820822
Bug Fixes to Compiler Builtins
821823
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -983,6 +985,7 @@ Bug Fixes to C++ Support
983985
- Fix a crash with NTTP when instantiating local class.
984986
- Fixed a crash involving list-initialization of an empty class with a
985987
non-empty initializer list. (#GH147949)
988+
- Fixed constant evaluation of equality comparisons of constexpr-unknown references. (#GH147663)
986989

987990
Bug Fixes to AST Handling
988991
^^^^^^^^^^^^^^^^^^^^^^^^^

clang/docs/ThinLTO.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,38 @@ The ``BOOTSTRAP_LLVM_ENABLE_LTO=Thin`` will enable ThinLTO for stage 2 and
240240
stage 3 in case the compiler used for stage 1 does not support the ThinLTO
241241
option.
242242

243+
Integrated Distributed ThinLTO (DTLTO)
244+
--------------------------------------
245+
246+
Integrated Distributed ThinLTO (DTLTO) enables the distribution of backend
247+
ThinLTO compilations via external distribution systems, such as Incredibuild,
248+
during the traditional link step.
249+
250+
The implementation is documented here: https://llvm.org/docs/DTLTO.html.
251+
252+
DTLTO requires the LLD linker (``-fuse-ld=lld``).
253+
254+
``-fthinlto-distributor=<path>``
255+
- Specifies the ``<path>`` to the distributor process executable for DTLTO.
256+
- If specified, ThinLTO backend compilations will be distributed by LLD.
257+
258+
``-Xthinlto-distributor=<arg>``
259+
- Passes ``<arg>`` to the distributor process (see ``-fthinlto-distributor=``).
260+
- Can be specified multiple times to pass multiple options.
261+
- Multiple options can also be specified by separating them with commas.
262+
263+
Examples:
264+
- ``clang -flto=thin -fthinlto-distributor=incredibuild.exe -Xthinlto-distributor=--verbose,--j10 -fuse-ld=lld``
265+
- ``clang -flto=thin -fthinlto-distributor=$(which python) -Xthinlto-distributor=incredibuild.py -fuse-ld=lld``
266+
267+
If ``-fthinlto-distributor=`` is specified, Clang supplies the path to a
268+
compiler to be executed remotely to perform the ThinLTO backend
269+
compilations. Currently, this is Clang itself.
270+
271+
Note that currently, DTLTO is only supported in some LLD flavors. Support can
272+
be added to other LLD flavours in the future.
273+
See `DTLTO <https://lld.llvm.org/dtlto.html>`_ for more information.
274+
243275
More Information
244276
================
245277

clang/include/clang/Basic/BuiltinsPPC.def

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,6 +1092,12 @@ UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, "vW1024*W256V", true,
10921092
"mma,paired-vector-memops")
10931093
UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp, "vW1024*W256Vi255i15i15", true,
10941094
"mma,paired-vector-memops")
1095+
UNALIASED_CUSTOM_BUILTIN(mma_dmsetdmrz, "vW1024*", false,
1096+
"mma,isa-future-instructions")
1097+
UNALIASED_CUSTOM_BUILTIN(mma_dmmr, "vW1024*W1024*", false,
1098+
"mma,isa-future-instructions")
1099+
UNALIASED_CUSTOM_BUILTIN(mma_dmxor, "vW1024*W1024*", true,
1100+
"mma,isa-future-instructions")
10951101

10961102
// MMA builtins with positive/negative multiply/accumulate.
10971103
UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvf16ger2, "vW512*VV",

clang/include/clang/Basic/TargetInfo.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -337,10 +337,6 @@ class TargetInfo : public TransferrableTargetInfo,
337337
/// http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055a/IHI0055A_aapcs64.pdf
338338
AArch64ABIBuiltinVaList,
339339

340-
/// __builtin_va_list as defined by the PNaCl ABI:
341-
/// http://www.chromium.org/nativeclient/pnacl/bitcode-abi#TOC-Machine-Types
342-
PNaClABIBuiltinVaList,
343-
344340
/// __builtin_va_list as defined by the Power ABI:
345341
/// https://www.power.org
346342
/// /resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Embedded.pdf

clang/include/clang/CIR/Dialect/IR/CIRAttrs.td

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#ifndef LLVM_CLANG_CIR_DIALECT_IR_CIRATTRS_TD
14-
#define LLVM_CLANG_CIR_DIALECT_IR_CIRATTRS_TD
13+
#ifndef CLANG_CIR_DIALECT_IR_CIRATTRS_TD
14+
#define CLANG_CIR_DIALECT_IR_CIRATTRS_TD
1515

1616
include "mlir/IR/BuiltinAttributeInterfaces.td"
17-
include "mlir/IR/EnumAttr.td"
1817

19-
include "clang/CIR/Dialect/IR/CIRDialect.td"
2018
include "clang/CIR/Dialect/IR/CIRAttrConstraints.td"
19+
include "clang/CIR/Dialect/IR/CIRDialect.td"
20+
include "clang/CIR/Dialect/IR/CIREnumAttr.td"
2121

2222
//===----------------------------------------------------------------------===//
2323
// CIR Attrs
@@ -42,21 +42,6 @@ class CIR_TypedAttr<string name, string attrMnemonic, list<Trait> traits = []>
4242
let assemblyFormat = [{}];
4343
}
4444

45-
class CIR_I32EnumAttr<string name, string summary, list<I32EnumAttrCase> cases>
46-
: I32EnumAttr<name, summary, cases> {
47-
let cppNamespace = "::cir";
48-
}
49-
50-
class CIR_I64EnumAttr<string name, string summary, list<I64EnumAttrCase> cases>
51-
: I64EnumAttr<name, summary, cases> {
52-
let cppNamespace = "::cir";
53-
}
54-
55-
class CIR_EnumAttr<EnumAttrInfo info, string name = "", list<Trait> traits = []>
56-
: EnumAttr<CIR_Dialect, info, name, traits> {
57-
let assemblyFormat = "`<` $value `>`";
58-
}
59-
6045
class CIRUnitAttr<string name, string attrMnemonic, list<Trait> traits = []>
6146
: CIR_Attr<name, attrMnemonic, traits> {
6247
let returnType = "bool";
@@ -516,4 +501,4 @@ def BitfieldInfoAttr : CIR_Attr<"BitfieldInfo", "bitfield_info"> {
516501
}
517502

518503

519-
#endif // LLVM_CLANG_CIR_DIALECT_IR_CIRATTRS_TD
504+
#endif // CLANG_CIR_DIALECT_IR_CIRATTRS_TD

clang/include/clang/CIR/Dialect/IR/CIRDialect.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#ifndef LLVM_CLANG_CIR_DIALECT_IR_CIRDIALECT_H
14-
#define LLVM_CLANG_CIR_DIALECT_IR_CIRDIALECT_H
13+
#ifndef CLANG_CIR_DIALECT_IR_CIRDIALECT_H
14+
#define CLANG_CIR_DIALECT_IR_CIRDIALECT_H
1515

1616
#include "mlir/IR/Builders.h"
1717
#include "mlir/IR/BuiltinOps.h"
@@ -49,4 +49,4 @@ void buildTerminatedBody(mlir::OpBuilder &builder, mlir::Location loc);
4949
#define GET_OP_CLASSES
5050
#include "clang/CIR/Dialect/IR/CIROps.h.inc"
5151

52-
#endif // LLVM_CLANG_CIR_DIALECT_IR_CIRDIALECT_H
52+
#endif // CLANG_CIR_DIALECT_IR_CIRDIALECT_H

0 commit comments

Comments
 (0)