File: handle_vc_intrinsics.cmake

package info (click to toggle)
intel-graphics-compiler 1.0.17791.18-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 102,312 kB
  • sloc: cpp: 935,343; lisp: 286,143; ansic: 16,196; python: 3,279; yacc: 2,487; lex: 1,642; pascal: 300; sh: 174; makefile: 27
file content (49 lines) | stat: -rw-r--r-- 1,644 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#=========================== begin_copyright_notice ============================
#
# Copyright (C) 2020-2021 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
#============================ end_copyright_notice =============================

include_guard(DIRECTORY)

include("${CMAKE_CURRENT_SOURCE_DIR}/../../external/llvm/llvm_utils.cmake")

llvm_define_mode_variable(VCIntrinsics IGC_OPTION__VC_INTRINSICS_MODE)

if(IGC_OPTION__VC_INTRINSICS_MODE STREQUAL PREBUILDS_MODE_NAME)

  set(VC_INTRINSICS_PREBUILDS_PACKAGE_NAME VCIntrinsics${LLVM_VERSION_MAJOR})
  message(STATUS "[VC] : Searching prebuilt vc-intrinsics package")
  find_package(${VC_INTRINSICS_PREBUILDS_PACKAGE_NAME} REQUIRED)
  message(STATUS "[VC] : Found prebuilt vc-intrinsics package in: ${${VC_INTRINSICS_PREBUILDS_PACKAGE_NAME}_CONFIG}")

  # override default link libraries by list from vc-intrinsics build
  set(LLVM_COMPONENTS
      CodeGen
      Support
      Core
      Analysis
     )
  igc_get_llvm_targets(LLVM_LIBS ${LLVM_COMPONENTS})
  set_target_properties(LLVMGenXIntrinsics PROPERTIES
    INTERFACE_LINK_LIBRARIES "${LLVM_LIBS}"
  )
else()

  if(DEFINED VC_INTRINSICS_SRC)
    set(INTRSRC "${VC_INTRINSICS_SRC}/GenXIntrinsics")
  endif()

  if(NOT DEFINED INTRSRC)
    set(INTRSRC "${CMAKE_CURRENT_SOURCE_DIR}/../../../vc-intrinsics/GenXIntrinsics")
  endif()

  message(STATUS "[VC] Using vc-intrinsics source from: ${INTRSRC}")
  # Trick intrinsics.
  set(BUILD_EXTERNAL YES)
  # We are building intrinsics.
  set(INTRBUILD "${CMAKE_CURRENT_BINARY_DIR}/intrbuild")
  add_subdirectory(${INTRSRC} ${INTRBUILD} EXCLUDE_FROM_ALL)
endif() #VC_INTRINSICS_MODE