Skip to content

Commit 30c834a

Browse files
committed
LLVM and SPIRV-LLVM-Translator pulldown (WW04)
LLVM: llvm/llvm-project@c84b8be516bc SPIRV-LLVM-Translator: KhronosGroup/SPIRV-LLVM-Translator@984ce6e
2 parents 010c535 + 8aec433 commit 30c834a

File tree

3,726 files changed

+191892
-68383
lines changed

Some content is hidden

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

3,726 files changed

+191892
-68383
lines changed

.github/workflows/issue-subscriber.yml

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,16 @@ jobs:
1010
runs-on: ubuntu-latest
1111
if: github.repository == 'llvm/llvm-project'
1212
steps:
13+
- name: Setup Automation Script
14+
run: |
15+
curl -O -L https://raw.githubusercontent.com/$GITHUB_REPOSITORY/$GITHUB_SHA/llvm/utils/git/github-automation.py
16+
chmod a+x github-automation.py
17+
pip install PyGithub
18+
1319
- name: Update watchers
14-
uses: actions/github-script@v5
15-
with:
16-
github-token: ${{ secrets.ISSUE_MENTION_SECRET }}
17-
script: |
18-
const teamname = "issue-subscribers-" + context.payload.label.name.replace(/ /g, "-").replace(":","-").replace("/","-");
19-
const comment = "@llvm/" + teamname;
20-
try {
21-
// This will throw an exception if the team does not exist and no
22-
// comment will be created.
23-
team = await github.rest.teams.getByName({
24-
org: context.repo.owner,
25-
team_slug: teamname
26-
});
27-
github.rest.issues.createComment({
28-
issue_number: context.issue.number,
29-
owner: context.repo.owner,
30-
repo: context.repo.repo,
31-
body: comment
32-
});
33-
} catch (e){
34-
console.log(e);
35-
}
20+
run: |
21+
./github-automation.py \
22+
--token ${{ secrets.ISSUE_SUBSCRIBER_TOKEN }} \
23+
issue-subscriber \
24+
--issue-number ${{ github.event.issue.number }} \
25+
--label-name ${{ github.event.label.name }}

bolt/CMakeLists.txt

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
include(ExternalProject)
2+
3+
set(BOLT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
4+
set(BOLT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
5+
set(CMAKE_CXX_STANDARD 14)
6+
7+
set(BOLT_ENABLE_RUNTIME OFF)
8+
if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
9+
set(BOLT_ENABLE_RUNTIME ON)
10+
endif()
11+
12+
set(BOLT_CLANG_EXE "" CACHE FILEPATH "Path to clang executable for the target \
13+
architecture for use in BOLT tests")
14+
set(BOLT_LLD_EXE "" CACHE FILEPATH "Path to lld executable for the target \
15+
architecture for use in BOLT tests")
16+
17+
set(BOLT_INCLUDE_TESTS OFF)
18+
if (LLVM_INCLUDE_TESTS)
19+
if ("clang" IN_LIST LLVM_ENABLE_PROJECTS OR BOLT_CLANG_EXE)
20+
if ("clang" IN_LIST LLVM_ENABLE_PROJECTS AND BOLT_CLANG_EXE)
21+
message(WARNING "BOLT_CLANG_EXE is set and clang project is enabled. \
22+
BOLT_CLANG_EXE will be used for BOLT tests.")
23+
endif()
24+
if ("lld" IN_LIST LLVM_ENABLE_PROJECTS OR BOLT_LLD_EXE)
25+
if ("lld" IN_LIST LLVM_ENABLE_PROJECTS AND BOLT_LLD_EXE)
26+
message(WARNING "BOLT_LLD_EXE is set and lld project is enabled. \
27+
BOLT_LLD_EXE will be used for BOLT tests.")
28+
endif()
29+
set(BOLT_INCLUDE_TESTS ON)
30+
else()
31+
message(WARNING "Not including BOLT tests since lld is disabled. \
32+
Enable lld in LLVM_ENABLE_PROJECTS or provide a path to lld binary \
33+
in BOLT_LLD_EXE.")
34+
endif()
35+
else()
36+
message(WARNING "Not including BOLT tests since clang is disabled. \
37+
Enable clang in LLVM_ENABLE_PROJECTS or provide a path to clang \
38+
binary in BOLT_CLANG_EXE.")
39+
endif()
40+
endif()
41+
42+
if (BOLT_ENABLE_RUNTIME)
43+
message(STATUS "Building BOLT runtime libraries for X86")
44+
ExternalProject_Add(bolt_rt
45+
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/runtime"
46+
STAMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-stamps
47+
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins
48+
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
49+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
50+
-DCMAKE_BUILD_TYPE=Release
51+
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
52+
-DCMAKE_INSTALL_PREFIX=${LLVM_BINARY_DIR}
53+
BUILD_ALWAYS True
54+
)
55+
install(CODE "execute_process\(COMMAND \${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=\${CMAKE_INSTALL_PREFIX} -P ${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/cmake_install.cmake \)"
56+
COMPONENT bolt)
57+
add_llvm_install_targets(install-bolt_rt
58+
DEPENDS bolt_rt bolt
59+
COMPONENT bolt)
60+
endif()
61+
62+
# Get the current git revision for BOLT.
63+
find_program(git_executable NAMES git git.exe git.cmd)
64+
if (git_executable)
65+
execute_process(COMMAND ${git_executable} rev-parse HEAD
66+
WORKING_DIRECTORY ${LLVM_MAIN_SRC_DIR}
67+
TIMEOUT 5
68+
RESULT_VARIABLE git_result
69+
OUTPUT_VARIABLE git_output)
70+
if( git_result EQUAL 0 )
71+
string(STRIP "${git_output}" git_ref_id)
72+
set(BOLT_REVISION "${git_ref_id}")
73+
endif()
74+
endif()
75+
76+
# If we can't find a revision, set it to "<unknown>".
77+
if (NOT BOLT_REVISION)
78+
set(BOLT_REVISION "<unknown>")
79+
endif()
80+
81+
configure_file(
82+
${CMAKE_CURRENT_SOURCE_DIR}/include/bolt/Utils/BoltRevision.inc.in
83+
${CMAKE_CURRENT_BINARY_DIR}/include/bolt/Utils/BoltRevision.inc)
84+
85+
include_directories(
86+
${CMAKE_CURRENT_SOURCE_DIR}/include
87+
${CMAKE_CURRENT_BINARY_DIR}/include
88+
)
89+
90+
add_subdirectory(lib)
91+
add_subdirectory(tools)
92+
93+
if (BOLT_INCLUDE_TESTS)
94+
add_subdirectory(test)
95+
endif()
96+
97+
option(BOLT_INCLUDE_DOCS "Generate build targets for the BOLT docs."
98+
${LLVM_INCLUDE_DOCS})
99+
if (BOLT_INCLUDE_DOCS)
100+
add_subdirectory(docs)
101+
endif()

bolt/CODE_OWNERS.TXT

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
This file is a list of the people responsible for ensuring that patches for a
2+
particular part of BOLT are reviewed, either by themself or by someone else.
3+
They are also the gatekeepers for their part of BOLT, with the final word on
4+
what goes in or not.
5+
6+
The list is sorted by surname and formatted to allow easy grepping and
7+
beautification by scripts. The fields are: name (N), email (E), web-address
8+
(W), PGP key ID and fingerprint (P), description (D), snail-mail address
9+
(S) and (I) IRC handle. Each entry should contain at least the (N), (E) and
10+
(D) fields.
11+
12+
N: Maksim Panchenko, Rafael Auler
13+
14+
D: All parts not covered by someone else
15+
16+
N: Alexander Yermolovich
17+
18+
D: DWARF support
19+
20+
N: Vladislav Khmelevsky
21+
22+
D: AArch64 backend

0 commit comments

Comments
 (0)