Skip to content

Commit 06bd6bc

Browse files
committed
LLVM and SPIRV-LLVM-Translator pulldown (WW15 2024)
LLVM: llvm/llvm-project@89ba7e1 SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@a705167
2 parents 296ae52 + 099d896 commit 06bd6bc

File tree

1,877 files changed

+91285
-60502
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,877 files changed

+91285
-60502
lines changed

.github/workflows/libcxx-build-and-test.yaml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ env:
3838
# LLVM POST-BRANCH bump version
3939
# LLVM POST-BRANCH add compiler test for ToT - 1, e.g. "Clang 17"
4040
# LLVM RELEASE bump remove compiler ToT - 3, e.g. "Clang 15"
41-
LLVM_HEAD_VERSION: "18" # Used compiler, update POST-BRANCH.
42-
LLVM_PREVIOUS_VERSION: "17"
43-
LLVM_OLDEST_VERSION: "16"
41+
LLVM_HEAD_VERSION: "19" # Used compiler, update POST-BRANCH.
42+
LLVM_PREVIOUS_VERSION: "18"
43+
LLVM_OLDEST_VERSION: "17"
4444
GCC_STABLE_VERSION: "13"
45-
LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-18"
45+
LLVM_SYMBOLIZER_PATH: "/usr/bin/llvm-symbolizer-19"
4646
CLANG_CRASH_DIAGNOSTICS_DIR: "crash_diagnostics"
4747

4848

@@ -59,8 +59,8 @@ jobs:
5959
'generic-cxx26',
6060
'generic-modules'
6161
]
62-
cc: [ 'clang-18' ]
63-
cxx: [ 'clang++-18' ]
62+
cc: [ 'clang-19' ]
63+
cxx: [ 'clang++-19' ]
6464
clang_tidy: [ 'ON' ]
6565
include:
6666
- config: 'generic-gcc'
@@ -100,22 +100,22 @@ jobs:
100100
'generic-cxx20',
101101
'generic-cxx23'
102102
]
103-
cc: [ 'clang-18' ]
104-
cxx: [ 'clang++-18' ]
103+
cc: [ 'clang-19' ]
104+
cxx: [ 'clang++-19' ]
105105
clang_tidy: [ 'ON' ]
106106
include:
107107
- config: 'generic-gcc-cxx11'
108108
cc: 'gcc-13'
109109
cxx: 'g++-13'
110110
clang_tidy: 'OFF'
111-
- config: 'generic-cxx23'
112-
cc: 'clang-16'
113-
cxx: 'clang++-16'
114-
clang_tidy: 'OFF'
115111
- config: 'generic-cxx23'
116112
cc: 'clang-17'
117113
cxx: 'clang++-17'
118114
clang_tidy: 'OFF'
115+
- config: 'generic-cxx26'
116+
cc: 'clang-18'
117+
cxx: 'clang++-18'
118+
clang_tidy: 'ON'
119119
steps:
120120
- uses: actions/checkout@v4
121121
- name: ${{ matrix.config }}
@@ -186,8 +186,8 @@ jobs:
186186
- name: ${{ matrix.config }}
187187
run: libcxx/utils/ci/run-buildbot ${{ matrix.config }}
188188
env:
189-
CC: clang-18
190-
CXX: clang++-18
189+
CC: clang-19
190+
CXX: clang++-19
191191
ENABLE_CLANG_TIDY: "OFF"
192192
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
193193
if: always()

.github/workflows/release-lit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
cd llvm/utils/lit
5959
# Remove 'dev' suffix from lit version.
6060
sed -i 's/ + "dev"//g' lit/__init__.py
61-
python3 setup.py sdist
61+
python3 setup.py sdist bdist_wheel
6262
6363
- name: Upload lit to test.pypi.org
6464
uses: pypa/gh-action-pypi-publish@release/v1

bolt/include/bolt/Profile/BoltAddressTranslation.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <unordered_map>
2020

2121
namespace llvm {
22+
class MCSymbol;
2223
class raw_ostream;
2324

2425
namespace object {
@@ -123,6 +124,13 @@ class BoltAddressTranslation {
123124
std::unordered_map<uint32_t, std::vector<uint32_t>>
124125
getBFBranches(uint64_t FuncOutputAddress) const;
125126

127+
/// For a given \p Symbol in the output binary and known \p InputOffset
128+
/// return a corresponding pair of parent BinaryFunction and secondary entry
129+
/// point in it.
130+
std::pair<const BinaryFunction *, unsigned>
131+
translateSymbol(const BinaryContext &BC, const MCSymbol &Symbol,
132+
uint32_t InputOffset) const;
133+
126134
private:
127135
/// Helper to update \p Map by inserting one or more BAT entries reflecting
128136
/// \p BB for function located at \p FuncAddress. At least one entry will be
@@ -158,6 +166,10 @@ class BoltAddressTranslation {
158166
/// Map a function to its secondary entry points vector
159167
std::unordered_map<uint64_t, std::vector<uint32_t>> SecondaryEntryPointsMap;
160168

169+
/// Return a secondary entry point ID for a function located at \p Address and
170+
/// \p Offset within that function.
171+
unsigned getSecondaryEntryPointId(uint64_t Address, uint32_t Offset) const;
172+
161173
/// Links outlined cold bocks to their original function
162174
std::map<uint64_t, uint64_t> ColdPartSource;
163175

bolt/include/bolt/Profile/YAMLProfileWriter.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
namespace llvm {
1717
namespace bolt {
18+
class BoltAddressTranslation;
1819
class RewriteInstance;
1920

2021
class YAMLProfileWriter {
@@ -31,8 +32,16 @@ class YAMLProfileWriter {
3132
/// Save execution profile for that instance.
3233
std::error_code writeProfile(const RewriteInstance &RI);
3334

34-
static yaml::bolt::BinaryFunctionProfile convert(const BinaryFunction &BF,
35-
bool UseDFS);
35+
static yaml::bolt::BinaryFunctionProfile
36+
convert(const BinaryFunction &BF, bool UseDFS,
37+
const BoltAddressTranslation *BAT = nullptr);
38+
39+
/// Set CallSiteInfo destination fields from \p Symbol and return a target
40+
/// BinaryFunction for that symbol.
41+
static const BinaryFunction *
42+
setCSIDestination(const BinaryContext &BC, yaml::bolt::CallSiteInfo &CSI,
43+
const MCSymbol *Symbol, const BoltAddressTranslation *BAT,
44+
uint32_t Offset = 0);
3645
};
3746

3847
} // namespace bolt

0 commit comments

Comments
 (0)