blob: 0490c723829df0868b9c4bab1edb9d8519d1029d [file] [log] [blame]
# 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("@llvm-project//mlir:tblgen.bzl", "gentbl_cc_library")
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
gentbl_cc_library(
name = "FoldTensorExtractOpIncGen",
tbl_outs = [
(
["-gen-rewriters"],
"FoldTensorExtractOp.cpp.inc",
),
],
tblgen = "@llvm-project//mlir:mlir-tblgen",
td_file = "FoldTensorExtractOp.td",
deps = [
"@llvm-project//mlir:BufferizableOpInterfaceTdFiles",
"@llvm-project//mlir:BufferizationOpsTdFiles",
"@llvm-project//mlir:MemRefOpsTdFiles",
"@llvm-project//mlir:OpBaseTdFiles",
"@llvm-project//mlir:TensorOpsTdFiles",
],
)
cc_library(
name = "Common",
srcs = [
"BufferizationAnalysis.cpp",
"CleanupBufferAllocViewPass.cpp",
"ConvertToDestinationPassingStylePass.cpp",
"DemoteF32ToF16.cpp",
"FlattenMemRefSubspanPass.cpp",
"FoldAffineMinInDistributedLoops.cpp",
"FoldTensorExtractOpPass.cpp",
"ForOpCanonicalizationPass.cpp",
"IREEComprehensiveBufferizePass.cpp",
"LinalgBufferizePass.cpp",
"OptimizeVectorTransferPass.cpp",
"RemoveTrivialLoops.cpp",
"SetNumWorkgroupsPass.cpp",
"VectorizeConv.cpp",
"VectorizeMMT4d.cpp",
],
hdrs = [
"BufferizationAnalysis.h",
],
deps = [
"//iree/compiler/Codegen:PassHeaders",
"//iree/compiler/Codegen/Common:FoldTensorExtractOpIncGen",
"//iree/compiler/Codegen/Dialect:IREECodegenDialect",
"//iree/compiler/Codegen/Interfaces:BufferizationInterfaces",
"//iree/compiler/Codegen/Transforms",
"//iree/compiler/Codegen/Utils",
"//iree/compiler/Dialect/Flow/IR",
"//iree/compiler/Dialect/HAL/IR",
"//iree/compiler/Dialect/Util/IR",
"//llvm-external-projects/iree-dialects:IREELinalgExtDialect",
"//llvm-external-projects/iree-dialects:IREELinalgExtTransforms",
"@llvm-project//llvm:Support",
"@llvm-project//mlir:Affine",
"@llvm-project//mlir:AffineBufferizableOpInterfaceImpl",
"@llvm-project//mlir:AffineUtils",
"@llvm-project//mlir:Analysis",
"@llvm-project//mlir:ArithBufferizableOpInterfaceImpl",
"@llvm-project//mlir:ArithmeticDialect",
"@llvm-project//mlir:BufferizationDialect",
"@llvm-project//mlir:BufferizationTransforms",
"@llvm-project//mlir:CFGTransforms",
"@llvm-project//mlir:DialectUtils",
"@llvm-project//mlir:GPUDialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:LLVMCommonConversion",
"@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:LinalgBufferizableOpInterfaceImpl",
"@llvm-project//mlir:LinalgInterfaces",
"@llvm-project//mlir:LinalgOps",
"@llvm-project//mlir:LinalgTransforms",
"@llvm-project//mlir:MemRefDialect",
"@llvm-project//mlir:MemRefTransforms",
"@llvm-project//mlir:ModuleBufferization",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:SCFBufferizableOpInterfaceImpl",
"@llvm-project//mlir:SCFDialect",
"@llvm-project//mlir:SideEffectInterfaces",
"@llvm-project//mlir:StandardOps",
"@llvm-project//mlir:Support",
"@llvm-project//mlir:TensorDialect",
"@llvm-project//mlir:Transforms",
"@llvm-project//mlir:VectorBufferizableOpInterfaceImpl",
"@llvm-project//mlir:VectorOps",
],
)