Skip to content

Commit b84885a

Browse files
committed
Merge remote-tracking branch 'upstream/main' into map-ptr-array-section-using-attach-maptype
2 parents 9b1336c + d42a1d4 commit b84885a

File tree

1,516 files changed

+36223
-13976
lines changed

Some content is hidden

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

1,516 files changed

+36223
-13976
lines changed

.ci/utils.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ function at-exit {
2424
retcode=$?
2525

2626
mkdir -p artifacts
27+
sccache --show-stats
2728
sccache --show-stats >> artifacts/sccache_stats.txt
2829
cp "${BUILD_DIR}"/.ninja_log artifacts/.ninja_log
2930
cp "${MONOREPO_ROOT}"/*.log artifacts/ || :

.github/new-prs-labeler.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,6 @@ LTO:
9090
- llvm/lib/Transforms/*/FunctionImport*
9191
- llvm/tools/gold/**
9292

93-
mc:
94-
- llvm/*/MC/**
95-
9693
clang:driver:
9794
- clang/*/Driver/**
9895

@@ -621,6 +618,12 @@ llvm:adt:
621618
llvm:support:
622619
- llvm/**/Support/**
623620

621+
# Skip llvm/test/MC and llvm/unittests/MC, which includes target-specific directories.
622+
llvm:mc:
623+
- llvm/include/llvm/MC/**
624+
- llvm/lib/MC/**
625+
- llvm/tools/llvm-mc/**
626+
624627
llvm:transforms:
625628
- llvm/lib/Transforms/**
626629
- llvm/include/llvm/Transforms/**

.github/workflows/bazel-checks.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Bazel Checks
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
paths:
9+
- '.github/workflows/bazel-checks.yml'
10+
- 'utils/bazel/**'
11+
branches:
12+
- main
13+
pull_request:
14+
paths:
15+
- '.github/workflows/bazel-checks.yml'
16+
- 'utils/bazel/**'
17+
18+
jobs:
19+
buildifier:
20+
name: "Buildifier"
21+
runs-on: ubuntu-24.04
22+
if: github.repository == 'llvm/llvm-project'
23+
steps:
24+
- name: Fetch LLVM sources
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
26+
- name: Setup Buildifier
27+
run: |
28+
sudo curl -L https://github.com/bazelbuild/buildtools/releases/download/v8.2.1/buildifier-linux-amd64 -o /usr/bin/buildifier
29+
sudo chmod +x /usr/bin/buildifier
30+
- name: Run Buildifier
31+
run: |
32+
buildifier --mode=check $(find ./utils/bazel -name *BUILD*)

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ RUN curl -L 'https://github.com/mozilla/sccache/releases/download/v0.10.0/sccach
8181

8282
ENV LLVM_SYSROOT=$LLVM_SYSROOT
8383
ENV PATH=${LLVM_SYSROOT}/bin:${PATH}
84+
ENV CC=clang
85+
ENV CXX=clang++
8486

8587
# Create a new user to avoid test failures related to a lack of expected
8688
# permissions issues in some tests. Set the user id to 1001 as that is the

.github/workflows/spirv-tests.yml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ permissions:
44
contents: read
55

66
on:
7-
workflow_dispatch:
87
pull_request:
98
paths:
109
- 'llvm/lib/Target/SPIRV/**'
@@ -21,9 +20,27 @@ jobs:
2120
check_spirv:
2221
if: github.repository_owner == 'llvm'
2322
name: Test SPIR-V
24-
uses: ./.github/workflows/llvm-project-tests.yml
25-
with:
26-
build_target: check-llvm-codegen-spirv
27-
projects:
28-
extra_cmake_args: '-DLLVM_TARGETS_TO_BUILD="SPIRV" -DLLVM_INCLUDE_SPIRV_TOOLS_TESTS=ON'
29-
os_list: '["ubuntu-24.04"]'
23+
runs-on: ubuntu-24.04
24+
container:
25+
image: ghcr.io/llvm/ci-ubuntu-24.04:latest
26+
steps:
27+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
28+
- name: Setup ccache
29+
uses: hendrikmuhs/ccache-action@a1209f81afb8c005c13b4296c32e363431bffea5 # v1.2.17
30+
with:
31+
max-size: 2G
32+
key: spirv-ubuntu-24.04
33+
variant: sccache
34+
- name: Build and Test
35+
run: |
36+
mkdir build
37+
cmake -GNinja \
38+
-S llvm \
39+
-B build \
40+
-DCMAKE_BUILD_TYPE=Release \
41+
-DLLVM_ENABLE_ASSERTIONS=ON \
42+
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
43+
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
44+
-DLLVM_TARGETS_TO_BUILD="SPIRV" \
45+
-DLLVM_INCLUDE_SPIRV_TOOLS_TESTS=ON
46+
ninja -C build check-llvm-codegen-spirv

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ autoconf/autom4te.cache
5252
# CLion project configuration
5353
/.idea
5454
/cmake-build*
55+
# Coding assistants' stuff
56+
/CLAUDE.md
57+
/.claude/
58+
/GEMINI.md
59+
/.gemini/
5560

5661
#==============================================================================#
5762
# Directories to ignore (do not add trailing '/'s, they skip symlinks).

bolt/include/bolt/Core/MCPlusBuilder.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,10 @@ class MCPlusBuilder {
740740
return false;
741741
}
742742

743+
/// Return true if the hlt instruction under the x86, otherwise, default to
744+
/// false.
745+
virtual bool isX86HLT(const MCInst &Inst) const { return false; }
746+
743747
/// Return the width, in bytes, of the memory access performed by \p Inst, if
744748
/// this is a pop instruction. Return zero otherwise.
745749
virtual int getPopSize(const MCInst &Inst) const {

bolt/lib/Core/BinaryContext.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2517,7 +2517,7 @@ BinaryContext::calculateEmittedSize(BinaryFunction &BF, bool FixBranches) {
25172517
// Clean-up the effect of the code emission.
25182518
for (const MCSymbol &Symbol : Assembler.symbols()) {
25192519
MCSymbol *MutableSymbol = const_cast<MCSymbol *>(&Symbol);
2520-
MutableSymbol->setUndefined();
2520+
MutableSymbol->setFragment(nullptr);
25212521
MutableSymbol->setIsRegistered(false);
25222522
}
25232523

bolt/lib/Core/MCPlusBuilder.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,10 @@ bool MCPlusBuilder::equals(const MCSpecifierExpr &A, const MCSpecifierExpr &B,
132132
}
133133

134134
bool MCPlusBuilder::isTerminator(const MCInst &Inst) const {
135-
return Analysis->isTerminator(Inst) ||
136-
(opts::TerminalTrap && Info->get(Inst.getOpcode()).isTrap());
135+
return (opts::TerminalTrap && Info->get(Inst.getOpcode()).isTrap()) ||
136+
Analysis->isTerminator(Inst)
137+
? !isX86HLT(Inst)
138+
: false;
137139
}
138140

139141
void MCPlusBuilder::setTailCall(MCInst &Inst) const {

bolt/lib/Passes/BinaryPasses.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ Error CleanMCState::runOnFunctions(BinaryContext &BC) {
662662
if (S->isDefined()) {
663663
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: Symbol \"" << S->getName()
664664
<< "\" is already defined\n");
665-
const_cast<MCSymbol *>(S)->setUndefined();
665+
const_cast<MCSymbol *>(S)->setFragment(nullptr);
666666
}
667667
if (S->isRegistered()) {
668668
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: Symbol \"" << S->getName()

0 commit comments

Comments
 (0)