Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Commit eaf7c1d

Browse files
committed
Update llpc from commit c3573fc3
SPIRVReader: add support of int4 in vector relevant ops llvmraytracing: Improve rematerialization heuristic lgc: Remove getTypeSizeInBytes() in InitializeWorkgroupMemory Refactor coherent/volatile [Continuations] Generate init.whole.wave in lgc Add Convergent to ImageSample instruction lgc: Don't lift readfirstlane across convergent operations [llvmraytracing] Share CPS scheduling level with GPURT Emulate v_dot2_bf16_bf16 on Gfx11 [llvmraytracing] Some cleanups Rework mesh shader attribute export cmake: Updates for standalone compiler build [lgc] Re-enable two gfx10 cooperative matrix tests Support the output of array type when autoLayoutDesc lgc: Add llvm sched strategy option [llvmraytracing] Add dummy hitattrs + padding + payload arguments to RayGen shaders Update API for new LLVM upstream [llvmraytracing] Fix issue in LowerRaytracingPipelinePass::extendArgumentStruct uniform constant is readonly memory Rework vertex exports in NGG Vulkan Global Buffer use for CPS Fix amdllpc crash when compile mesh shader Enable LLVM_OPTIMIZED_TABLEGEN for multi-config generators Fix to make LLPC_BUILD_ vars globally visible Prepare tests for entry_point metadata change Add subgroupShuffle amber tests [llvmraytracing] Add support for _AmdTraceRayMakePC [lgcdis] add function to disassemble a single symbol from ELF vkgc: Add missing RtIpVersion comparison operator [llvmraytracing] Move 'Do not autogenerate' hint [llvmraytracing] Don't pass local variables into visitor payload Fix build error for ShaderDbg Fix bug in lgc CreateSubgroupClusteredReduction Update update_llpc_test_checks.py compilerutils: handle GlobalVariables compilerutils: Add helpers that work in gdb [llvmraytracing] Move lowering of AmdGetShaderKind [lgcdis] add error recovery support Fix GFX11 GDS synchronization issue lgc: Fix compiler warning [lgcdis] remove unnecessary output when disassembling a single symbol Store mesh outputs to allocas if possible Cmake: LLPC_ENABLE_WERROR tidy-up [llvmraytracing] Test update Fix YCBCrSampler Add native llvm-dialects-tblgen for cross-compiling Fix tessellation I/O with read-back-only outputs Clear mesh outputComponents if outputLocInfoMap is empty Caclulate the PM4 CRC with the generated SP3 Fix deprecation compiler warnings [llvmraytracing] Move BB label helpers to CompilerUtils [llvmraytracing] Rename `CompilerUtils` namespace Add Strix Halo support
1 parent 6222f1f commit eaf7c1d

File tree

1,646 files changed

+30645
-6676
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,646 files changed

+30645
-6676
lines changed

CMakeLists.txt

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,24 @@
2323
#
2424
#######################################################################################################################
2525

26+
#
27+
# CMake file for top level of LLPC repository.
28+
#
29+
# Some variables that the client might set for enabling components:
30+
#
31+
# - ICD_BUILD_LLPC: Enable LLPC on Vulkan and OGLP.
32+
#
33+
#
34+
#
35+
#
36+
#
37+
2638
cmake_minimum_required(VERSION 3.21)
2739

2840
project(LLPCrepo LANGUAGES C CXX)
2941

42+
set(LLPC_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
43+
3044
### Standalone LLPC build handling
3145
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
3246
include(cmake/CompilerStandalone.cmake)
@@ -38,6 +52,8 @@ endif()
3852
include(cmake/llpc_version.cmake)
3953
add_llpc_version_projects()
4054

55+
include(CMakeDependentOption)
56+
4157
### Cached Project Options #############################################################################################
4258
option(LLPC_BUILD_TOOLS "LLPC build all tools" OFF)
4359

@@ -51,6 +67,8 @@ option(LLPC_AMD_YUV_IMAGE "Build with AMD_YUV_IMAGE" OFF)
5167
option(LLPC_AMD_LVR_INTEROP "Build with AMD_LVR_INTEROP" OFF)
5268
#endif
5369

70+
cmake_dependent_option(LLPC_SHAREDME_XDL_BUILD_TEST "Build tests for xdl." ON "LLPC_BUILD_TOOLS" OFF)
71+
5472
### VKGC aspects ###################################################################
5573
# For drivers that use VKGC, as the interface to the LLPC front-end
5674
if (FALSE
@@ -59,11 +77,12 @@ if (FALSE
5977
include("cmake/vkgc.cmake")
6078
endif()
6179

62-
### LGC for LLPC ###################################################################
80+
### LLPC dependencies ##############################################################
6381
if (ICD_BUILD_LLPC)
64-
# Add LGC and its dependencies as LLVM external projects for LLPC to use.
65-
include("cmake/lgc.cmake")
66-
add_lgc_projects()
82+
# Add LLPC's dependencies (including LGC) as LLVM external projects. This needs
83+
# to be done before LLVM, whereas LLPC itself needs to be done after LLVM.
84+
include("cmake/llpcdeps.cmake")
85+
add_llpcdeps_projects()
6786
endif()
6887

6988
### LLVM ###########################################################################
@@ -153,23 +172,13 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
153172
set_property(TARGET llvm-dialects-example PROPERTY FOLDER Misc)
154173
endif()
155174
if (NOT WIN32 AND LLVM_OPTIMIZED_TABLEGEN)
156-
#if _WIN32
157-
# These targets don't exist on Windows when CMake is first invoked.
158-
# They are created later at build time, when the cross-compilation takes place.
159-
#endif
160175
set_property(TARGET llvm_nm_target PROPERTY FOLDER Misc)
161176
set_property(TARGET llvm_readobj_target PROPERTY FOLDER Misc)
162177
set_property(TARGET llvm-min-tblgen-host PROPERTY FOLDER Misc)
163178
set_property(TARGET llvm-tblgen-host PROPERTY FOLDER Misc)
164179
set_property(TARGET CONFIGURE_LLVM_NATIVE PROPERTY FOLDER Misc)
165180
set_property(TARGET CREATE_LLVM_NATIVE PROPERTY FOLDER Misc)
166181
endif()
167-
#if _WIN32
168-
if(MSVC)
169-
# The 32-bit llvm-tblgen can easily run out of memory. Tell the linker to allow addresses larger than 2GB.
170-
set_property(TARGET llvm-tblgen PROPERTY LINK_FLAGS "/LARGEADDRESSAWARE")
171-
endif()
172-
#endif
173182
if (LLPC_BUILD_TESTS)
174183
if(NOT LLPC_IS_STANDALONE)
175184
set_property(TARGET check-amber PROPERTY FOLDER "LLPC Tests")
@@ -181,4 +190,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
181190
set_property(TARGET check-lgc-units PROPERTY FOLDER "LGC Tests")
182191
endif()
183192
endif()
193+
194+
if (TARGET llvm-tblgen)
195+
# The 32-bit llvm-tblgen can easily run out of memory. Tell the linker to allow addresses larger than 2GB.
196+
set_property(TARGET llvm-tblgen PROPERTY LINK_FLAGS "/LARGEADDRESSAWARE")
197+
endif()
198+
184199
endif()

cmake/CompilerFlags.cmake

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
##
22
#######################################################################################################################
33
#
4-
# Copyright (c) 2024 Advanced Micro Devices, Inc. All Rights Reserved.
4+
# Copyright (c) 2024-2025 Advanced Micro Devices, Inc. All Rights Reserved.
55
#
66
# Permission is hereby granted, free of charge, to any person obtaining a copy
77
# of this software and associated documentation files (the "Software"), to
@@ -23,14 +23,24 @@
2323
#
2424
#######################################################################################################################
2525

26-
function(set_compiler_options PROJECT_NAME ENABLE_WERROR)
26+
option(LLPC_ENABLE_WERROR "Build LLPC with more errors" OFF)
27+
28+
# Function to set standard compiler options on the specified target.
29+
# There is an optional second arg to specify whether to apply -Werror; if the arg is not given,
30+
# then that is controlled by LLPC_ENABLE_WERROR.
31+
function(set_compiler_options PROJECT_NAME)
2732
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20)
2833
set_target_properties(${PROJECT_NAME} PROPERTIES
2934
CXX_STANDARD 20
3035
CXX_STANDARD_REQUIRED ON
3136
CXX_EXTENSIONS OFF
3237
POSITION_INDEPENDENT_CODE ON)
3338

39+
set(ENABLE_WERROR "${ARGN}")
40+
if("${ENABLE_WERROR}" STREQUAL "")
41+
set(ENABLE_WERROR "${LLPC_ENABLE_WERROR}")
42+
endif()
43+
3444
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
3545
if(ENABLE_WERROR)
3646
target_compile_options("${PROJECT_NAME}" PRIVATE

cmake/CompilerStandalone.cmake

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
##
22
#######################################################################################################################
33
#
4-
# Copyright (c) 2021-2024 Advanced Micro Devices, Inc. All Rights Reserved.
4+
# Copyright (c) 2021-2025 Advanced Micro Devices, Inc. All Rights Reserved.
55
#
66
# Permission is hereby granted, free of charge, to any person obtaining a copy
77
# of this software and associated documentation files (the "Software"), to
@@ -29,48 +29,54 @@ if(COMMAND cmake_policy)
2929
cmake_policy(SET CMP0003 NEW)
3030
endif(COMMAND cmake_policy)
3131

32-
set(ICD_BUILD_LLPC ON)
33-
set(LLPC_BUILD_TESTS ON)
34-
set(LLPC_BUILD_TOOLS ON)
35-
36-
set(XGL_VKGC_PATH ${CMAKE_CURRENT_SOURCE_DIR})
37-
38-
# This is so spvgen can find vfx in an LLPC standalone build.
39-
set(XGL_LLPC_PATH ${CMAKE_CURRENT_SOURCE_DIR})
40-
4132
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../pal)
42-
set(XGL_PAL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../pal)
43-
else()
44-
set(XGL_PAL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../imported/pal)
33+
set(PAL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../pal)
34+
elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imported/pal)
35+
set(PAL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../imported/pal)
4536
endif()
4637

4738
if(EXISTS ${PROJECT_SOURCE_DIR}/../third_party)
4839
set(THIRD_PARTY ${PROJECT_SOURCE_DIR}/../third_party)
49-
else()
40+
elseif(EXISTS ${PROJECT_SOURCE_DIR}/../../../../third_party)
5041
set(THIRD_PARTY ${PROJECT_SOURCE_DIR}/../../../../third_party)
5142
endif()
52-
set(XGL_METROHASH_PATH ${THIRD_PARTY}/metrohash CACHE PATH "The path of metrohash.")
53-
set(XGL_CWPACK_PATH ${THIRD_PARTY}/cwpack CACHE PATH "The path of cwpack.")
54-
add_subdirectory(${XGL_METROHASH_PATH} ${PROJECT_BINARY_DIR}/metrohash)
55-
add_subdirectory(${XGL_CWPACK_PATH} ${PROJECT_BINARY_DIR}/cwpack)
56-
57-
# External Vulkan headers path
58-
if(EXISTS ${PROJECT_SOURCE_DIR}/../Vulkan-Headers)
59-
set(VULKAN_HEADERS_PATH ${PROJECT_SOURCE_DIR}/../Vulkan-Headers CACHE PATH "The path of Vulkan headers.")
43+
if (THIRD_PARTY)
44+
set(XGL_METROHASH_PATH ${THIRD_PARTY}/metrohash CACHE PATH "The path of metrohash.")
45+
set(XGL_CWPACK_PATH ${THIRD_PARTY}/cwpack CACHE PATH "The path of cwpack.")
46+
add_subdirectory(${XGL_METROHASH_PATH} ${PROJECT_BINARY_DIR}/metrohash)
47+
add_subdirectory(${XGL_CWPACK_PATH} ${PROJECT_BINARY_DIR}/cwpack)
6048
endif()
6149

62-
### Khronos Interface
63-
add_library(khronos_vulkan_interface INTERFACE)
64-
if(EXISTS ${VULKAN_HEADERS_PATH})
65-
target_include_directories(khronos_vulkan_interface INTERFACE ${VULKAN_HEADERS_PATH}/include)
66-
target_compile_definitions(khronos_vulkan_interface INTERFACE EXTERNAL_VULKAN_HEADERS=1)
50+
# Enable LLPC if we found its prerequisites (and it is not explicitly disabled).
51+
if (NOT DEFINED ICD_BUILD_LLPC)
52+
if (THIRD_PARTY AND PAL_SOURCE_DIR)
53+
set(ICD_BUILD_LLPC ON)
54+
else()
55+
message(STATUS "Vulkan-LLPC prerequisites not found; disabling")
56+
endif()
6757
endif()
68-
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../xgl)
69-
target_include_directories(khronos_vulkan_interface INTERFACE ../xgl/icd/api/include/khronos)
70-
else()
71-
target_include_directories(khronos_vulkan_interface INTERFACE ../../../icd/api/include/khronos)
58+
if (ICD_BUILD_LLPC)
59+
set(LLPC_BUILD_TESTS ON)
60+
set(LLPC_BUILD_TOOLS ON)
61+
62+
# External Vulkan headers path
63+
if(EXISTS ${PROJECT_SOURCE_DIR}/../Vulkan-Headers)
64+
set(VULKAN_HEADERS_PATH ${PROJECT_SOURCE_DIR}/../Vulkan-Headers CACHE PATH "The path of Vulkan headers.")
65+
endif()
66+
67+
### Khronos Interface
68+
add_library(khronos_vulkan_interface INTERFACE)
69+
if(EXISTS ${VULKAN_HEADERS_PATH})
70+
target_include_directories(khronos_vulkan_interface INTERFACE ${VULKAN_HEADERS_PATH}/include)
71+
target_compile_definitions(khronos_vulkan_interface INTERFACE EXTERNAL_VULKAN_HEADERS=1)
72+
endif()
73+
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../xgl)
74+
target_include_directories(khronos_vulkan_interface INTERFACE ../xgl/icd/api/include/khronos)
75+
else()
76+
target_include_directories(khronos_vulkan_interface INTERFACE ../../../icd/api/include/khronos)
77+
endif()
7278
endif()
7379

74-
set(GPURT_CLIENT_INTERFACE_MAJOR_VERSION 9999 CACHE STRING "")
75-
set(LLPC_CLIENT_INTERFACE_MAJOR_VERSION "LLPC_INTERFACE_MAJOR_VERSION")
76-
set(PAL_CLIENT_INTERFACE_MAJOR_VERSION 9999 CACHE STRING "")
80+
set(GPURT_CLIENT_INTERFACE_MAJOR_VERSION 999999)
81+
set(LLPC_CLIENT_INTERFACE_MAJOR_VERSION 999999)
82+
set(PAL_CLIENT_INTERFACE_MAJOR_VERSION 999999)

cmake/DialectsTablegen.cmake

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
##
2+
#######################################################################################################################
3+
#
4+
# Copyright (c) 2025 Advanced Micro Devices, Inc. All Rights Reserved.
5+
#
6+
# Permission is hereby granted, free of charge, to any person obtaining a copy
7+
# of this software and associated documentation files (the "Software"), to
8+
# deal in the Software without restriction, including without limitation the
9+
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10+
# sell copies of the Software, and to permit persons to whom the Software is
11+
# furnished to do so, subject to the following conditions:
12+
#
13+
# The above copyright notice and this permission notice shall be included in all
14+
# copies or substantial portions of the Software.
15+
#
16+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22+
# IN THE SOFTWARE.
23+
#
24+
#######################################################################################################################
25+
26+
# TableGen for dialects
27+
macro(set_dialects_tablegen_exe DIALECTS)
28+
set(${DIALECTS}_TABLEGEN_TARGET llvm-dialects-tblgen)
29+
if (EXISTS ${LLVM_TOOLS_BINARY_PATH}/llvm-dialects-tblgen)
30+
set(${DIALECTS}_TABLEGEN_EXE ${LLVM_TOOLS_BINARY_PATH}/llvm-dialects-tblgen)
31+
else()
32+
if(CMAKE_CROSSCOMPILING)
33+
set(${DIALECTS}_TABLEGEN_TARGET ${LLVM_DIALECTS_TABLEGEN_TARGET_HOST})
34+
set(${DIALECTS}_TABLEGEN_EXE ${LLVM_DIALECTS_TABLEGEN_EXE_HOST})
35+
else()
36+
set(${DIALECTS}_TABLEGEN_EXE $<TARGET_FILE:llvm-dialects-tblgen>)
37+
endif()
38+
endif()
39+
endmacro()

cmake/FindShaderDbg.cmake

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
##
2+
#######################################################################################################################
3+
#
4+
# Copyright (c) 2020-2025 Advanced Micro Devices, Inc. All Rights Reserved.
5+
#
6+
# Permission is hereby granted, free of charge, to any person obtaining a copy
7+
# of this software and associated documentation files (the "Software"), to
8+
# deal in the Software without restriction, including without limitation the
9+
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10+
# sell copies of the Software, and to permit persons to whom the Software is
11+
# furnished to do so, subject to the following conditions:
12+
#
13+
# The above copyright notice and this permission notice shall be included in all
14+
# copies or substantial portions of the Software.
15+
#
16+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22+
# IN THE SOFTWARE.
23+
#
24+
#######################################################################################################################
25+
26+
include(FindPackageHandleStandardArgs)
27+
28+
set(_SDB_SEARCHES
29+
$ENV{SHADERDBG_DEPTH}
30+
${GLOBAL_ROOT_SRC_DIR}drivers/ShaderDbg
31+
${LLPC_SOURCE_DIR}/imported/ShaderDbg
32+
${LLPC_SOURCE_DIR}/../ShaderDbg
33+
)
34+
35+
find_path(SHADERDBG_PATH inc/shaderDbg.h
36+
PATHS ${_SDB_SEARCHES} ENV SHADERDBG_PATH
37+
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
38+
39+
find_package_handle_standard_args(ShaderDbg DEFAULT_MSG SHADERDBG_PATH)
40+
41+
if(SHADERDBG_FOUND)
42+
set(SHADERDBG_INCLUDE_DIRS ${SHADERDBG_PATH}/inc)
43+
set(SDL_BUILD_TOOLS FALSE)
44+
45+
# Only add the ShaderDbg subdirectory if we haven't already seen it.
46+
if (NOT TARGET ShaderDbg)
47+
add_subdirectory(${SHADERDBG_PATH} ${CMAKE_CURRENT_BINARY_DIR}/ShaderDbg)
48+
endif()
49+
endif()

cmake/llpc_version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ function(llpc_set_property target scope varName default propertyName)
4848
endif()
4949
# For an LLPC_ variable, cache it as an option so that GPURT can see it.
5050
if ("${varName}" MATCHES "^LLPC_")
51-
option(${varName} "Support ${varName}?" ${${varName}})
51+
set(${varName} "${${varName}}" CACHE BOOL "Support ${varName}?" FORCE)
5252
endif()
5353
set(${varName} ${${varName}} PARENT_SCOPE)
5454
endif()

cmake/llpcdeps.cmake

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
##
2+
#######################################################################################################################
3+
#
4+
# Copyright (c) 2025 Advanced Micro Devices, Inc. All Rights Reserved.
5+
#
6+
# Permission is hereby granted, free of charge, to any person obtaining a copy
7+
# of this software and associated documentation files (the "Software"), to
8+
# deal in the Software without restriction, including without limitation the
9+
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10+
# sell copies of the Software, and to permit persons to whom the Software is
11+
# furnished to do so, subject to the following conditions:
12+
#
13+
# The above copyright notice and this permission notice shall be included in all
14+
# copies or substantial portions of the Software.
15+
#
16+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22+
# IN THE SOFTWARE.
23+
#
24+
#######################################################################################################################
25+
26+
set(LLPC_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/..")
27+
28+
include("${LLPC_SOURCE_DIR}/cmake/lgc.cmake")
29+
include("${LLPC_SOURCE_DIR}/cmake/sharedme/xdl.cmake")
30+
31+
# Macro to add LLPC's dependencies as LLVM external projects.
32+
# The function appends the project names to LLVM_EXTERNAL_PROJECTS and sets each
33+
# LLVM_EXTERNAL_*_SOURCE_DIR, all in the caller's scope.
34+
# LLPC itself is not an LLVM external project, so is not added here.
35+
macro(add_llpcdeps_projects)
36+
add_lgc_projects()
37+
add_sharedme_xdl_projects()
38+
endmacro()

0 commit comments

Comments
 (0)