Skip to content

Commit d30ece0

Browse files
SC llvm teamSC llvm team
authored andcommitted
Merged main:504cf554639360525c3f746e7296a242350b2af9 into amd-gfx:bcf59b0f678d
Local branch amd-gfx bcf59b0 Merged main:139e0aa68dc23d2aeec05de1ae05ebf2aa5fa11e into amd-gfx:e8d3cc99a1c9 Remote branch main 504cf55 [InstallAPI] Pass explicit module cache to avoid permissions issues.
2 parents bcf59b0 + 504cf55 commit d30ece0

File tree

817 files changed

+31408
-33642
lines changed

Some content is hidden

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

817 files changed

+31408
-33642
lines changed

.github/workflows/release-doxygen.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ jobs:
5656
pip3 install --user -r ./llvm/docs/requirements.txt
5757
5858
- name: Build Doxygen
59-
env:
60-
GITHUB_TOKEN: ${{ github.token }}
6159
run: |
6260
./llvm/utils/release/build-docs.sh -release "${{ inputs.release-version }}" -no-sphinx
6361
6462
- name: Upload Doxygen
6563
if: env.upload
64+
env:
65+
GITHUB_TOKEN: ${{ github.token }}
6666
run: |
6767
./llvm/utils/release/github-upload-release.py --token "$GITHUB_TOKEN" --release "${{ inputs.release-version }}" --user "${{ github.actor }}" upload --files ./*doxygen*.tar.xz

.github/workflows/release-tasks.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Release Task
22

33
permissions:
4-
contents: write
4+
contents: read
55

66
on:
77
push:
@@ -27,6 +27,8 @@ jobs:
2727
release-create:
2828
name: Create a New Release
2929
runs-on: ubuntu-latest
30+
permissions:
31+
contents: write # For creating the release.
3032
needs: validate-tag
3133

3234
steps:
@@ -55,6 +57,8 @@ jobs:
5557

5658
release-doxygen:
5759
name: Build and Upload Release Doxygen
60+
permissions:
61+
contents: write
5862
needs:
5963
- validate-tag
6064
- release-create
@@ -72,6 +76,8 @@ jobs:
7276

7377
release-binaries:
7478
name: Build Release Binaries
79+
permissions:
80+
contents: write
7581
needs:
7682
- validate-tag
7783
- release-create

bolt/lib/Passes/BinaryPasses.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -910,6 +910,11 @@ uint64_t SimplifyConditionalTailCalls::fixTailCalls(BinaryFunction &BF) {
910910
auto &CTCAnnotation =
911911
MIB->getOrCreateAnnotationAs<uint64_t>(*CondBranch, "CTCTakenCount");
912912
CTCAnnotation = CTCTakenFreq;
913+
// Preserve Offset annotation, used in BAT.
914+
// Instr is a direct tail call instruction that was created when CTCs are
915+
// first expanded, and has the original CTC offset set.
916+
if (std::optional<uint32_t> Offset = MIB->getOffset(*Instr))
917+
MIB->setOffset(*CondBranch, *Offset);
913918

914919
// Remove the unused successor which may be eliminated later
915920
// if there are no other users.

bolt/test/X86/sctc-bug4.test

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,29 @@
1-
# Check that fallthrough blocks are handled properly.
1+
# Check that fallthrough blocks are handled properly and Offset annotation is
2+
# set for conditional tail calls.
23

34
RUN: %clang %cflags %S/Inputs/sctc_bug4.s -o %t
4-
RUN: llvm-bolt %t -o %t.null \
5+
RUN: llvm-bolt %t -o %t.null --enable-bat \
56
RUN: -funcs=test_func -print-sctc -sequential-disassembly 2>&1 | FileCheck %s
67

78
CHECK: .Ltmp2 (3 instructions, align : 1)
89
CHECK-NEXT: CFI State : 0
10+
CHECK-NEXT: Input offset: 0x24
911
CHECK-NEXT: Predecessors: .LFT1
1012
CHECK-NEXT: 00000024: cmpq $0x20, %rsi
11-
CHECK-NEXT: 00000028: ja dummy # TAILCALL {{.*}}# CTCTakenCount: 0
13+
CHECK-NEXT: 00000028: ja dummy # TAILCALL # Offset: 53 # CTCTakenCount: 0
1214
CHECK-NEXT: 0000002a: jmp .Ltmp4
1315
CHECK-NEXT: Successors: .Ltmp4
1416
CHECK-NEXT: CFI State: 0
1517

1618
CHECK: .Ltmp1 (2 instructions, align : 1)
1719
CHECK-NEXT: CFI State : 0
20+
CHECK-NEXT: Input offset: 0x2c
1821
CHECK-NEXT: Predecessors: .LFT0
1922
CHECK-NEXT: 0000002c: xorq %r11, %rax
2023
CHECK-NEXT: 0000002f: retq
2124
CHECK-NEXT: CFI State: 0
2225

2326
CHECK: .Ltmp4 (4 instructions, align : 1)
2427
CHECK-NEXT: CFI State : 0
28+
CHECK-NEXT: Input offset: 0x3a
2529
CHECK-NEXT: Predecessors: .Ltmp2

clang-tools-extra/clang-tidy/ClangTidy.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -373,11 +373,11 @@ static CheckersList getAnalyzerCheckersAndPackages(ClangTidyContext &Context,
373373

374374
const auto &RegisteredCheckers =
375375
AnalyzerOptions::getRegisteredCheckers(IncludeExperimental);
376-
bool AnalyzerChecksEnabled = false;
377-
for (StringRef CheckName : RegisteredCheckers) {
378-
std::string ClangTidyCheckName((AnalyzerCheckNamePrefix + CheckName).str());
379-
AnalyzerChecksEnabled |= Context.isCheckEnabled(ClangTidyCheckName);
380-
}
376+
const bool AnalyzerChecksEnabled =
377+
llvm::any_of(RegisteredCheckers, [&](StringRef CheckName) -> bool {
378+
return Context.isCheckEnabled(
379+
(AnalyzerCheckNamePrefix + CheckName).str());
380+
});
381381

382382
if (!AnalyzerChecksEnabled)
383383
return List;

clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp

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

clang/docs/ClangOffloadBundler.rst

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ Where:
245245
object as a data section with the name ``.hip_fatbin``.
246246

247247
hipv4 Offload code object for the HIP language. Used for AMD GPU
248-
code objects with at least ABI version V4 when the
248+
code objects with at least ABI version V4 and above when the
249249
``clang-offload-bundler`` is used to create a *fat binary*
250250
to be loaded by the HIP runtime. The fat binary can be
251251
loaded directly from a file, or be embedded in the host code
@@ -254,6 +254,14 @@ Where:
254254
openmp Offload code object for the OpenMP language extension.
255255
============= ==============================================================
256256

257+
Note: The distinction between the `hip` and `hipv4` offload kinds is historically based.
258+
Originally, these designations might have indicated different versions of the
259+
code object ABI. However, as the system has evolved, the ABI version is now embedded
260+
directly within the code object itself, making these historical distinctions irrelevant
261+
during the unbundling process. Consequently, `hip` and `hipv4` are treated as compatible
262+
in current implementations, facilitating interchangeable handling of code objects
263+
without differentiation based on offload kind.
264+
257265
**target-triple**
258266
The target triple of the code object. See `Target Triple
259267
<https://clang.llvm.org/docs/CrossCompilation.html#target-triple>`_.
@@ -295,7 +303,7 @@ Compatibility Rules for Bundle Entry ID
295303
A code object, specified using its Bundle Entry ID, can be loaded and
296304
executed on a target processor, if:
297305

298-
* Their offload kinds are the same.
306+
* Their offload kinds are the same or comptible.
299307
* Their target triples are compatible.
300308
* Their Target IDs are compatible as defined in :ref:`compatibility-target-id`.
301309

clang/docs/LanguageExtensions.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1662,8 +1662,11 @@ The following type trait primitives are supported by Clang. Those traits marked
16621662
``T`` from ``U`` is ill-formed.
16631663
Deprecated, use ``__reference_constructs_from_temporary``.
16641664
* ``__reference_constructs_from_temporary(T, U)`` (C++)
1665-
Returns true if a reference ``T`` can be constructed from a temporary of type
1665+
Returns true if a reference ``T`` can be direct-initialized from a temporary of type
16661666
a non-cv-qualified ``U``.
1667+
* ``__reference_converts_from_temporary(T, U)`` (C++)
1668+
Returns true if a reference ``T`` can be copy-initialized from a temporary of type
1669+
a non-cv-qualified ``U``.
16671670
* ``__underlying_type`` (C++, GNU, Microsoft)
16681671

16691672
In addition, the following expression traits are supported:

clang/docs/ReleaseNotes.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,9 @@ C++23 Feature Support
182182

183183
- Implemented `P2448R2: Relaxing some constexpr restrictions <https://wg21.link/P2448R2>`_.
184184

185+
- Added a ``__reference_converts_from_temporary`` builtin, completing the necessary compiler support for
186+
`P2255R2: Type trait to determine if a reference binds to a temporary <https://wg21.link/P2255R2>`_.
187+
185188
C++2c Feature Support
186189
^^^^^^^^^^^^^^^^^^^^^
187190

@@ -703,6 +706,7 @@ Bug Fixes to C++ Support
703706
within initializers for variables that are usable in constant expressions or are constant
704707
initialized, rather than evaluating them as a part of the larger manifestly constant evaluated
705708
expression.
709+
- Fix a bug in access control checking due to dealyed checking of friend declaration. Fixes (#GH12361).
706710

707711
Bug Fixes to AST Handling
708712
^^^^^^^^^^^^^^^^^^^^^^^^^

0 commit comments

Comments
 (0)