| # Description: |
| # The MLIR "Multi-Level Intermediate Representation" Compiler Infrastructure |
| |
| load("@org_tensorflow//third_party/mlir:tblgen.bzl", "gentbl") |
| |
| licenses(["notice"]) |
| |
| package(default_visibility = [":friends"]) |
| |
| package_group( |
| name = "subpackages", |
| packages = ["//..."], |
| ) |
| |
| package_group( |
| name = "friends", |
| packages = ["//..."], |
| ) |
| |
| exports_files([ |
| "LICENSE.TXT", |
| "include/mlir/Dialect/LLVMIR/LLVMOps.td", |
| "run_lit.sh", |
| ]) |
| |
| cc_library( |
| name = "DialectSymbolRegistry", |
| # strip_include_prefix does not apply to textual_hdrs. |
| hdrs = ["include/mlir/IR/DialectSymbolRegistry.def"], |
| strip_include_prefix = "include/mlir/IR", |
| textual_hdrs = ["include/mlir/IR/DialectSymbolRegistry.def"], |
| ) |
| |
| gentbl( |
| name = "OpAsmInterfacesIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/IR/OpAsmInterface.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/IR/OpAsmInterface.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/IR/OpAsmInterface.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "IR", |
| srcs = glob([ |
| "lib/IR/*.cpp", |
| "lib/IR/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/IR/*.h", |
| ]) + [ |
| "include/mlir/Interfaces/CallInterfaces.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":CallOpInterfacesIncGen", |
| ":DialectSymbolRegistry", |
| ":InferTypeOpInterfaceIncGen", |
| ":OpAsmInterfacesIncGen", |
| ":SideEffectInterfacesIncGen", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "Pass", |
| srcs = glob([ |
| "lib/Pass/*.cpp", |
| "lib/Pass/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Pass/*.h", |
| ]), |
| includes = ["include"], |
| linkopts = [ |
| "-lm", |
| "-lpthread", |
| ], |
| deps = [ |
| ":Analysis", |
| ":IR", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| # TODO(ntv): Update these to enable simplifying the cmake and build files. |
| cc_library( |
| name = "EDSC", |
| srcs = [ |
| "lib/EDSC/Builders.cpp", |
| ], |
| hdrs = [ |
| "include/mlir-c/Core.h", |
| "include/mlir/EDSC/Builders.h", |
| "include/mlir/EDSC/Intrinsics.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "EDSCInterface", |
| srcs = [ |
| "lib/EDSC/CoreAPIs.cpp", |
| ], |
| hdrs = [ |
| "include/mlir-c/Core.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Parser", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "OpBaseTdFiles", |
| srcs = [ |
| "include/mlir/IR/OpBase.td", |
| ], |
| ) |
| |
| filegroup( |
| name = "AffineOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/AffineOps/AffineOps.td", |
| "include/mlir/Dialect/AffineOps/AffineOpsBase.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| "include/mlir/Transforms/LoopLikeInterface.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "AffineOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/AffineOps/AffineOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/AffineOps/AffineOps.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/AffineOps/AffineOps.td", |
| td_srcs = [ |
| ":AffineOpsTdFiles", |
| ], |
| ) |
| |
| filegroup( |
| name = "LoopOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/LoopOps/LoopOps.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| "include/mlir/Transforms/LoopLikeInterface.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "LoopOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/LoopOps/LoopOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/LoopOps/LoopOps.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/LoopOps/LoopOps.td", |
| td_srcs = [ |
| ":LoopOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "LoopOpsTransforms", |
| srcs = glob(["lib/Dialect/LoopOps/Transforms/*.cpp"]), |
| hdrs = ["include/mlir/Dialect/LoopOps/Passes.h"], |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":IR", |
| ":LoopOps", |
| ":Pass", |
| ":StandardOps", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| alwayslink = 1, |
| ) |
| |
| filegroup( |
| name = "StdOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/StandardOps/IR/Ops.td", |
| "include/mlir/IR/OpAsmInterface.td", |
| "include/mlir/Interfaces/CallInterfaces.td", |
| "include/mlir/Interfaces/ControlFlowInterfaces.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "StandardOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/StandardOps/IR/Ops.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/StandardOps/IR/Ops.cpp.inc", |
| ), |
| ( |
| "-gen-enum-decls", |
| "include/mlir/Dialect/StandardOps/IR/OpsEnums.h.inc", |
| ), |
| ( |
| "-gen-enum-defs", |
| "include/mlir/Dialect/StandardOps/IR/OpsEnums.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/StandardOps/IR/Ops.td", |
| td_srcs = [ |
| ":StdOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "Dialect", |
| srcs = glob([ |
| "lib/Dialect/*.cpp", |
| "lib/Dialect/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Dialect/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "DialectUtils", |
| srcs = glob([ |
| "lib/Dialect/Utils/*.cpp", |
| "lib/Dialect/Utils/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Dialect/Utils/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "AffineOps", |
| srcs = glob( |
| [ |
| "lib/Dialect/AffineOps/*.cpp", |
| "lib/Dialect/AffineOps/*.h", |
| "lib/Dialect/AffineOps/EDSC/*.cpp", |
| ], |
| ) + [ |
| "include/mlir/Transforms/InliningUtils.h", |
| "include/mlir/Transforms/LoopLikeInterface.h", |
| ], |
| hdrs = glob([ |
| "include/mlir/Dialect/AffineOps/*.h", |
| "include/mlir/Dialect/AffineOps/EDSC/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":AffineOpsIncGen", |
| ":EDSC", |
| ":IR", |
| ":LoopLikeOpInterfaceIncGen", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "AffineToStandardTransforms", |
| srcs = glob([ |
| "lib/Conversion/AffineToStandard/*.cpp", |
| "lib/Conversion/AffineToStandard/*.h", |
| ]), |
| hdrs = glob(["include/mlir/Conversion/AffineToStandard/*.h"]), |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":IR", |
| ":LoopOps", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":Transforms", |
| ], |
| ) |
| |
| # SDBM dialect only contains attribute components that can be constructed given |
| # a dialect object, so whenever it is used it must also be registered. Therefore |
| # we don't split out the registration library for it. |
| cc_library( |
| name = "SDBM", |
| srcs = glob([ |
| "lib/Dialect/SDBM/*.cpp", |
| "lib/Dialect/SDBM/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Dialect/SDBM/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "LoopOps", |
| srcs = glob( |
| [ |
| "lib/Dialect/LoopOps/*.cpp", |
| "lib/Dialect/LoopOps/*.h", |
| "lib/Dialect/LoopOps/EDSC/*.cpp", |
| ], |
| ), |
| hdrs = glob([ |
| "include/mlir/Dialect/LoopOps/*.h", |
| "include/mlir/Dialect/LoopOps/EDSC/*.h", |
| ]) + [ |
| "include/mlir/Transforms/LoopLikeInterface.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":EDSC", |
| ":IR", |
| ":LoopLikeOpInterfaceIncGen", |
| ":LoopOpsIncGen", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "StandardOps", |
| srcs = glob( |
| [ |
| "lib/Dialect/StandardOps/IR/*.cpp", |
| "lib/Dialect/StandardOps/IR/*.h", |
| "lib/Dialect/StandardOps/EDSC/*.cpp", |
| ], |
| ), |
| hdrs = glob([ |
| "include/mlir/Dialect/StandardOps/IR/*.h", |
| "include/mlir/Dialect/StandardOps/EDSC/*.h", |
| ]) + [ |
| "include/mlir/Transforms/InliningUtils.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":CallOpInterfaces", |
| ":CommonFolders", |
| ":ControlFlowInterfaces", |
| ":EDSC", |
| ":IR", |
| ":SideEffects", |
| ":StandardOpsIncGen", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "VectorOps", |
| srcs = glob( |
| [ |
| "lib/Dialect/VectorOps/*.cpp", |
| "lib/Dialect/VectorOps/*.h", |
| "lib/Dialect/VectorOps/EDSC/*.cpp", |
| "lib/Dialect/VectorOps/EDSC/*.h", |
| ], |
| ), |
| hdrs = glob([ |
| "include/mlir/Dialect/VectorOps/*.h", |
| "include/mlir/Dialect/VectorOps/EDSC/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":Analysis", |
| ":DialectUtils", |
| ":EDSC", |
| ":IR", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| ":VectorOpsIncGen", |
| ":VectorTransformPatternsIncGen", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "Support", |
| srcs = glob( |
| [ |
| "lib/Support/*.cpp", |
| "lib/Support/*.h", |
| ], |
| exclude = [ |
| # TODO(herhut): Move JitRunner out of Support so that Support does not |
| # depend on dialect. |
| "lib/Support/JitRunner.cpp", |
| # TODO(jpienaar): Move this out, else Support depends on Analysis/ |
| "lib/Support/MlirOptMain.cpp", |
| # TODO(jpienaar): Move this out, else Support depends on Analysis/ |
| "lib/Support/TranslateClParser.cpp", |
| ], |
| ), |
| hdrs = glob([ |
| "include/mlir/ADT/*.h", |
| "include/mlir/Support/*.h", |
| ]) + [ |
| "include/mlir/Translation.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "ParserTokenKinds", |
| # strip_include_prefix does not apply to textual_hdrs. |
| hdrs = ["lib/Parser/TokenKinds.def"], |
| strip_include_prefix = "lib/Parser", |
| textual_hdrs = ["lib/Parser/TokenKinds.def"], |
| ) |
| |
| cc_library( |
| name = "Parser", |
| srcs = glob([ |
| "lib/Parser/*.cpp", |
| "lib/Parser/*.h", |
| ]), |
| hdrs = [ |
| "include/mlir/Parser.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":Analysis", |
| ":IR", |
| ":ParserTokenKinds", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "LLVMDialect", |
| srcs = glob( |
| [ |
| "lib/Dialect/LLVMIR/IR/*.cpp", |
| "lib/Dialect/LLVMIR/IR/*.h", |
| ], |
| exclude = [ |
| "lib/Dialect/LLVMIR/IR/NVVM*.cpp", |
| "lib/Dialect/LLVMIR/IR/NVVM*.h", |
| "lib/Dialect/LLVMIR/IR/ROCDL*.cpp", |
| "lib/Dialect/LLVMIR/IR/ROCDL*.h", |
| ], |
| ), |
| hdrs = glob( |
| [ |
| "include/mlir/Dialect/LLVMIR/*.h", |
| ], |
| exclude = [ |
| "include/mlir/Dialect/LLVMIR/NVVM*.h", |
| "include/mlir/Dialect/LLVMIR/ROCDL*.h", |
| ], |
| ), |
| includes = ["include"], |
| deps = [ |
| ":ControlFlowInterfaces", |
| ":IR", |
| ":LLVMOpsIncGen", |
| ":SideEffects", |
| ":Support", |
| "@llvm-project//llvm:asm_parser", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "GPUOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/GPU/GPUOps.td", |
| "include/mlir/Dialect/LLVMIR/LLVMOpBase.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "GPUOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/GPU/GPUOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/GPU/GPUOps.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/GPU/GPUOps.td", |
| td_srcs = [ |
| ":GPUOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUDialect", |
| srcs = glob( |
| [ |
| "lib/Dialect/GPU/IR/*.cpp", |
| "lib/Dialect/GPU/IR/*.h", |
| ], |
| ), |
| hdrs = glob([ |
| "include/mlir/Dialect/GPU/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":GPUOpsIncGen", |
| ":IR", |
| ":LLVMDialect", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUTransforms", |
| srcs = glob( |
| [ |
| "lib/Dialect/GPU/Transforms/*.cpp", |
| "lib/Dialect/GPU/Transforms/*.h", |
| ], |
| ), |
| hdrs = [ |
| "include/mlir/Dialect/GPU/Passes.h", |
| "include/mlir/Dialect/GPU/Utils.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":EDSC", |
| ":GPUDialect", |
| ":IR", |
| ":LoopOps", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":Transforms", |
| ], |
| ) |
| |
| filegroup( |
| name = "LLVMOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/LLVMIR/LLVMOpBase.td", |
| "include/mlir/Dialect/LLVMIR/LLVMOps.td", |
| "include/mlir/Interfaces/ControlFlowInterfaces.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUCommonTransforms", |
| hdrs = [ |
| "lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h", |
| "lib/Conversion/GPUCommon/OpToFuncCallLowering.h", |
| ], |
| deps = [ |
| ":GPUDialect", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMTransforms", |
| ":StandardOps", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| gentbl( |
| name = "GPUToNVVMGen", |
| strip_include_prefix = "lib/Conversion/GPUToNVVM", |
| tbl_outs = [ |
| ( |
| "-gen-rewriters", |
| "lib/Conversion/GPUToNVVM/GPUToNVVM.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "lib/Conversion/GPUToNVVM/GPUToNVVM.td", |
| td_srcs = [ |
| ":GPUOpsTdFiles", |
| ":NVVMOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUToNVVMTransforms", |
| srcs = glob([ |
| "lib/Conversion/GPUToNVVM/*.cpp", |
| "lib/Conversion/GPUToNVVM/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Conversion/GPUToNVVM/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":GPUCommonTransforms", |
| ":GPUDialect", |
| ":GPUToNVVMGen", |
| ":IR", |
| ":LLVMTransforms", |
| ":NVVMDialect", |
| ":Pass", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUToROCDLTransforms", |
| srcs = ["lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp"], |
| hdrs = [ |
| "include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":GPUCommonTransforms", |
| ":GPUDialect", |
| ":LLVMTransforms", |
| ":Pass", |
| ":ROCDLDialect", |
| ":Transforms", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUToVulkanTransforms", |
| srcs = [ |
| "lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp", |
| "lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp", |
| ], |
| hdrs = ["include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h"], |
| includes = ["include"], |
| deps = [ |
| ":GPUDialect", |
| ":IR", |
| ":LLVMDialect", |
| ":Pass", |
| ":SPIRVDialect", |
| ":SPIRVSerialization", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUToCUDATransforms", |
| srcs = [ |
| "lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp", |
| "lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp", |
| ], |
| hdrs = ["include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h"], |
| includes = ["include"], |
| deps = [ |
| ":GPUDialect", |
| ":IR", |
| ":LLVMDialect", |
| ":Pass", |
| ":Support", |
| ":TargetNVVMIR", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:nvptx_code_gen", |
| "@llvm-project//llvm:support", |
| "@llvm-project//llvm:target", |
| ], |
| ) |
| |
| gentbl( |
| name = "GPUToSPIRVIncGen", |
| strip_include_prefix = "lib/Conversion/GPUToSPIRV", |
| tbl_outs = [ |
| ( |
| "-gen-rewriters", |
| "lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "lib/Conversion/GPUToSPIRV/GPUToSPIRV.td", |
| td_srcs = [ |
| ":GPUOpsTdFiles", |
| ":SPIRVOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "GPUToSPIRVTransforms", |
| srcs = [ |
| "lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp", |
| "lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.h", |
| "include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.h", |
| ], |
| includes = [ |
| "include", |
| "lib/Conversions/GPUToSPIRV", |
| ], |
| deps = [ |
| ":GPUDialect", |
| ":GPUToSPIRVIncGen", |
| ":IR", |
| ":LoopOps", |
| ":Pass", |
| ":SPIRVDialect", |
| ":SPIRVLowering", |
| ":StandardToSPIRVConversions", |
| ":Support", |
| ":Transforms", |
| ], |
| ) |
| |
| gentbl( |
| name = "LLVMOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/LLVMIR/LLVMOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/LLVMIR/LLVMOps.cpp.inc", |
| ), |
| ( |
| "-gen-enum-decls", |
| "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.h.inc", |
| ), |
| ( |
| "-gen-enum-defs", |
| "include/mlir/Dialect/LLVMIR/LLVMOpsEnums.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td", |
| td_srcs = [ |
| ":LLVMOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "LLVMConversionIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-llvmir-conversions", |
| "include/mlir/Dialect/LLVMIR/LLVMConversions.inc", |
| ), |
| ( |
| "-gen-enum-to-llvmir-conversions", |
| "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsToLLVM.inc", |
| ), |
| ( |
| "-gen-enum-from-llvmir-conversions", |
| "include/mlir/Dialect/LLVMIR/LLVMConversionEnumsFromLLVM.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/LLVMIR/LLVMOps.td", |
| td_srcs = [ |
| ":LLVMOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "NVVMDialect", |
| srcs = [ |
| "lib/Dialect/LLVMIR/IR/NVVMDialect.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/LLVMIR/NVVMDialect.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":LLVMDialect", |
| ":NVVMOpsIncGen", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:asm_parser", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "NVVMOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/LLVMIR/LLVMOpBase.td", |
| "include/mlir/Dialect/LLVMIR/NVVMOps.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "NVVMOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/LLVMIR/NVVMOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/LLVMIR/NVVMOps.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td", |
| td_srcs = [ |
| ":NVVMOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "NVVMConversionIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-llvmir-conversions", |
| "include/mlir/Dialect/LLVMIR/NVVMConversions.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/LLVMIR/NVVMOps.td", |
| td_srcs = [ |
| ":NVVMOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "ROCDLDialect", |
| srcs = [ |
| "lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/LLVMIR/ROCDLDialect.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":LLVMDialect", |
| ":ROCDLOpsIncGen", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:asm_parser", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "ROCDLOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/LLVMIR/LLVMOpBase.td", |
| "include/mlir/Dialect/LLVMIR/ROCDLOps.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "ROCDLOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/LLVMIR/ROCDLOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/LLVMIR/ROCDLOps.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td", |
| td_srcs = [ |
| ":ROCDLOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "ROCDLConversionIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-llvmir-conversions", |
| "include/mlir/Dialect/LLVMIR/ROCDLConversions.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/LLVMIR/ROCDLOps.td", |
| td_srcs = [ |
| ":ROCDLOpsTdFiles", |
| ], |
| ) |
| |
| # TODO(gcmn): Update SPIRV dependencies so that they map better to cmake files. |
| filegroup( |
| name = "SPIRVOpsTdFiles", |
| srcs = [ |
| "include/mlir/Interfaces/CallInterfaces.td", |
| "include/mlir/Interfaces/ControlFlowInterfaces.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ] + glob(["include/mlir/Dialect/SPIRV/*.td"]), |
| ) |
| |
| gentbl( |
| name = "SPIRVOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/SPIRV/SPIRVOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/SPIRV/SPIRVOps.cpp.inc", |
| ), |
| ( |
| "-gen-op-doc", |
| "g3doc/Dialects/SPIRV/SPIRVOps.md", |
| ), |
| ( |
| "-gen-enum-decls", |
| "include/mlir/Dialect/SPIRV/SPIRVEnums.h.inc", |
| ), |
| ( |
| "-gen-enum-defs", |
| "include/mlir/Dialect/SPIRV/SPIRVEnums.cpp.inc", |
| ), |
| ( |
| "-gen-spirv-enum-avail-decls", |
| "include/mlir/Dialect/SPIRV/SPIRVEnumAvailability.h.inc", |
| ), |
| ( |
| "-gen-spirv-enum-avail-defs", |
| "include/mlir/Dialect/SPIRV/SPIRVEnumAvailability.cpp.inc", |
| ), |
| ( |
| "-gen-spirv-capability-implication", |
| "include/mlir/Dialect/SPIRV/SPIRVCapabilityImplication.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/SPIRV/SPIRVOps.td", |
| td_srcs = [ |
| ":SPIRVOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "SPIRVCanonicalizationIncGen", |
| strip_include_prefix = "lib/Dialect/SPIRV", |
| tbl_outs = [ |
| ( |
| "-gen-rewriters", |
| "lib/Dialect/SPIRV/SPIRVCanonicalization.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "lib/Dialect/SPIRV/SPIRVCanonicalization.td", |
| td_srcs = [ |
| ":SPIRVOpsTdFiles", |
| "lib/Dialect/SPIRV/SPIRVCanonicalization.td", |
| ], |
| ) |
| |
| gentbl( |
| name = "StandardToSPIRVGen", |
| strip_include_prefix = "lib/Conversion/StandardToSPIRV", |
| tbl_outs = [ |
| ( |
| "-gen-rewriters", |
| "lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "lib/Conversion/StandardToSPIRV/StandardToSPIRV.td", |
| td_srcs = [ |
| ":SPIRVOpsTdFiles", |
| ":StdOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "SPIRVAvailabilityIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-avail-interface-decls", |
| "include/mlir/Dialect/SPIRV/SPIRVAvailability.h.inc", |
| ), |
| ( |
| "-gen-avail-interface-defs", |
| "include/mlir/Dialect/SPIRV/SPIRVAvailability.cpp.inc", |
| ), |
| ( |
| "-gen-spirv-avail-impls", |
| "include/mlir/Dialect/SPIRV/SPIRVOpAvailabilityImpl.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/SPIRV/SPIRVOps.td", |
| td_srcs = [ |
| ":SPIRVOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "SPIRVTargetAndABIStructGen", |
| tbl_outs = [ |
| ( |
| "-gen-struct-attr-decls", |
| "include/mlir/Dialect/SPIRV/TargetAndABI.h.inc", |
| ), |
| ( |
| "-gen-struct-attr-defs", |
| "include/mlir/Dialect/SPIRV/TargetAndABI.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/SPIRV/TargetAndABI.td", |
| td_srcs = [ |
| ":SPIRVOpsTdFiles", |
| ":StdOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "SPIRVOpUtilsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-spirv-op-utils", |
| "include/mlir/Dialect/SPIRV/SPIRVOpUtils.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/SPIRV/SPIRVBase.td", |
| td_srcs = [ |
| ":SPIRVOpsTdFiles", |
| ":SPIRVAvailabilityIncGen", |
| ], |
| ) |
| |
| gentbl( |
| name = "SPIRVSerializationGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-spirv-serialization", |
| "include/mlir/Dialect/SPIRV/SPIRVSerialization.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/SPIRV/SPIRVOps.td", |
| td_srcs = [ |
| ":SPIRVOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "SPIRVDialect", |
| srcs = glob( |
| [ |
| "lib/Dialect/SPIRV/*.cpp", |
| "lib/Dialect/SPIRV/*.h", |
| ], |
| exclude = [ |
| "lib/Dialect/SPIRV/SPIRVLowering.cpp", |
| ], |
| ) + [ |
| "include/mlir/Transforms/InliningUtils.h", |
| ], |
| hdrs = glob( |
| [ |
| "include/mlir/Dialect/SPIRV/*.h", |
| ], |
| exclude = [ |
| "include/mlir/Dialect/SPIRV/SPIRVBinaryUtils.h", |
| "include/mlir/Dialect/SPIRV/SPIRVLowering.h", |
| ], |
| ), |
| includes = ["include"], |
| deps = [ |
| ":CommonFolders", |
| ":ControlFlowInterfaces", |
| ":IR", |
| ":Parser", |
| ":Pass", |
| ":SPIRVAvailabilityIncGen", |
| ":SPIRVCanonicalizationIncGen", |
| ":SPIRVOpUtilsIncGen", |
| ":SPIRVOpsIncGen", |
| ":SPIRVSerializationGen", |
| ":SPIRVTargetAndABIStructGen", |
| ":SideEffects", |
| ":Support", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "SPIRVLowering", |
| srcs = [ |
| "lib/Dialect/SPIRV/SPIRVLowering.cpp", |
| "lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp", |
| "lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp", |
| "lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/SPIRV/Passes.h", |
| "include/mlir/Dialect/SPIRV/SPIRVLowering.h", |
| "include/mlir/Dialect/SPIRV/TargetAndABI.h", |
| ], |
| includes = [ |
| "include", |
| ], |
| deps = [ |
| ":IR", |
| ":Pass", |
| ":SPIRVDialect", |
| ":SPIRVTargetAndABIStructGen", |
| ":StandardOps", |
| ":Support", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "StandardToSPIRVConversions", |
| srcs = glob([ |
| "lib/Conversion/StandardToSPIRV/*.cpp", |
| "lib/Conversion/StandardToSPIRV/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Conversion/StandardToSPIRV/*.h", |
| ]), |
| includes = [ |
| "include", |
| "lib/Conversion/StandardToSPIRV", |
| ], |
| deps = [ |
| ":IR", |
| ":Pass", |
| ":SPIRVDialect", |
| ":SPIRVLowering", |
| ":StandardOps", |
| ":StandardToSPIRVGen", |
| ":Support", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "SPIRVSerialization", |
| srcs = glob( |
| [ |
| "lib/Dialect/SPIRV/Serialization/*.cpp", |
| ], |
| exclude = [ |
| "lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp", |
| ], |
| ), |
| hdrs = [ |
| "include/mlir/Dialect/SPIRV/SPIRVBinaryUtils.h", |
| "include/mlir/Dialect/SPIRV/Serialization.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":SPIRVDialect", |
| ":SPIRVOpUtilsIncGen", |
| ":SPIRVOpsIncGen", |
| ":SPIRVSerializationGen", |
| ":Support", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "SPIRVTranslateRegistration", |
| srcs = [ |
| "lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Parser", |
| ":SPIRVDialect", |
| ":SPIRVSerialization", |
| ":Support", |
| ":Translation", |
| "@llvm-project//llvm:support", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "TransformUtils", |
| srcs = glob([ |
| "lib/Transforms/Utils/*.cpp", |
| "lib/Transforms/Utils/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Transforms/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":Analysis", |
| ":ControlFlowInterfaces", |
| ":IR", |
| ":LoopLikeOpInterfaceIncGen", |
| ":LoopOps", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| gentbl( |
| name = "DerivedAttributeOpInterfaceIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/Interfaces/DerivedAttributeOpInterface.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/Interfaces/DerivedAttributeOpInterface.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Interfaces/DerivedAttributeOpInterface.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "DerivedAttributeOpInterface", |
| srcs = [ |
| "lib/Interfaces/DerivedAttributeOpInterface.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Interfaces/DerivedAttributeOpInterface.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":DerivedAttributeOpInterfaceIncGen", |
| ":IR", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| gentbl( |
| name = "LoopLikeOpInterfaceIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/Transforms/LoopLikeInterface.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/Transforms/LoopLikeInterface.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Transforms/LoopLikeInterface.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "Transforms", |
| srcs = glob([ |
| "lib/Transforms/*.cpp", |
| "lib/Transforms/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Transforms/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":Analysis", |
| ":IR", |
| ":LoopLikeOpInterfaceIncGen", |
| ":LoopOps", |
| ":Pass", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| ":TransformUtils", |
| ":VectorOps", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "CommonFolders", |
| srcs = [ |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/CommonFolders.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "LoopsToGPU", |
| srcs = [ |
| "lib/Conversion/LoopsToGPU/LoopsToGPU.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Conversion/LoopsToGPU/LoopsToGPU.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":AffineToStandardTransforms", |
| ":GPUDialect", |
| ":IR", |
| ":LoopOps", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":TransformUtils", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "LoopsToGPUPass", |
| srcs = [ |
| "lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":GPUDialect", |
| ":LoopOps", |
| ":LoopsToGPU", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":Transforms", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "CFGTransforms", |
| srcs = [ |
| "lib/Conversion/LoopToStandard/ConvertLoopToStandard.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Conversion/LoopToStandard/ConvertLoopToStandard.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":LLVMDialect", |
| ":LoopOps", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":TransformUtils", |
| ":Transforms", |
| ], |
| ) |
| |
| cc_library( |
| name = "LLVMTransforms", |
| srcs = [ |
| "lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h", |
| "include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":LLVMDialect", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":TransformUtils", |
| ":Transforms", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| gentbl( |
| name = "CallOpInterfacesIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/Interfaces/CallInterfaces.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/Interfaces/CallInterfaces.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Interfaces/CallInterfaces.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "CallOpInterfaces", |
| srcs = [ |
| "lib/Interfaces/CallInterfaces.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Interfaces/CallInterfaces.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":CallOpInterfacesIncGen", |
| ":IR", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| gentbl( |
| name = "ControlFlowInterfacesIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/Interfaces/ControlFlowInterfaces.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/Interfaces/ControlFlowInterfaces.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Interfaces/ControlFlowInterfaces.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "ControlFlowInterfaces", |
| srcs = [ |
| "lib/Interfaces/ControlFlowInterfaces.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Interfaces/ControlFlowInterfaces.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":ControlFlowInterfacesIncGen", |
| ":IR", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| gentbl( |
| name = "InferTypeOpInterfaceIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/Interfaces/InferTypeOpInterface.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/Interfaces/InferTypeOpInterface.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Interfaces/InferTypeOpInterface.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "InferTypeOpInterface", |
| srcs = [ |
| "lib/Interfaces/InferTypeOpInterface.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Interfaces/InferTypeOpInterface.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":InferTypeOpInterfaceIncGen", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| gentbl( |
| name = "SideEffectInterfacesIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/Interfaces/SideEffectInterfaces.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/Interfaces/SideEffectInterfaces.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Interfaces/SideEffects.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "SideEffects", |
| srcs = [ |
| "lib/Interfaces/SideEffects.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Interfaces/SideEffects.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":SideEffectInterfacesIncGen", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "Analysis", |
| srcs = glob( |
| [ |
| "lib/Analysis/*.cpp", |
| "lib/Analysis/*.h", |
| ], |
| exclude = [ |
| "lib/Analysis/Vector*.cpp", |
| "lib/Analysis/Vector*.h", |
| ], |
| ), |
| hdrs = glob( |
| [ |
| "include/mlir/Analysis/*.h", |
| ], |
| exclude = [ |
| "include/mlir/Analysis/Vector*.h", |
| ], |
| ), |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":CallOpInterfaces", |
| ":IR", |
| ":LoopOps", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "Translation", |
| srcs = glob([ |
| "lib/Translation/*.cpp", |
| "lib/Translation/*.h", |
| ]), |
| hdrs = [ |
| "include/mlir/Translation.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Parser", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "LLVMIRModuleTranslation", |
| srcs = [ |
| "lib/Target/LLVMIR/DebugTranslation.cpp", |
| "lib/Target/LLVMIR/DebugTranslation.h", |
| "lib/Target/LLVMIR/ModuleTranslation.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Target/LLVMIR/ModuleTranslation.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":LLVMConversionIncGen", |
| ":LLVMDialect", |
| ":OpenMPDialect", |
| ":Support", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:frontend_open_mp", |
| "@llvm-project//llvm:support", |
| "@llvm-project//llvm:transform_utils", |
| ], |
| ) |
| |
| cc_library( |
| name = "TargetLLVMIR", |
| srcs = [ |
| "lib/Target/LLVMIR/ConvertFromLLVMIR.cpp", |
| "lib/Target/LLVMIR/ConvertToLLVMIR.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Target/LLVMIR.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":LLVMConversionIncGen", |
| ":LLVMDialect", |
| ":LLVMIRModuleTranslation", |
| ":Support", |
| ":Translation", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:ir_reader", |
| "@llvm-project//llvm:support", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "TargetNVVMIR", |
| srcs = [ |
| "lib/Target/LLVMIR/ConvertToNVVMIR.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Target/NVVMIR.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":GPUDialect", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMIRModuleTranslation", |
| ":NVVMConversionIncGen", |
| ":NVVMDialect", |
| ":Support", |
| ":Translation", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_library( |
| name = "TargetROCDLIR", |
| srcs = [ |
| "lib/Target/LLVMIR/ConvertToROCDLIR.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Target/ROCDLIR.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":GPUDialect", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMIRModuleTranslation", |
| ":ROCDLConversionIncGen", |
| ":ROCDLDialect", |
| ":Support", |
| ":Translation", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| alwayslink = 1, |
| ) |
| |
| # TODO(zinenko): Update these so that we can simplify mapping to cmake. |
| cc_library( |
| name = "ExecutionEngine", |
| srcs = [ |
| "lib/ExecutionEngine/ExecutionEngine.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/ExecutionEngine/ExecutionEngine.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":LLVMDialect", |
| ":Support", |
| ":TargetLLVMIR", |
| ":Translation", |
| "@llvm-project//llvm:bit_reader", |
| "@llvm-project//llvm:bit_writer", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:execution_engine", |
| "@llvm-project//llvm:mc", |
| "@llvm-project//llvm:orc_jit", |
| "@llvm-project//llvm:support", |
| "@llvm-project//llvm:target", # fixdeps: keep |
| "@llvm-project//llvm:transform_utils", |
| "@llvm-project//llvm:x86_code_gen", # fixdeps: keep |
| "@llvm-project//llvm:x86_disassembler", # fixdeps: keep |
| ], |
| ) |
| |
| cc_library( |
| name = "ExecutionEngineUtils", |
| srcs = [ |
| "lib/ExecutionEngine/OptUtils.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/ExecutionEngine/OptUtils.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| "@llvm-project//llvm:analysis", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:ipo", |
| "@llvm-project//llvm:support", |
| "@llvm-project//llvm:target", |
| ], |
| ) |
| |
| # TODO(jpienaar): Update this. |
| cc_library( |
| name = "MlirOptLib", |
| srcs = [ |
| "lib/Support/MlirOptMain.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Analysis/Passes.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":Analysis", |
| ":GPUToNVVMTransforms", |
| ":GPUToROCDLTransforms", |
| ":GPUToSPIRVTransforms", |
| ":GPUTransforms", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMTransforms", |
| ":LinalgToLLVM", |
| ":LinalgToSPIRV", |
| ":LoopOpsTransforms", |
| ":NVVMDialect", |
| ":Parser", |
| ":Pass", |
| ":QuantizerTransforms", |
| ":StandardToSPIRVConversions", |
| ":Support", |
| ":Transforms", |
| ":VectorToLLVM", |
| ":VectorToLoops", |
| "@llvm-project//llvm:support", |
| "@llvm-project//mlir/test:TestDialect", |
| "@llvm-project//mlir/test:TestIR", |
| "@llvm-project//mlir/test:TestPass", |
| "@llvm-project//mlir/test:TestSPIRV", |
| "@llvm-project//mlir/test:TestTransforms", |
| ], |
| ) |
| |
| cc_library( |
| name = "TranslateClParser", |
| srcs = ["lib/Support/TranslateClParser.cpp"], |
| hdrs = ["include/mlir/Support/TranslateClParser.h"], |
| includes = ["include"], |
| deps = [ |
| ":Analysis", |
| ":IR", |
| ":Parser", |
| ":Support", |
| ":Translation", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "MlirTranslateMain", |
| srcs = ["tools/mlir-translate/mlir-translate.cpp"], |
| deps = [ |
| ":AllPassesAndDialectsNoRegistration", |
| ":IR", |
| ":Parser", |
| ":Support", |
| ":TranslateClParser", |
| ":Translation", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_binary( |
| name = "mlir-translate", |
| deps = [ |
| ":MlirTranslateMain", |
| ":SPIRVTranslateRegistration", |
| ":TargetLLVMIR", |
| ":TargetNVVMIR", |
| ":TargetROCDLIR", |
| ], |
| ) |
| |
| cc_library( |
| name = "AllPassesAndDialectsNoRegistration", |
| hdrs = [ |
| "include/mlir/InitAllDialects.h", |
| "include/mlir/InitAllPasses.h", |
| ], |
| defines = ["MLIR_CUDA_CONVERSIONS_ENABLED"], |
| deps = [ |
| ":AffineOps", |
| ":Analysis", |
| ":FxpMathOps", |
| ":GPUDialect", |
| ":GPUToCUDATransforms", |
| ":GPUToNVVMTransforms", |
| ":GPUToROCDLTransforms", |
| ":GPUToSPIRVTransforms", |
| ":GPUToVulkanTransforms", |
| ":GPUTransforms", |
| ":IR", |
| ":LLVMDialect", |
| ":LinalgOps", |
| ":LinalgToLLVM", |
| ":LinalgToSPIRV", |
| ":LinalgTransforms", |
| ":LoopOps", |
| ":LoopOpsTransforms", |
| ":LoopsToGPUPass", |
| ":NVVMDialect", |
| ":OpenMPDialect", |
| ":QuantOps", |
| ":QuantizerTransforms", |
| ":ROCDLDialect", |
| ":SDBM", |
| ":SPIRVDialect", |
| ":SPIRVLowering", |
| ":StandardOps", |
| ":StandardToSPIRVConversions", |
| ":Transforms", |
| ":VectorOps", |
| ], |
| ) |
| |
| cc_library( |
| name = "AllPassesAndDialects", |
| srcs = ["@org_tensorflow//third_party/mlir:mlir-auto-init.cpp"], |
| deps = [ |
| ":AllPassesAndDialectsNoRegistration", |
| ], |
| alwayslink = 1, |
| ) |
| |
| # TODO(jpienaar): This library should be removed. |
| cc_library( |
| name = "MlirOptMain", |
| srcs = [ |
| "tools/mlir-opt/mlir-opt.cpp", |
| ], |
| deps = [ |
| ":AllPassesAndDialectsNoRegistration", |
| ":Analysis", |
| ":IR", |
| ":MlirOptLib", |
| ":Pass", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_binary( |
| name = "mlir-opt", |
| deps = [ |
| ":Analysis", |
| ":FxpMathOps", |
| ":IR", |
| ":LoopsToGPUPass", |
| ":MlirOptLib", |
| ":MlirOptMain", |
| ":OpenMPDialect", |
| ":QuantOps", |
| ":Transforms", |
| "@llvm-project//llvm:all_targets", |
| "@llvm-project//llvm:support", |
| "@llvm-project//mlir/test:TestDialect", |
| "@llvm-project//mlir/test:TestIR", |
| "@llvm-project//mlir/test:TestPass", |
| "@llvm-project//mlir/test:TestSPIRV", |
| "@llvm-project//mlir/test:TestTransforms", |
| ], |
| ) |
| |
| cc_library( |
| name = "MlirJitRunner", |
| srcs = ["lib/Support/JitRunner.cpp"], |
| hdrs = ["include/mlir/Support/JitRunner.h"], |
| includes = ["include"], |
| deps = [ |
| ":AllPassesAndDialectsNoRegistration", |
| ":CFGTransforms", |
| ":ExecutionEngine", |
| ":ExecutionEngineUtils", |
| ":IR", |
| ":LLVMDialect", |
| ":Parser", |
| ":Pass", |
| ":Support", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:orc_jit", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "mlir_c_runner_utils", |
| srcs = [ |
| "lib/ExecutionEngine/CRunnerUtils.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/ExecutionEngine/CRunnerUtils.h", |
| ], |
| includes = ["include"], |
| ) |
| |
| cc_library( |
| name = "mlir_runner_utils", |
| srcs = [ |
| "lib/ExecutionEngine/RunnerUtils.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/ExecutionEngine/RunnerUtils.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":mlir_c_runner_utils", |
| ], |
| ) |
| |
| cc_binary( |
| name = "mlir-cpu-runner", |
| srcs = ["tools/mlir-cpu-runner/mlir-cpu-runner.cpp"], |
| linkopts = ["-ldl"], |
| deps = [ |
| ":AllPassesAndDialectsNoRegistration", |
| ":ExecutionEngineUtils", |
| ":MlirJitRunner", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_binary( |
| name = "tools/libcuda-runtime-wrappers.so", |
| srcs = ["tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp"], |
| linkshared = True, |
| deps = [ |
| "//third_party/gpus/cuda:cuda_headers", |
| "//third_party/gpus/cuda:cuda_runtime", |
| "//third_party/gpus/cuda:libcuda", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_binary( |
| name = "mlir-cuda-runner", |
| srcs = ["tools/mlir-cuda-runner/mlir-cuda-runner.cpp"], |
| data = [ |
| ":tools/libcuda-runtime-wrappers.so", |
| "@llvm-project//mlir/test/mlir-cpu-runner:libmlir_runner_utils.so", |
| ], |
| deps = [ |
| ":AllPassesAndDialectsNoRegistration", |
| ":ExecutionEngineUtils", |
| ":GPUDialect", |
| ":GPUToNVVMTransforms", |
| ":GPUToROCDLTransforms", |
| ":GPUTransforms", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMTransforms", |
| ":MlirJitRunner", |
| ":NVVMDialect", |
| ":Pass", |
| ":Transforms", |
| "//devtools/build/runtime:get_runfiles_dir", |
| "//third_party/gpus/cuda:cuda_headers", |
| "//third_party/gpus/cuda:cuda_runtime", |
| "//third_party/gpus/cuda:libcuda", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "TableGen", |
| srcs = glob(["lib/TableGen/*.cpp"]), |
| hdrs = glob(["include/mlir/TableGen/*.h"]), |
| includes = ["include"], |
| deps = [ |
| ":Support", |
| "@llvm-project//llvm:support", |
| "@llvm-project//llvm:tablegen", |
| ], |
| ) |
| |
| cc_library( |
| name = "MlirTableGenMain", |
| srcs = [ |
| "tools/mlir-tblgen/mlir-tblgen.cpp", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":Support", |
| ":TableGen", |
| "@llvm-project//llvm:config", |
| "@llvm-project//llvm:support", |
| "@llvm-project//llvm:tablegen", |
| ], |
| ) |
| |
| cc_binary( |
| name = "mlir-tblgen", |
| srcs = glob([ |
| "tools/mlir-tblgen/*.h", |
| "tools/mlir-tblgen/*.cpp", |
| ]), |
| linkopts = [ |
| "-lm", |
| "-lpthread", |
| ], |
| deps = [ |
| ":MlirTableGenMain", |
| ":Support", |
| ":TableGen", |
| "@llvm-project//llvm:config", |
| "@llvm-project//llvm:support", |
| "@llvm-project//llvm:tablegen", |
| ], |
| ) |
| |
| ## OpenMP dialect |
| gentbl( |
| name = "OpenMPOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/OpenMP/OpenMPOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/OpenMP/OpenMPOps.cpp.inc", |
| ), |
| ( |
| "-gen-op-doc", |
| "g3doc/Dialects/OpenMP/OpenMPOps.md", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/OpenMP/OpenMPOps.td", |
| td_srcs = [ |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "OpenMPDialect", |
| srcs = glob( |
| [ |
| "lib/Dialect/OpenMP/IR/*.cpp", |
| "lib/Dialect/OpenMP/IR/*.h", |
| ], |
| ), |
| hdrs = glob([ |
| "include/mlir/Dialect/OpenMP/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":OpenMPOpsIncGen", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "QuantizationOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/QuantOps/QuantOps.td", |
| "include/mlir/Dialect/QuantOps/QuantPredicates.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| ## QuantOps dialect |
| gentbl( |
| name = "QuantOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/QuantOps/QuantOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/QuantOps/QuantOps.cpp.inc", |
| ), |
| ( |
| "-gen-op-doc", |
| "g3doc/Dialects/QuantOps/QuantOps.md", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/QuantOps/QuantOps.td", |
| td_srcs = [ |
| ":QuantizationOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "QuantOps", |
| srcs = [ |
| "lib/Dialect/QuantOps/IR/QuantOps.cpp", |
| "lib/Dialect/QuantOps/IR/QuantTypes.cpp", |
| "lib/Dialect/QuantOps/IR/TypeDetail.h", |
| "lib/Dialect/QuantOps/IR/TypeParser.cpp", |
| "lib/Dialect/QuantOps/Transforms/ConvertConst.cpp", |
| "lib/Dialect/QuantOps/Transforms/ConvertSimQuant.cpp", |
| "lib/Dialect/QuantOps/Utils/FakeQuantSupport.cpp", |
| "lib/Dialect/QuantOps/Utils/QuantizeUtils.cpp", |
| "lib/Dialect/QuantOps/Utils/UniformSupport.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/QuantOps/FakeQuantSupport.h", |
| "include/mlir/Dialect/QuantOps/Passes.h", |
| "include/mlir/Dialect/QuantOps/QuantOps.h", |
| "include/mlir/Dialect/QuantOps/QuantTypes.h", |
| "include/mlir/Dialect/QuantOps/QuantizeUtils.h", |
| "include/mlir/Dialect/QuantOps/UniformSupport.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Pass", |
| ":QuantOpsIncGen", |
| ":SideEffects", |
| ":StandardOps", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "FxpMathOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/FxpMathOps/FxpMathOps.td", |
| "include/mlir/Dialect/QuantOps/QuantPredicates.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| ## FxpMathOps dialect |
| gentbl( |
| name = "FxpMathOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/FxpMathOps/FxpMathOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/FxpMathOps/FxpMathOps.cpp.inc", |
| ), |
| ( |
| "-gen-op-doc", |
| "g3doc/Dialects/FxpMathOps/FxpMathOps.md", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/FxpMathOps/FxpMathOps.td", |
| td_srcs = [ |
| ":FxpMathOpsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "FxpMathOps", |
| srcs = [ |
| "lib/Dialect/FxpMathOps/IR/FxpMathOps.cpp", |
| "lib/Dialect/FxpMathOps/Transforms/LowerUniformRealMath.cpp", |
| "lib/Dialect/FxpMathOps/Transforms/UniformKernelUtils.h", |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/FxpMathOps/FxpMathOps.h", |
| "include/mlir/Dialect/FxpMathOps/Passes.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":FxpMathOpsIncGen", |
| ":IR", |
| ":Pass", |
| ":QuantOps", |
| ":SideEffects", |
| ":StandardOps", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "LinalgOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/Linalg/IR/LinalgBase.td", |
| "include/mlir/Dialect/Linalg/IR/LinalgOps.td", |
| ":AffineOpsTdFiles", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "LinalgOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/Linalg/IR/LinalgOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/Linalg/IR/LinalgOps.td", |
| td_srcs = [ |
| ":LinalgOpsTdFiles", |
| ], |
| ) |
| |
| filegroup( |
| name = "LinalgStructuredOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td", |
| "include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td", |
| ":AffineOpsTdFiles", |
| ":LinalgOpsTdFiles", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "LinalgStructuredOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc", |
| ), |
| ( |
| "-gen-op-interface-decls", |
| "include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterfaces.h.inc", |
| ), |
| ( |
| "-gen-op-interface-defs", |
| "include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterfaces.cpp.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td", |
| td_srcs = [ |
| ":LinalgStructuredOpsTdFiles", |
| ], |
| ) |
| |
| filegroup( |
| name = "LinalgDocTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/Linalg/IR/LinalgDoc.td", |
| ":LinalgOpsTdFiles", |
| ":LinalgStructuredOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "LinalgDocIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-doc", |
| "g3doc/Dialects/Linalg/LinalgOps.md", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/Linalg/IR/LinalgDoc.td", |
| td_srcs = [ |
| ":LinalgDocTdFiles", |
| ], |
| ) |
| |
| filegroup( |
| name = "LinalgTransformPatternsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.td", |
| ":AffineOpsTdFiles", |
| ":LinalgOpsTdFiles", |
| ":LinalgStructuredOpsTdFiles", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "LinalgTransformPatternsIncGen", |
| tbl_outs = [ |
| ( |
| "-gen-rewriters", |
| "include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.h.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/Linalg/Transforms/LinalgTransformPatterns.td", |
| td_srcs = [ |
| ":LinalgTransformPatternsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "LinalgToLLVM", |
| srcs = glob([ |
| "lib/Conversion/LinalgToLLVM/*.cpp", |
| "lib/Conversion/LinalgToLLVM/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Conversion/LinalgToLLVM/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":AffineToStandardTransforms", |
| ":Analysis", |
| ":CFGTransforms", |
| ":EDSC", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMTransforms", |
| ":LinalgOps", |
| ":LinalgTransforms", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":Transforms", |
| ":VectorToLLVM", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "LinalgToSPIRV", |
| srcs = glob([ |
| "lib/Conversion/LinalgToSPIRV/*.cpp", |
| "lib/Conversion/LinalgToSPIRV/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Conversion/LinalgToSPIRV/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":DialectUtils", |
| ":IR", |
| ":LinalgOps", |
| ":LinalgTransforms", |
| ":Pass", |
| ":SPIRVDialect", |
| ":SPIRVLowering", |
| ":StandardOps", |
| ], |
| ) |
| |
| cc_library( |
| name = "LinalgOps", |
| srcs = [ |
| "lib/Dialect/Linalg/IR/LinalgOps.cpp", |
| "lib/Dialect/Linalg/IR/LinalgTypes.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/Linalg/IR/LinalgOps.h", |
| "include/mlir/Dialect/Linalg/IR/LinalgTraits.h", |
| "include/mlir/Dialect/Linalg/IR/LinalgTypes.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":DialectUtils", |
| ":IR", |
| ":LinalgOpsIncGen", |
| ":LinalgStructuredOpsIncGen", |
| ":Parser", |
| ":SideEffects", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "LinalgTransforms", |
| srcs = [ |
| "lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp", |
| "lib/Dialect/Linalg/EDSC/Builders.cpp", |
| "lib/Dialect/Linalg/Transforms/Fusion.cpp", |
| "lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp", |
| "lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp", |
| "lib/Dialect/Linalg/Transforms/Promotion.cpp", |
| "lib/Dialect/Linalg/Transforms/Tiling.cpp", |
| "lib/Dialect/Linalg/Utils/Utils.cpp", |
| ], |
| hdrs = [ |
| "include/mlir/Dialect/Linalg/Analysis/DependenceAnalysis.h", |
| "include/mlir/Dialect/Linalg/EDSC/Builders.h", |
| "include/mlir/Dialect/Linalg/EDSC/Intrinsics.h", |
| "include/mlir/Dialect/Linalg/Passes.h", |
| "include/mlir/Dialect/Linalg/Transforms/LinalgTransforms.h", |
| "include/mlir/Dialect/Linalg/Utils/Utils.h", |
| ], |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":AffineToStandardTransforms", |
| ":Analysis", |
| ":CFGTransforms", |
| ":DialectUtils", |
| ":EDSC", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMTransforms", |
| ":LinalgOps", |
| ":LinalgOpsIncGen", |
| ":LinalgStructuredOpsIncGen", |
| ":LinalgTransformPatternsIncGen", |
| ":LoopOps", |
| ":Parser", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":TransformUtils", |
| ":Transforms", |
| ":VectorOps", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "QuantizerSupportLib", |
| srcs = glob([ |
| "lib/Quantizer/Configurations/*.cpp", |
| "lib/Quantizer/Support/*.cpp", |
| "lib/Quantizer/Configurations/*.h", |
| "lib/Quantizer/Support/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Quantizer/Configurations/*.h", |
| "include/mlir/Quantizer/Support/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":FxpMathOps", |
| ":IR", |
| ":QuantOps", |
| ":StandardOps", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "QuantizerTransforms", |
| srcs = glob([ |
| "lib/Quantizer/Transforms/*.cpp", |
| "lib/Quantizer/Transforms/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Quantizer/Transforms/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":IR", |
| ":Pass", |
| ":QuantOps", |
| ":QuantizerSupportLib", |
| ":Support", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| filegroup( |
| name = "VectorOpsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/VectorOps/VectorOps.td", |
| ":AffineOpsTdFiles", |
| ":OpBaseTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "VectorOpsIncGen", |
| strip_include_prefix = "include", |
| tbl_outs = [ |
| ( |
| "-gen-op-decls", |
| "include/mlir/Dialect/VectorOps/VectorOps.h.inc", |
| ), |
| ( |
| "-gen-op-defs", |
| "include/mlir/Dialect/VectorOps/VectorOps.cpp.inc", |
| ), |
| ( |
| "-gen-op-doc", |
| "g3doc/Dialects/Vector/VectorOps.md", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/VectorOps/VectorOps.td", |
| td_srcs = [ |
| ":VectorOpsTdFiles", |
| ], |
| ) |
| |
| filegroup( |
| name = "VectorTransformPatternsTdFiles", |
| srcs = [ |
| "include/mlir/Dialect/VectorOps/VectorTransformPatterns.td", |
| ":AffineOpsTdFiles", |
| ":LinalgOpsTdFiles", |
| ":LinalgStructuredOpsTdFiles", |
| ":OpBaseTdFiles", |
| ":StdOpsTdFiles", |
| ":VectorOpsTdFiles", |
| ], |
| ) |
| |
| gentbl( |
| name = "VectorTransformPatternsIncGen", |
| tbl_outs = [ |
| ( |
| "-gen-rewriters", |
| "include/mlir/Dialect/VectorOps/VectorTransformPatterns.h.inc", |
| ), |
| ], |
| tblgen = ":mlir-tblgen", |
| td_file = "include/mlir/Dialect/VectorOps/VectorTransformPatterns.td", |
| td_srcs = [ |
| ":VectorTransformPatternsTdFiles", |
| ], |
| ) |
| |
| cc_library( |
| name = "VectorToLLVM", |
| srcs = glob([ |
| "lib/Conversion/VectorToLLVM/*.cpp", |
| "lib/Conversion/VectorToLLVM/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Conversion/VectorToLLVM/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":DialectUtils", |
| ":EDSC", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMTransforms", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":Transforms", |
| ":VectorOps", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| cc_library( |
| name = "VectorToLoops", |
| srcs = glob([ |
| "lib/Conversion/VectorToLoops/*.cpp", |
| "lib/Conversion/VectorToLoops/*.h", |
| ]), |
| hdrs = glob([ |
| "include/mlir/Conversion/VectorToLoops/*.h", |
| ]), |
| includes = ["include"], |
| deps = [ |
| ":AffineOps", |
| ":EDSC", |
| ":IR", |
| ":LLVMDialect", |
| ":LLVMTransforms", |
| ":LoopOps", |
| ":Pass", |
| ":StandardOps", |
| ":Support", |
| ":Transforms", |
| ":VectorOps", |
| "@llvm-project//llvm:core", |
| "@llvm-project//llvm:support", |
| ], |
| ) |
| |
| # To reference all tablegen files here when checking for updates to them. |
| filegroup( |
| name = "TdFiles", |
| srcs = glob(["**/*.td"]), |
| ) |
| |
| exports_files( |
| [ |
| "include/mlir/Interfaces/CallInterfaces.h", |
| "include/mlir/Interfaces/CallInterfaces.td", |
| "include/mlir/Interfaces/ControlFlowInterfaces.h", |
| "include/mlir/Interfaces/ControlFlowInterfaces.td", |
| "include/mlir/Interfaces/SideEffects.td", |
| "include/mlir/Dialect/LLVMIR/LLVMOpBase.td", |
| "include/mlir/Dialect/StandardOps/IR/Ops.td", |
| "include/mlir/IR/OpAsmInterface.td", |
| "include/mlir/IR/OpBase.td", |
| "include/mlir/Transforms/InliningUtils.h", |
| ], |
| visibility = ["@llvm-project//mlir:friends"], |
| ) |
| |
| exports_files( |
| [ |
| "include/mlir/Interfaces/InferTypeOpInterface.td", |
| "include/mlir/Transforms/LoopLikeInterface.td", |
| ], |
| visibility = ["@llvm-project//mlir:friends"], |
| ) |