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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
#=========================== begin_copyright_notice ============================
#
# Copyright (C) 2017-2021 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
#============================ end_copyright_notice =============================
add_subdirectory(TargetInfo)
add_subdirectory(Utils)
set(LLVM_TARGET_DEFINITIONS GenX.td)
tablegen(LLVM GenXGenSubtargetInfo.inc -gen-subtarget)
add_public_tablegen_target(GenXCommonTableGen)
set(GenXCommonTableGen_dependencies)
list(APPEND GenXCommonTableGen_dependencies
GenXCommonTableGen)
add_custom_target(GenXCommonTableGen_target DEPENDS ${GenXCommonTableGen_dependencies})
set(CODEGEN_SOURCES
ConstantEncoder.cpp
FunctionGroup.cpp
GenXAddressCommoning.cpp
GenXAggregatePseudoLowering.cpp
GenXAlignmentInfo.cpp
GenXAnalysisDumper.cpp
GenXArgIndirection.cpp
GenXBaling.cpp
GenXCategory.cpp
GenXCFSimplification.cpp
GenXCisaBuilder.cpp
GenXConstants.cpp
GenXCoalescing.cpp
GenXDeadVectorRemoval.cpp
GenXDebugInfo.cpp
GenXDepressurizer.cpp
GenXExtractVectorizer.cpp
GenXGotoJoin.cpp
GenXGEPLowering.cpp
GenXGlobalValueLowering.cpp
GenXIMadPostLegalization.cpp
GenXInlineAsmLowering.cpp
GenXIntrinsics.cpp
GenXLegalization.cpp
GenXLiveRanges.cpp
GenXLiveness.cpp
GenXLoadStoreLowering.cpp
GenXLowering.cpp
GenXLowerAggrCopies.cpp
GenXLowerJmpTableSwitch.cpp
GenXEmulate.cpp
GenXModule.cpp
GenXNumbering.cpp
GenXVectorCombiner.cpp
GenXOCLInfoExtractor.cpp
GenXOCLRuntimeInfo.cpp
GenXPatternMatch.cpp
GenXPostLegalization.cpp
GenXPrinter.cpp
GenXPressureTracker.cpp
GenXPredRegionLowering.cpp
GenXPrologEpilogInsertion.cpp
GenXPromoteArray.cpp
GenXPromoteStatefulToBindless.cpp
GenXThreadPrivateMemory.cpp
GenXPromotePredicate.cpp
GenXRawSendRipper.cpp
GenXReduceIntSize.cpp
GenXRegionUtils.cpp
GenXRegionCollapsing.cpp
GenXRematerialization.cpp
GenXSimdCFConformance.cpp
GenXStackUsage.cpp
GenXSubtarget.cpp
GenXTargetMachine.cpp
GenXTidyControlFlow.cpp
GenXUnbaling.cpp
GenXUtil.cpp
GenXVectorDecomposer.cpp
GenXVisaRegAlloc.cpp
GenXVisa.cpp
OCLRuntimeInfoPrinter.cpp
GenXStructSplitter.cpp
GenXDebugLegalization.cpp
GenXFixInvalidFuncName.cpp
)
add_library(VCCodeGen ${CODEGEN_SOURCES})
add_dependencies(VCCodeGen
GenXUtilBuild
GenXCommonTableGen_target
)
target_include_directories(VCCodeGen
PRIVATE
${CMAKE_CURRENT_BINARY_DIR}
)
igc_get_llvm_targets(LLVM_LIBS
AggressiveInstCombine
Analysis
BitstreamReader
BitReader
BitWriter
BinaryFormat
CodeGen
Core
Demangle
InstCombine
Instrumentation
ipo
IRReader
Linker
Object
ProfileData
ScalarOpts
Support
Target
TransformUtils
Vectorize
)
target_link_libraries(VCCodeGen
${LLVM_LIBS}
LLVMGenXIntrinsics
VCInternalIntrinsics
VCHeaders
VCTransforms
VCTargetInfo
VCSupport
VCGeneralUtils
VCGenXUtils
GenXDebugInfo
GenX_IR
)
|