Skip to content

Commit cca0f21

Browse files
committed
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4 [skip ci]
2 parents 01d969a + e419084 commit cca0f21

File tree

7,604 files changed

+321739
-130530
lines changed

Some content is hidden

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

7,604 files changed

+321739
-130530
lines changed

.arcconfig

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

.arclint

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

.ci/generate-buildkite-pipeline-premerge

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ function compute-projects-to-test() {
6868
done
6969
;;
7070
clang)
71-
for p in clang-tools-extra compiler-rt flang libc lldb openmp cross-project-tests; do
71+
for p in clang-tools-extra compiler-rt flang lldb cross-project-tests; do
7272
echo $p
7373
done
7474
;;
@@ -224,7 +224,7 @@ fi
224224
# needs while letting them run on the infrastructure provided by LLVM.
225225

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

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

.ci/monolithic-linux.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,4 @@ cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
5454

5555
echo "--- ninja"
5656
# Targets are not escaped as they are passed as separate arguments.
57-
ninja -C "${BUILD_DIR}" ${targets}
57+
ninja -C "${BUILD_DIR}" -k 0 ${targets}

.ci/monolithic-windows.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,4 @@ cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
6262

6363
echo "--- ninja"
6464
# Targets are not escaped as they are passed as separate arguments.
65-
ninja -C "${BUILD_DIR}" ${targets}
65+
ninja -C "${BUILD_DIR}" -k 0 ${targets}

.clang-tidy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-const-correctness,-misc-unused-parameters,-misc-non-private-member-variables-in-classes,-misc-no-recursion,-misc-use-anonymous-namespace,readability-identifier-naming'
1+
Checks: '-*,clang-diagnostic-*,llvm-*,misc-*,-misc-const-correctness,-misc-unused-parameters,-misc-non-private-member-variables-in-classes,-misc-no-recursion,-misc-use-anonymous-namespace,readability-identifier-naming,-misc-include-cleaner'
22
CheckOptions:
33
- key: readability-identifier-naming.ClassCase
44
value: CamelCase

.github/CODEOWNERS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,14 @@
2727
/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp @nikic
2828
/llvm/lib/Transforms/InstCombine/ @nikic
2929

30+
/clang/include/clang/Sema/Sema.h @Endilll
3031
/clang/test/CXX/drs/ @Endilll
3132
/clang/www/cxx_dr_status.html @Endilll
3233
/clang/www/make_cxx_dr_status @Endilll
3334

35+
clang/lib/AST/Interp/ @tbaederr
36+
clang/test/AST/Interp/ @tbaederr
37+
3438
/lldb/ @JDevlieghere
3539

3640
# MLIR Interfaces.

.github/new-prs-labeler.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,9 @@ backend:SystemZ:
869869
third-party:unittests:
870870
- third-party/unittests/**
871871

872+
third-party:benchmark:
873+
- third-party/benchmark/**
874+
872875
llvm:binary-utilities:
873876
- llvm/docs/CommandGuide/llvm-*
874877
- llvm/include/llvm/BinaryFormat/**

.github/workflows/build-ci-container.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,18 @@ jobs:
7777
cp ./.github/workflows/containers/github-action-ci/storage.conf ~/.config/containers/storage.conf
7878
podman info
7979
80+
# Download the container image into /mnt/podman rather than
81+
# $GITHUB_WORKSPACE to avoid space limitations on the default drive
82+
# and use the permissions setup for /mnt/podman.
8083
- name: Download stage1-toolchain
8184
uses: actions/download-artifact@v4
8285
with:
8386
name: stage1-toolchain
87+
path: /mnt/podman
8488

8589
- name: Load stage1-toolchain
8690
run: |
87-
podman load -i stage1-toolchain.tar
91+
podman load -i /mnt/podman/stage1-toolchain.tar
8892
8993
- name: Build Container
9094
working-directory: ./.github/workflows/containers/github-action-ci/

.github/workflows/containers/github-action-ci/stage2.Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ COPY --from=stage2-toolchain $LLVM_SYSROOT $LLVM_SYSROOT
1212
# Need to install curl for hendrikmuhs/ccache-action
1313
# Need nodejs for some of the GitHub actions.
1414
# Need perl-modules for clang analyzer tests.
15+
# Need git for SPIRV-Tools tests.
1516
RUN apt-get update && \
1617
apt-get install -y \
1718
binutils \
1819
cmake \
1920
curl \
21+
git \
2022
libstdc++-11-dev \
2123
ninja-build \
2224
nodejs \

.github/workflows/issue-release-workflow.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,5 @@ jobs:
6565
release-workflow \
6666
--branch-repo-token ${{ secrets.RELEASE_WORKFLOW_PUSH_SECRET }} \
6767
--issue-number ${{ github.event.issue.number }} \
68-
--requested-by ${{ github.event.issue.user.login }} \
68+
--requested-by ${{ (github.event.action == 'opened' && github.event.issue.user.login) || github.event.comment.user.login }} \
6969
auto

.github/workflows/llvm-project-tests.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,11 @@ jobs:
118118
else
119119
builddir="$(pwd)"/build
120120
fi
121+
if [ "${{ runner.os }}" == "macOS" ]; then
122+
# Workaround test failure on some lld tests on MacOS
123+
# https://github.com/llvm/llvm-project/issues/81967
124+
extra_cmake_args="-DLLVM_DISABLE_ASSEMBLY_FILES=ON"
125+
fi
121126
echo "llvm-builddir=$builddir" >> "$GITHUB_OUTPUT"
122127
cmake -G Ninja \
123128
-B "$builddir" \

.github/workflows/release-binaries.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
prepare:
3636
name: Prepare to build binaries
3737
runs-on: ubuntu-22.04
38+
if: github.repository == 'llvm/llvm-project'
3839
outputs:
3940
release-version: ${{ steps.vars.outputs.release-version }}
4041
flags: ${{ steps.vars.outputs.flags }}
@@ -47,11 +48,16 @@ jobs:
4748
- name: Checkout LLVM
4849
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
4950

51+
- name: Install Dependencies
52+
run: |
53+
pip install -r ./llvm/utils/git/requirements.txt
54+
5055
- name: Check Permissions
5156
env:
5257
GITHUB_TOKEN: ${{ github.token }}
58+
USER_TOKEN: ${{ secrets.RELEASE_TASKS_USER_TOKEN }}
5359
run: |
54-
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user ${{ github.actor }} check-permissions
60+
./llvm/utils/release/./github-upload-release.py --token "$GITHUB_TOKEN" --user ${{ github.actor }} --user-token "$USER_TOKEN" check-permissions
5561
5662
- name: Collect Variables
5763
id: vars
@@ -65,8 +71,8 @@ jobs:
6571
# | X.Y.Z | -final
6672
run: |
6773
tag="${{ github.ref_name }}"
68-
trimmed=$(echo ${{ inputs.tag }} | xargs)
69-
[[ "$trimmed" != "" ]] && tag="$trimmed"
74+
trimmed=$(echo ${{ inputs.release-version }} | xargs)
75+
[[ "$trimmed" != "" ]] && tag="llvmorg-$trimmed"
7076
if [ "$tag" = "main" ]; then
7177
# If tag is main, then we've been triggered by a scheduled so pass so
7278
# use the head commit as the tag.
@@ -85,6 +91,7 @@ jobs:
8591
name: "Fill Cache ${{ matrix.os }}"
8692
needs: prepare
8793
runs-on: ${{ matrix.os }}
94+
if: github.repository == 'llvm/llvm-project'
8895
strategy:
8996
matrix:
9097
os:
@@ -119,6 +126,7 @@ jobs:
119126
- prepare
120127
- fill-cache
121128
runs-on: ${{ matrix.target.runs-on }}
129+
if: github.repository == 'llvm/llvm-project'
122130
strategy:
123131
fail-fast: false
124132
matrix:

bolt/include/bolt/Core/BinaryContext.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,10 @@ class BinaryContext {
997997
return getUniqueSectionByName(".gdb_index");
998998
}
999999

1000+
ErrorOr<BinarySection &> getDebugNamesSection() const {
1001+
return getUniqueSectionByName(".debug_names");
1002+
}
1003+
10001004
/// @}
10011005

10021006
/// Register \p TargetFunction as a fragment of \p Function if checks pass:

bolt/include/bolt/Core/BinaryFunction.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2056,6 +2056,14 @@ class BinaryFunction {
20562056
/// Returns false if disassembly failed.
20572057
Error disassemble();
20582058

2059+
/// An external interface to register a branch while the function is in
2060+
/// disassembled state. Allows to make custom modifications to the
2061+
/// disassembler. E.g., a pre-CFG pass can add an instruction and register
2062+
/// a branch that will later be used during the CFG construction.
2063+
///
2064+
/// Return a label at the branch destination.
2065+
MCSymbol *registerBranch(uint64_t Src, uint64_t Dst);
2066+
20592067
Error handlePCRelOperand(MCInst &Instruction, uint64_t Address,
20602068
uint64_t Size);
20612069

bolt/include/bolt/Core/DIEBuilder.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#define BOLT_CORE_DIE_BUILDER_H
1717

1818
#include "bolt/Core/BinaryContext.h"
19+
#include "bolt/Core/DebugNames.h"
1920
#include "llvm/CodeGen/DIE.h"
2021
#include "llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h"
2122
#include "llvm/DebugInfo/DWARF/DWARFDie.h"
@@ -127,6 +128,7 @@ class DIEBuilder {
127128
DWARFUnit *SkeletonCU{nullptr};
128129
uint64_t UnitSize{0};
129130
llvm::DenseSet<uint64_t> AllProcessed;
131+
DWARF5AcceleratorTable &DebugNamesTable;
130132

131133
/// Returns current state of the DIEBuilder
132134
State &getState() { return *BuilderState.get(); }
@@ -206,8 +208,8 @@ class DIEBuilder {
206208
/// Update references once the layout is finalized.
207209
void updateReferences();
208210

209-
/// Update the Offset and Size of DIE.
210-
uint32_t computeDIEOffset(const DWARFUnit &CU, DIE &Die, uint32_t &CurOffset);
211+
/// Update the Offset and Size of DIE, populate DebugNames table.
212+
uint32_t finalizeDIEs(DWARFUnit &CU, DIE &Die, uint32_t &CurOffset);
211213

212214
void registerUnit(DWARFUnit &DU, bool NeedSort);
213215

@@ -269,6 +271,7 @@ class DIEBuilder {
269271

270272
public:
271273
DIEBuilder(BinaryContext &BC, DWARFContext *DwarfContext,
274+
DWARF5AcceleratorTable &DebugNamesTable,
272275
DWARFUnit *SkeletonCU = nullptr);
273276

274277
/// Returns enum to what we are currently processing.

bolt/include/bolt/Core/DebugData.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,8 @@ class DebugStrOffsetsWriter {
439439
/// Update Str offset in .debug_str in .debug_str_offsets.
440440
void updateAddressMap(uint32_t Index, uint32_t Address);
441441

442+
/// Get offset for given index in original .debug_str_offsets section.
443+
uint64_t getOffset(uint32_t Index) const { return StrOffsets[Index]; }
442444
/// Writes out current sections entry into .debug_str_offsets.
443445
void finalizeSection(DWARFUnit &Unit, DIEBuilder &DIEBldr);
444446

@@ -463,7 +465,7 @@ class DebugStrOffsetsWriter {
463465
std::unique_ptr<DebugStrOffsetsBufferVector> StrOffsetsBuffer;
464466
std::unique_ptr<raw_svector_ostream> StrOffsetsStream;
465467
std::map<uint32_t, uint32_t> IndexToAddressMap;
466-
std::vector<uint32_t> StrOffsets;
468+
SmallVector<uint32_t, 5> StrOffsets;
467469
std::unordered_map<uint64_t, uint64_t> ProcessedBaseOffsets;
468470
bool StrOffsetSectionWasModified = false;
469471
};
@@ -484,11 +486,12 @@ class DebugStrWriter {
484486
/// Returns False if no strings were added to .debug_str.
485487
bool isInitialized() const { return !StrBuffer->empty(); }
486488

489+
/// Initializes Buffer and Stream.
490+
void initialize();
491+
487492
private:
488493
/// Mutex used for parallel processing of debug info.
489494
std::mutex WriterMutex;
490-
/// Initializes Buffer and Stream.
491-
void initialize();
492495
/// Creates internal data structures.
493496
void create();
494497
std::unique_ptr<DebugStrBufferVector> StrBuffer;

0 commit comments

Comments
 (0)