Skip to content

Commit 5ddad65

Browse files
committed
Merge with Conflict Resolutions
CONFLICT (modify/delete): lld/test/ELF/arm-cmse-veneers.s deleted in HEAD and modified in origin/sycl-web. Version origin/sycl-web of lld/test/ELF/arm-cmse-veneers.s left in tree. CONFLICT (modify/delete): lld/test/ELF/arm-cmse-keep-sections.s deleted in HEAD and modified in origin/sycl-web. Version origin/sycl-web of lld/test/ELF/arm-cmse-keep-sections.s left in tree. CONFLICT (modify/delete): lld/test/ELF/arm-cmse-implib.s deleted in HEAD and modified in origin/sycl-web. Version origin/sycl-web of lld/test/ELF/arm-cmse-implib.s left in tree. CONFLICT (modify/delete): lld/test/ELF/arm-cmse-diagnostics.s deleted in HEAD and modified in origin/sycl-web. Version origin/sycl-web of lld/test/ELF/arm-cmse-diagnostics.s left in tree. CONFLICT (content): Merge conflict in lld/ELF/SyntheticSections.h CONFLICT (content): Merge conflict in lld/ELF/Arch/ARM.cpp
2 parents 5d1da25 + bac3a63 commit 5ddad65

File tree

8,663 files changed

+466034
-222552
lines changed

Some content is hidden

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

8,663 files changed

+466034
-222552
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/usr/bin/env bash
2+
#===----------------------------------------------------------------------===##
3+
#
4+
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5+
# See https://llvm.org/LICENSE.txt for license information.
6+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7+
#
8+
#===----------------------------------------------------------------------===##
9+
10+
#
11+
# This file generates a Buildkite pipeline that triggers the various CI jobs for
12+
# the LLVM project during pre-commit CI (each time a Phabricator diff is uploaded).
13+
#
14+
# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
15+
#
16+
17+
if ! git diff --name-only HEAD~1 | grep -q -E "^libcxx/|^libcxxabi/|^libunwind/|^runtimes/|^cmake/|^clang/"; then
18+
# libcxx/, libcxxabi/, libunwind/, runtimes/, cmake/ or clang/ are not affected
19+
exit 0
20+
fi
21+
22+
reviewID="$(git log --format=%B -n 1 | sed -nE 's/^Review-ID:[[:space:]]*(.+)$/\1/p')"
23+
if [[ "${reviewID}" != "" ]]; then
24+
buildMessage="https://llvm.org/${reviewID}"
25+
else
26+
buildMessage="Push to branch ${BUILDKITE_BRANCH}"
27+
fi
28+
29+
cat <<EOF
30+
steps:
31+
EOF
32+
33+
# If libc++ or one of the runtimes directories changed
34+
if git diff --name-only HEAD~1 | grep -q -E "^libcxx/|^libcxxabi/|^libunwind/|^runtimes/|^cmake/"; then
35+
cat <<EOF
36+
- trigger: "libcxx-ci"
37+
build:
38+
message: "${buildMessage}"
39+
commit: "${BUILDKITE_COMMIT}"
40+
branch: "${BUILDKITE_BRANCH}"
41+
EOF
42+
fi
43+
44+
# If clang changed
45+
if git diff --name-only HEAD~1 | grep -q -E "^clang/"; then
46+
cat <<EOF
47+
- trigger: "clang-ci"
48+
build:
49+
message: "${buildMessage}"
50+
commit: "${BUILDKITE_COMMIT}"
51+
branch: "${BUILDKITE_BRANCH}"
52+
EOF
53+
fi
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/usr/bin/env bash
2+
#===----------------------------------------------------------------------===##
3+
#
4+
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5+
# See https://llvm.org/LICENSE.txt for license information.
6+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7+
#
8+
#===----------------------------------------------------------------------===##
9+
10+
#
11+
# This file generates a Buildkite pipeline that triggers the various CI jobs for
12+
# the LLVM project on scheduled builds.
13+
#
14+
# See https://buildkite.com/docs/agent/v3/cli-pipeline#pipeline-format.
15+
#
16+
17+
cat <<EOF
18+
steps:
19+
- trigger: "libcxx-ci"
20+
build:
21+
message: "${BUILDKITE_MESSAGE}"
22+
commit: "${BUILDKITE_COMMIT}"
23+
branch: "${BUILDKITE_BRANCH}"
24+
25+
- trigger: "clang-ci"
26+
build:
27+
message: "${BUILDKITE_MESSAGE}"
28+
commit: "${BUILDKITE_COMMIT}"
29+
branch: "${BUILDKITE_BRANCH}"
30+
EOF

.git-blame-ignore-revs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,9 @@ f9008e6366c2496b1ca1785b891d5578174ad63e
5858

5959
# [libc++][NFC] Apply clang-format on large parts of the code base
6060
5aa03b648b827128d439f705cd7d57d59673741d
61+
62+
# [clang][NFC] Remove trailing whitespaces and enforce it in lib, include and docs
63+
f6d557ee34b6bbdb1dc32f29e34b4a4a8ad35e81
64+
65+
# [libc++][NFC] clang-format <shared_mutex>
66+
2d7eb9c9ea1a146412a83603d5c0c6339a5d8284

.github/workflows/closed-issues.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
name: Labeling closed issues
22
on:
3-
issues:
4-
types: ['closed']
3+
workflow_dispatch
4+
# issues:
5+
# types: ['closed']
56

67
permissions:
78
contents: read

bolt/include/bolt/Core/BinaryBasicBlock.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class BinaryBasicBlock {
103103
/// After output/codegen, map output offsets of instructions in this basic
104104
/// block to instruction offsets in the original function. Note that the
105105
/// output basic block could be different from the input basic block.
106-
/// We only map instruction of interest, such as calls, and sdt markers.
106+
/// We only map instruction of interest, such as calls and markers.
107107
///
108108
/// We store the offset array in a basic block to facilitate BAT tables
109109
/// generation. Otherwise, the mapping could be done at function level.

bolt/include/bolt/Core/BinaryContext.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include "llvm/MC/MCContext.h"
3030
#include "llvm/MC/MCObjectFileInfo.h"
3131
#include "llvm/MC/MCObjectWriter.h"
32-
#include "llvm/MC/MCPseudoProbe.h"
3332
#include "llvm/MC/MCSectionELF.h"
3433
#include "llvm/MC/MCSectionMachO.h"
3534
#include "llvm/MC/MCStreamer.h"
@@ -673,20 +672,10 @@ class BinaryContext {
673672
/// List of functions that always trap.
674673
std::vector<const BinaryFunction *> TrappedFunctions;
675674

676-
/// Map SDT locations to SDT markers info
677-
std::unordered_map<uint64_t, SDTMarkerInfo> SDTMarkers;
678-
679-
/// Map linux kernel program locations/instructions to their pointers in
680-
/// special linux kernel sections
681-
std::unordered_map<uint64_t, std::vector<LKInstructionMarkerInfo>> LKMarkers;
682-
683675
/// List of external addresses in the code that are not a function start
684676
/// and are referenced from BinaryFunction.
685677
std::list<std::pair<BinaryFunction *, uint64_t>> InterproceduralReferences;
686678

687-
/// PseudoProbe decoder
688-
MCPseudoProbeDecoder ProbeDecoder;
689-
690679
/// DWARF encoding. Available encoding types defined in BinaryFormat/Dwarf.h
691680
/// enum Constants, e.g. DW_EH_PE_omit.
692681
unsigned LSDAEncoding = dwarf::DW_EH_PE_omit;

bolt/include/bolt/Core/BinaryFunction.h

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -423,21 +423,6 @@ class BinaryFunction {
423423
return BB->getIndex();
424424
}
425425

426-
/// Return basic block that originally contained offset \p Offset
427-
/// from the function start.
428-
BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset);
429-
430-
const BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset) const {
431-
return const_cast<BinaryFunction *>(this)->getBasicBlockContainingOffset(
432-
Offset);
433-
}
434-
435-
/// Return basic block that started at offset \p Offset.
436-
BinaryBasicBlock *getBasicBlockAtOffset(uint64_t Offset) {
437-
BinaryBasicBlock *BB = getBasicBlockContainingOffset(Offset);
438-
return BB && BB->getOffset() == Offset ? BB : nullptr;
439-
}
440-
441426
/// Release memory taken by the list.
442427
template <typename T> BinaryFunction &clearList(T &List) {
443428
T TempList;
@@ -619,10 +604,6 @@ class BinaryFunction {
619604
Islands->CodeOffsets.emplace(Offset);
620605
}
621606

622-
/// Register secondary entry point at a given \p Offset into the function.
623-
/// Return global symbol for use by extern function references.
624-
MCSymbol *addEntryPointAtOffset(uint64_t Offset);
625-
626607
/// Register an internal offset in a function referenced from outside.
627608
void registerReferencedOffset(uint64_t Offset) {
628609
ExternallyReferencedOffsets.emplace(Offset);
@@ -900,6 +881,21 @@ class BinaryFunction {
900881
return LabelToBB.lookup(Label);
901882
}
902883

884+
/// Return basic block that originally contained offset \p Offset
885+
/// from the function start.
886+
BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset);
887+
888+
const BinaryBasicBlock *getBasicBlockContainingOffset(uint64_t Offset) const {
889+
return const_cast<BinaryFunction *>(this)->getBasicBlockContainingOffset(
890+
Offset);
891+
}
892+
893+
/// Return basic block that started at offset \p Offset.
894+
BinaryBasicBlock *getBasicBlockAtOffset(uint64_t Offset) {
895+
BinaryBasicBlock *BB = getBasicBlockContainingOffset(Offset);
896+
return BB && BB->getOffset() == Offset ? BB : nullptr;
897+
}
898+
903899
/// Retrieve the landing pad BB associated with invoke instruction \p Invoke
904900
/// that is in \p BB. Return nullptr if none exists
905901
BinaryBasicBlock *getLandingPadBBFor(const BinaryBasicBlock &BB,
@@ -1445,6 +1441,10 @@ class BinaryFunction {
14451441
/// symbol associated with the entry.
14461442
MCSymbol *addEntryPoint(const BinaryBasicBlock &BB);
14471443

1444+
/// Register secondary entry point at a given \p Offset into the function.
1445+
/// Return global symbol for use by extern function references.
1446+
MCSymbol *addEntryPointAtOffset(uint64_t Offset);
1447+
14481448
/// Mark all blocks that are unreachable from a root (entry point
14491449
/// or landing pad) as invalid.
14501450
void markUnreachableBlocks();
@@ -1702,6 +1702,8 @@ class BinaryFunction {
17021702
/// Indicate that another function body was merged with this function.
17031703
void setHasFunctionsFoldedInto() { HasFunctionsFoldedInto = true; }
17041704

1705+
void setHasSDTMarker(bool V) { HasSDTMarker = V; }
1706+
17051707
BinaryFunction &setPersonalityFunction(uint64_t Addr) {
17061708
assert(!PersonalityFunction && "can't set personality function twice");
17071709
PersonalityFunction = BC.getOrCreateGlobalSymbol(Addr, "FUNCat");

bolt/include/bolt/Core/BinarySection.h

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -509,27 +509,6 @@ inline raw_ostream &operator<<(raw_ostream &OS, const BinarySection &Section) {
509509
return OS;
510510
}
511511

512-
struct SDTMarkerInfo {
513-
uint64_t PC;
514-
uint64_t Base;
515-
uint64_t Semaphore;
516-
StringRef Provider;
517-
StringRef Name;
518-
StringRef Args;
519-
520-
/// The offset of PC within the note section
521-
unsigned PCOffset;
522-
};
523-
524-
/// Linux Kernel special sections point to a specific instruction in many cases.
525-
/// Unlike SDTMarkerInfo, these markers can come from different sections.
526-
struct LKInstructionMarkerInfo {
527-
uint64_t SectionOffset;
528-
int32_t PCRelativeOffset;
529-
bool IsPCRelative;
530-
StringRef SectionName;
531-
};
532-
533512
} // namespace bolt
534513
} // namespace llvm
535514

0 commit comments

Comments
 (0)