blob: 58ac050052f234ec8415497a8710238bd9577c91 [file]
# Copyright 2019 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("//build_tools/bazel:build_defs.oss.bzl", "iree_compiler_cc_library")
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
bool_flag(
name = "IREE_EMBEDDED_RELEASE_INFO",
build_setting_default = False,
)
config_setting(
name = "embedding_enabled",
flag_values = {
":IREE_EMBEDDED_RELEASE_INFO": "True",
},
)
iree_compiler_cc_library(
name = "init_iree_passes_and_dialects",
hdrs = [
"init_iree_dialects.h",
"init_iree_passes.h",
],
deps = [
"//compiler/src/iree/compiler/Bindings/Native/Transforms",
"//compiler/src/iree/compiler/Bindings/TFLite/Transforms",
"//compiler/src/iree/compiler/Codegen/Dialect/CPU/IR:IREECPUDialect",
"//compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR:IREECodegenDialect",
"//compiler/src/iree/compiler/Codegen/Dialect/GPU/IR:IREEGPUDialect",
"//compiler/src/iree/compiler/Codegen/Dialect/VectorExt/IR:IREEVectorExtDialect",
"//compiler/src/iree/compiler/Codegen/Interfaces",
"//compiler/src/iree/compiler/ConstEval",
"//compiler/src/iree/compiler/Dialect/Encoding/IR",
"//compiler/src/iree/compiler/Dialect/Flow/IR",
"//compiler/src/iree/compiler/Dialect/Flow/Transforms",
"//compiler/src/iree/compiler/Dialect/HAL/IR:HALDialect",
"//compiler/src/iree/compiler/Dialect/HAL/Transforms",
"//compiler/src/iree/compiler/Dialect/LinalgExt/IR",
"//compiler/src/iree/compiler/Dialect/LinalgExt/Transforms",
"//compiler/src/iree/compiler/Dialect/Stream/IR",
"//compiler/src/iree/compiler/Dialect/Stream/Transforms",
"//compiler/src/iree/compiler/Dialect/Util/IR",
"//compiler/src/iree/compiler/Dialect/Util/TransformOps",
"//compiler/src/iree/compiler/Dialect/Util/Transforms",
"//compiler/src/iree/compiler/Dialect/VM/Analysis",
"//compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC",
"//compiler/src/iree/compiler/Dialect/VM/IR",
"//compiler/src/iree/compiler/Dialect/VM/Transforms",
"//compiler/src/iree/compiler/Dialect/VMVX/IR:VMVXDialect",
"//compiler/src/iree/compiler/Dialect/VMVX/Transforms",
"//compiler/src/iree/compiler/DispatchCreation",
"//compiler/src/iree/compiler/ExternalInterfaces:ExternalModels",
"//compiler/src/iree/compiler/GlobalOptimization/Interfaces",
"//compiler/src/iree/compiler/InputConversion/Common",
"//compiler/src/iree/compiler/Modules/HAL/Inline/IR:HALInlineDialect",
"//compiler/src/iree/compiler/Modules/HAL/Inline/Transforms",
"//compiler/src/iree/compiler/Modules/HAL/Loader/IR:HALLoaderDialect",
"//compiler/src/iree/compiler/Modules/HAL/Loader/Transforms",
"//compiler/src/iree/compiler/Modules/IO/Parameters/IR:IOParametersDialect",
"//compiler/src/iree/compiler/Modules/IO/Parameters/Transforms",
"//compiler/src/iree/compiler/Pipelines",
"//compiler/src/iree/compiler/Preprocessing:Passes",
"//compiler/src/iree/compiler/Preprocessing/TransformExtensions:PreprocessingExtensions",
"//llvm-external-projects/iree-dialects:IREEInputDialect",
"//llvm-external-projects/iree-dialects:IREELinalgTransformDialect",
"//llvm-external-projects/iree-dialects:IREELinalgTransformDialectPasses",
"@llvm-project//mlir:IR",
],
)
iree_compiler_cc_library(
name = "init_mlir_passes_and_dialects",
hdrs = [
"init_mlir_dialects.h",
"init_mlir_passes.h",
],
deps = [
"//compiler/src/iree/compiler/Dialect/VM/Target:init_targets",
"@llvm-project//mlir:AffineDialect",
"@llvm-project//mlir:AffineTransforms",
"@llvm-project//mlir:ArmNeon2dToIntr",
"@llvm-project//mlir:ArmNeonDialect",
"@llvm-project//mlir:ArmSVEDialect",
"@llvm-project//mlir:ArmSMEDialect",
"@llvm-project//mlir:BufferizationDialect",
"@llvm-project//mlir:ComplexDialect",
"@llvm-project//mlir:ControlFlowDialect",
"@llvm-project//mlir:ControlFlowTransforms",
"@llvm-project//mlir:ConversionPasses",
"@llvm-project//mlir:EmitCDialect",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:FuncExtensions",
"@llvm-project//mlir:FuncToSPIRV",
"@llvm-project//mlir:FunctionInterfaces",
"@llvm-project//mlir:GPUDialect",
"@llvm-project//mlir:GPUToSPIRV",
"@llvm-project//mlir:GPUTransforms",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:LLVMIRTransforms",
"@llvm-project//mlir:LinalgDialect",
"@llvm-project//mlir:LinalgPassIncGen",
"@llvm-project//mlir:LinalgTransforms",
"@llvm-project//mlir:MLProgramDialect",
"@llvm-project//mlir:MathDialect",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:QuantOps",
"@llvm-project//mlir:ROCDLDialect",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:SCFToGPU",
"@llvm-project//mlir:SCFTransforms",
"@llvm-project//mlir:SPIRVDialect",
"@llvm-project//mlir:SPIRVTransforms",
"@llvm-project//mlir:ShapeDialect",
"@llvm-project//mlir:TensorInferTypeOpInterfaceImpl",
"@llvm-project//mlir:TransformDialect",
"@llvm-project//mlir:Transforms",
"@llvm-project//mlir:VectorDialect",
# TransformExtensions
"@llvm-project//mlir:AffineTransformOps",
"@llvm-project//mlir:BufferizationTransformOps",
"@llvm-project//mlir:FuncTransformOps",
"@llvm-project//mlir:GPUTransformOps",
"@llvm-project//mlir:LinalgTransformOps",
"@llvm-project//mlir:MemRefTransformOps",
"@llvm-project//mlir:SCFTransformOps",
"@llvm-project//mlir:TensorTransformOps",
"@llvm-project//mlir:TransformLoopExtension",
"@llvm-project//mlir:VectorTransformOps",
],
)
iree_compiler_cc_library(
name = "init_passes_and_dialects",
hdrs = [
"init_dialects.h",
"init_passes.h",
],
deps = [
":init_compiler_modules",
":init_iree_passes_and_dialects",
":init_mlir_passes_and_dialects",
"//compiler/src/iree/compiler/Codegen",
],
)
iree_compiler_cc_library(
name = "init_compiler_modules",
hdrs = ["init_compiler_modules.h"],
deps = [
"//compiler/src/iree/compiler/Modules/Check/IR:CheckDialect",
],
)
config_setting(
name = "cuda_enabled",
flag_values = {
"@iree_cuda//:enabled": "True",
},
)
iree_compiler_cc_library(
name = "init_llvmir_translations",
hdrs = [
"init_llvmir_translations.h",
],
deps = [
"@llvm-project//mlir:ArmNeonToLLVMIRTranslation",
"@llvm-project//mlir:ToLLVMIRTranslation",
],
)
iree_compiler_cc_library(
name = "iree_compile_lib",
srcs = [
"iree_compile_lib.cc",
],
hdrs = ["iree_compile_lib.h"],
deps = [
"//compiler/bindings/c:headers",
"//compiler/src/iree/compiler/API/Internal:CompilerDriver",
"//compiler/src/iree/compiler/Pipelines",
"@llvm-project//llvm:Support",
],
)
iree_compiler_cc_library(
name = "version",
srcs = ["version.cc"],
hdrs = ["version.h"],
local_defines = select({
":embedding_enabled": [
"IREE_RELEASE_REVISION=\\\"$(IREE_RELEASE_REVISION)\\\"",
"IREE_RELEASE_VERSION=\\\"$(IREE_RELEASE_VERSION)\\\"",
],
"//conditions:default": [],
}),
)