blob: e101f53c033dfcc4b87edd46a06f0f38fac09794 [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
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
cc_library(
name = "LLVMCPU",
srcs = [
"ConvertToLLVM.cpp",
"KernelDispatch.cpp",
"LLVMCPUCheckIRBeforeLLVMConversion.cpp",
"LLVMCPULowerExecutableTarget.cpp",
"LLVMCPUSynchronizeSymbolVisibility.cpp",
"LLVMCPUTileFuseAndVectorizeLinalgTensorOps.cpp",
"LLVMCPUUnfuseFMAOps.cpp",
"Passes.cpp",
"VectorContractCustomKernels.cpp",
],
hdrs = [
"KernelDispatch.h",
],
deps = [
"//iree/compiler/Codegen:PassHeaders",
"//iree/compiler/Codegen/Common",
"//iree/compiler/Codegen/Dialect:IREECodegenDialect",
"//iree/compiler/Codegen/Sandbox",
"//iree/compiler/Codegen/Transforms",
"//iree/compiler/Codegen/Utils",
"//iree/compiler/Dialect/Flow/IR",
"//iree/compiler/Dialect/Flow/IR:PartitionableLoopsInterface",
"//iree/compiler/Dialect/HAL/IR",
"//iree/compiler/Dialect/HAL/IR:HALDialect",
"//iree/compiler/Dialect/HAL/Utils",
"//iree/compiler/Dialect/Util/IR",
"//iree/compiler/Utils",
"//llvm-external-projects/iree-dialects:IREELinalgExtDialect",
"//llvm-external-projects/iree-dialects:IREELinalgExtTransforms",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:AffineToStandardTransforms",
"@llvm-project//mlir:Analysis",
"@llvm-project//mlir:ArithmeticToLLVM",
"@llvm-project//mlir:ArithmeticTransforms",
"@llvm-project//mlir:ArmNeon",
"@llvm-project//mlir:ArmNeon2dToIntr",
"@llvm-project//mlir:CFGTransforms",
"@llvm-project//mlir:ControlFlowToLLVM",
"@llvm-project//mlir:DialectUtils",
"@llvm-project//mlir:FuncDialect",
"@llvm-project//mlir:FuncTransforms",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:LLVMCommonConversion",
"@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:LLVMTransforms",
"@llvm-project//mlir:LinalgInterfaces",
"@llvm-project//mlir:LinalgOps",
"@llvm-project//mlir:LinalgToLLVM",
"@llvm-project//mlir:LinalgTransforms",
"@llvm-project//mlir:MathDialect",
"@llvm-project//mlir:MathToLLVM",
"@llvm-project//mlir:MathTransforms",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:MemRefToLLVM",
"@llvm-project//mlir:MemRefTransforms",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:ReconcileUnrealizedCasts",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:SCFTransforms",
"@llvm-project//mlir:TensorDialect",
"@llvm-project//mlir:TosaDialect",
"@llvm-project//mlir:TosaToStandard",
"@llvm-project//mlir:Transforms",
"@llvm-project//mlir:VectorOps",
"@llvm-project//mlir:VectorToLLVM",
"@llvm-project//mlir:VectorToSCF",
"@llvm-project//mlir:VectorTransforms",
],
)