Skip to content

Commit 7849590

Browse files
committed
merge main into amd-staging
2 parents 3c5b17f + 928a7e6 commit 7849590

File tree

156 files changed

+2560
-480
lines changed

Some content is hidden

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

156 files changed

+2560
-480
lines changed

.github/new-prs-labeler.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,10 @@ llvm:instcombine:
632632
- llvm/test/Transforms/InstCombine/**
633633
- llvm/test/Transforms/InstSimplify/**
634634

635+
llvm:vectorcombine:
636+
- llvm/lib/Transforms/Vectorize/VectorCombine.cpp
637+
- llvm/test/Transforms/VectorCombine/**
638+
635639
clangd:
636640
- clang-tools-extra/clangd/**
637641

.github/workflows/libclang-python-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ on:
1010
- 'main'
1111
paths:
1212
- 'clang/bindings/python/**'
13+
- 'clang/test/bindings/python/**'
1314
- 'clang/tools/libclang/**'
14-
- 'clang/CMakeList.txt'
1515
- '.github/workflows/libclang-python-tests.yml'
1616
- '.github/workflows/llvm-project-tests.yml'
1717
pull_request:
1818
paths:
1919
- 'clang/bindings/python/**'
20+
- 'clang/test/bindings/python/**'
2021
- 'clang/tools/libclang/**'
21-
- 'clang/CMakeList.txt'
2222
- '.github/workflows/libclang-python-tests.yml'
2323
- '.github/workflows/llvm-project-tests.yml'
2424

clang-tools-extra/clangd/AST.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ QualType declaredType(const TypeDecl *D) {
440440
if (const auto *Args = CTSD->getTemplateArgsAsWritten())
441441
return Context.getTemplateSpecializationType(
442442
TemplateName(CTSD->getSpecializedTemplate()), Args->arguments(),
443-
/*CanonicalArgs=*/std::nullopt);
443+
/*CanonicalArgs=*/{});
444444
return Context.getTypeDeclType(D);
445445
}
446446

clang/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,6 @@ if( CLANG_INCLUDE_TESTS )
555555
clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg
556556
)
557557
add_subdirectory(test)
558-
add_subdirectory(bindings/python/tests)
559558

560559
if(CLANG_BUILT_STANDALONE)
561560
umbrella_lit_testsuite_end(check-all)

clang/bindings/python/tests/CMakeLists.txt

Lines changed: 0 additions & 66 deletions
This file was deleted.

clang/docs/ReleaseNotes.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ C++ Specific Potentially Breaking Changes
6666
- A workaround for libstdc++4.7 has been removed. Note that 4.8.3 remains the oldest
6767
supported libstdc++ version.
6868
- Added ``!nonnull/!align`` metadata to load of references for better codegen.
69-
- Checking for int->enum conversions in constant expressions is more strict;
70-
in particular, ``const E x = (E)-1;`` is not treated as a constant if it's
71-
out of range. This impacts old versions of Boost. (#GH143034)
69+
- Checking for integer to enum conversions in constant expressions is more
70+
strict; in particular, ``const E x = (E)-1;`` is not treated as a constant
71+
if it's out of range. The Boost numeric_conversion library is impacted by
72+
this; it was fixed in Boost 1.81. (#GH143034)
7273

7374
ABI Changes in This Version
7475
---------------------------

clang/include/clang/Basic/OpenACCKinds.h

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -634,16 +634,19 @@ inline llvm::raw_ostream &operator<<(llvm::raw_ostream &Out,
634634
}
635635

636636
// Represents the 'modifier' of a 'modifier-list', as applied to copy, copyin,
637-
// copyout, and create. Implemented as a 'bitmask'
637+
// copyout, and create. Implemented as a 'bitmask'.
638+
// Note: This attempts to synchronize with mlir::acc::DataClauseModifier,
639+
// however has to store `Always` separately(whereas MLIR has it as AlwaysIn &
640+
// AlwaysOut). However, we keep them in sync so that we can cast between them.
638641
enum class OpenACCModifierKind : uint8_t {
639642
Invalid = 0,
640-
Always = 1 << 0,
641-
AlwaysIn = 1 << 1,
642-
AlwaysOut = 1 << 2,
643-
Readonly = 1 << 3,
644-
Zero = 1 << 4,
645-
Capture = 1 << 5,
646-
LLVM_MARK_AS_BITMASK_ENUM(Capture)
643+
Zero = 1 << 0,
644+
Readonly = 1 << 1,
645+
AlwaysIn = 1 << 2,
646+
AlwaysOut = 1 << 3,
647+
Capture = 1 << 4,
648+
Always = 1 << 5,
649+
LLVM_MARK_AS_BITMASK_ENUM(Always)
647650
};
648651

649652
inline bool isOpenACCModifierBitSet(OpenACCModifierKind List,

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2455,6 +2455,31 @@ def ComplexImagOp : CIR_Op<"complex.imag", [Pure]> {
24552455
let hasFolder = 1;
24562456
}
24572457

2458+
//===----------------------------------------------------------------------===//
2459+
// ComplexEqualOp
2460+
//===----------------------------------------------------------------------===//
2461+
2462+
def ComplexEqualOp : CIR_Op<"complex.eq", [Pure, SameTypeOperands]> {
2463+
2464+
let summary = "Computes whether two complex values are equal";
2465+
let description = [{
2466+
The `complex.equal` op takes two complex numbers and returns whether
2467+
they are equal.
2468+
2469+
```mlir
2470+
%r = cir.complex.eq %a, %b : !cir.complex<!cir.float>
2471+
```
2472+
}];
2473+
2474+
let results = (outs CIR_BoolType:$result);
2475+
let arguments = (ins CIR_ComplexType:$lhs, CIR_ComplexType:$rhs);
2476+
2477+
let assemblyFormat = [{
2478+
$lhs `,` $rhs
2479+
`:` qualified(type($lhs)) attr-dict
2480+
}];
2481+
}
2482+
24582483
//===----------------------------------------------------------------------===//
24592484
// Assume Operations
24602485
//===----------------------------------------------------------------------===//

clang/include/clang/Lex/LexHLSLRootSignature.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ operator<<(const DiagnosticBuilder &DB, const RootSignatureToken::Kind Kind) {
5050
case RootSignatureToken::Kind::X: \
5151
DB << SPELLING; \
5252
break;
53+
#define PUNCTUATOR(X, SPELLING) \
54+
case RootSignatureToken::Kind::pu_##X: \
55+
DB << #SPELLING; \
56+
break;
5357
#include "clang/Lex/HLSLRootSignatureTokenKinds.def"
5458
}
5559
return DB;

clang/lib/AST/ExprCXX.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1208,7 +1208,7 @@ CXXConstructExpr::CXXConstructExpr(
12081208

12091209
Stmt **TrailingArgs = getTrailingArgs();
12101210
llvm::copy(Args, TrailingArgs);
1211-
assert(llvm::all_of(Args, [](const Stmt *Arg) { return Arg != nullptr; }));
1211+
assert(!llvm::is_contained(Args, nullptr));
12121212

12131213
// CXXTemporaryObjectExpr does this itself after setting its TypeSourceInfo.
12141214
if (SC == CXXConstructExprClass)

0 commit comments

Comments
 (0)