Merge pull request #3400 from GMNGeoffrey:main-to-google
PiperOrigin-RevId: 336087048
diff --git a/.bazelignore b/.bazelignore
index 99f076b..743cde4 100644
--- a/.bazelignore
+++ b/.bazelignore
@@ -20,6 +20,7 @@
# Ignore third_party directories which contain BUILD files so that recursive
# from root works.
third_party
+build_tools/bazel/third_party_import/llvm-project/overlay
# TODO: enable this when Java bindings are wired up.
bindings/java
diff --git a/.github/workflows/update_llvm_dependent_submodules.yml b/.github/workflows/update_tf.yml
similarity index 72%
rename from .github/workflows/update_llvm_dependent_submodules.yml
rename to .github/workflows/update_tf.yml
index 981a3a9..75f6bbd 100644
--- a/.github/workflows/update_llvm_dependent_submodules.yml
+++ b/.github/workflows/update_tf.yml
@@ -12,15 +12,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Creates a PR to update all LLVM-dependent submodules to the current LLVM
-# commit in the repo.
+# Creates a PR to update the TF submodule to HEAD & copy the latest
+# version of the LLVM Bazel BUILD files from TF.
-name: Synchronize LLVM Dependents
+name: Update TensorFlow
on:
schedule:
# Every 6 hours at 0, 6, 12, 18 UTC (4, 10, 16, 22 PST)
- - cron: "0 */6 * * *"
+ - cron: '0 */6 * * *'
jobs:
update_tf:
@@ -38,26 +38,24 @@
run: ./scripts/git/update_to_llvm_syncpoint.py
- name: Calculating SHAs
run: |
- echo "::set-env name=LLVM_SHA::$(git submodule status third_party/llvm-project | awk '{print $1}' | cut -c -12)"
echo "::set-env name=TF_SHA::$(git submodule status third_party/tensorflow | awk '{print $1}' | cut -c -12)"
- echo "::set-env name=LLVM_BAZEL_SHA::$(git submodule status third_party/llvm-bazel | awk '{print $1}' | cut -c -12)"
+ echo "::set-env name=LLVM_SHA::$(git submodule status third_party/llvm-project | awk '{print $1}' | cut -c -12)"
- name: Creating Pull Request
uses: peter-evans/create-pull-request@v2
with:
# Personal token is required to trigger additional automation (e.g. presubmits).
token: ${{ secrets.GITHUB_WRITE_ACCESS_TOKEN }}
- commit-message: "Synchronize submodules with LLVM at llvm/llvm-project@${{ env.LLVM_SHA }}"
- title: "Synchronize submodules with LLVM at llvm/llvm-project@${{ env.LLVM_SHA }}"
+ commit-message: "Integrate TF at tensorflow/tensorflow@${{ env.TF_SHA }}"
+ title: "Integrate TF at tensorflow/tensorflow@${{ env.TF_SHA }}"
body: |
- Updates LLVM dependencies to match
- [${{ env.LLVM_SHA }}](https://github.com/llvm/llvm-project/commit/${{ env.LLVM_SHA }}).
- - llvm-bazel to
- [${{ env.LLVM_BAZEL_SHA }}](https://github.com/google/llvm-bazel/commit/${{ env.LLVM_BAZEL_SHA }})
- - TensorFlow to
+ Updates TF to
[${{ env.TF_SHA }}](https://github.com/tensorflow/tensorflow/commit/${{ env.TF_SHA }})
+ matching
+ [${{ env.LLVM_SHA }}](https://github.com/llvm/llvm-project/commit/${{ env.LLVM_SHA }})
+ and copies over the LLVM BUILD files.
`./scripts/git/update_to_llvm_syncpoint.py`
- Automated submodule bump from .github/workflows/update_llvm_dependent_submodules.yml
+ Automated submodule bump from .github/workflows/update_tf.yml
committer: "Submodule Update Action <iree-github-actions-bot@google.com>"
branch: "auto_submodule_update"
diff --git a/.gitmodules b/.gitmodules
index a51b4c9..85b7b8f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -59,6 +59,3 @@
[submodule "third_party/cpuinfo"]
path = third_party/cpuinfo
url = https://github.com/pytorch/cpuinfo.git
-[submodule "third_party/llvm-bazel"]
- path = third_party/llvm-bazel
- url = https://github.com/google/llvm-bazel.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eb5a04b..701ba0d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -291,8 +291,8 @@
#-------------------------------------------------------------------------------
# Disable LLVM's warnings.
-set(LLVM_ENABLE_ASSERTIONS OFF CACHE STRING "don't use global flags /facepalm")
-set(LLVM_ENABLE_WARNINGS OFF CACHE STRING "don't use global flags /facepalm")
+set(LLVM_ENABLE_ASSERTIONS OFF CACHE BOOL "don't use global flags /facepalm")
+set(LLVM_ENABLE_WARNINGS OFF CACHE BOOL "don't use global flags /facepalm")
# Adds bundled projects that must be included after the LLVM directory has
# been added and within the scope of its settings (i.e. build type override,
@@ -304,17 +304,17 @@
endfunction()
function(add_iree_mlir_src_dep llvm_monorepo_path)
+ # Stash cmake build type in case LLVM messes with it.
+ set(_CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}")
+
# experimental model builder uses vulkan runner.
if(${IREE_BUILD_EXPERIMENTAL})
set(MLIR_VULKAN_RUNNER_ENABLED ON)
endif()
- # Disable LLVM's warnings
- set(LLVM_ENABLE_WARNINGS OFF)
-
add_subdirectory("${llvm_monorepo_path}/llvm" "third_party/llvm-project/llvm" EXCLUDE_FROM_ALL)
- # Reset CMAKE_BUILD_TYPE to its previous setting
+ # Reset CMAKE_BUILD_TYPE to its previous setting.
set(CMAKE_BUILD_TYPE "${_CMAKE_BUILD_TYPE}" CACHE STRING "Build type (default ${DEFAULT_CMAKE_BUILD_TYPE})" FORCE)
endfunction()
diff --git a/SUBMODULE_VERSIONS b/SUBMODULE_VERSIONS
index d69c28d..2c48101 100644
--- a/SUBMODULE_VERSIONS
+++ b/SUBMODULE_VERSIONS
@@ -5,7 +5,6 @@
a5d9d0f7d368054fd1691aedf1db4116efcc233e third_party/flatbuffers
4fb0ff7069bd88ee85902f4d0bb62794e5f6d021 third_party/flatcc
f2fb48c3b3d79a75a88a99fba6576b25d42ec528 third_party/googletest
-f0d426064ff1ed45438424d5c53f753c6d4c809b third_party/llvm-bazel
9908ee5670596db4fdc2bd7ea7c3071c0e02a784 third_party/llvm-project
17b12a4481daa150e2d1ea3ada086b551b856707 third_party/marl
d2cdb70e038370b5e28f353fe98ccd70af1cbc25 third_party/mlir-emitc
diff --git a/WORKSPACE b/WORKSPACE
index a6db513..c907ffb 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -107,34 +107,13 @@
###############################################################################
# llvm-project
-
-maybe(
- local_repository,
- name = "llvm_bazel",
- path = "third_party/llvm-bazel/llvm-bazel",
-)
-
-load("@llvm_bazel//:zlib.bzl", "llvm_zlib_disable")
-
-maybe(
- llvm_zlib_disable,
- name = "llvm_zlib",
-)
-
-load("@llvm_bazel//:terminfo.bzl", "llvm_terminfo_disable")
-
-maybe(
- llvm_terminfo_disable,
- name = "llvm_terminfo",
-)
-
-load("@llvm_bazel//:configure.bzl", "llvm_configure")
+load("@iree_core//build_tools/bazel/third_party_import/llvm-project:configure.bzl", "llvm_configure")
maybe(
llvm_configure,
name = "llvm-project",
- src_path = "third_party/llvm-project",
- src_workspace = "@iree_core//:WORKSPACE",
+ path = "third_party/llvm-project",
+ workspace = "@iree_core//:WORKSPACE",
)
###############################################################################
diff --git a/build_tools/bazel/iree.bazelrc b/build_tools/bazel/iree.bazelrc
index ee0a1cb..46922a4 100644
--- a/build_tools/bazel/iree.bazelrc
+++ b/build_tools/bazel/iree.bazelrc
@@ -298,4 +298,10 @@
# Another TensorFlow flag from their config script.
build:windows --define with_default_optimizations=true
+# TensorFlow builds depend on these flags so we will as well
+# MSVC (Windows): Standards-conformant preprocessor mode
+# See https://docs.microsoft.com/en-us/cpp/preprocessor/preprocessor-experimental-overview
+build:windows --copt=/experimental:preprocessor
+build:windows --host_copt=/experimental:preprocessor
+
###############################################################################
diff --git a/build_tools/bazel/third_party_import/llvm-project/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/BUILD.bazel
new file mode 100644
index 0000000..9a78dc1
--- /dev/null
+++ b/build_tools/bazel/third_party_import/llvm-project/BUILD.bazel
@@ -0,0 +1,15 @@
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Intentionally empty.
diff --git a/build_tools/bazel/third_party_import/llvm-project/configure.bzl b/build_tools/bazel/third_party_import/llvm-project/configure.bzl
new file mode 100644
index 0000000..6779ebd
--- /dev/null
+++ b/build_tools/bazel/third_party_import/llvm-project/configure.bzl
@@ -0,0 +1,99 @@
+# Copyright 2019 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Configures an LLVM overlay project."""
+
+_OVERLAY_PARENT_PATHS = [
+ "llvm",
+ "mlir",
+ "mlir/test",
+]
+
+def _is_absolute(path):
+ """Returns `True` if `path` is an absolute path.
+ Args:
+ path: A path (which is a string).
+ Returns:
+ `True` if `path` is an absolute path.
+ """
+ return path.startswith("/") or (len(path) > 2 and path[1] == ":")
+
+def _join_path(a, b):
+ return str(a) + "/" + str(b)
+
+def _symlink_src_dir(repository_ctx, from_path, to_path):
+ children = repository_ctx.path(from_path).readdir()
+ for from_child_path in children:
+ if to_path:
+ to_child_path = _join_path(to_path, from_child_path.basename)
+ else: # Root
+ to_child_path = from_child_path.basename
+
+ # Skip paths that are already in the overlay list.
+ # They will have this function called on them to populate.
+ if to_child_path in _OVERLAY_PARENT_PATHS:
+ continue
+ repository_ctx.symlink(from_child_path, to_child_path)
+
+def _llvm_configure_impl(repository_ctx):
+ # Compute path that sources are symlinked from.
+ src_workspace_path = repository_ctx.path(
+ repository_ctx.attr.workspace,
+ ).dirname
+ src_path = repository_ctx.attr.path
+ if not _is_absolute(src_path):
+ src_path = _join_path(src_workspace_path, src_path)
+
+ # Compute path (relative to here) where overlay files
+ # are symlinked from.
+ this_workspace_path = repository_ctx.path(
+ repository_ctx.attr.workspace,
+ ).dirname
+ overlay_path = _join_path(
+ this_workspace_path,
+ "build_tools/bazel/third_party_import/llvm-project/overlay",
+ )
+
+ # Each parent path of an overlay file must have its children manually
+ # symlinked. This is because the directory itself must be in the cahche
+ # (so that we can modify it without modifying the underlying source
+ # path). An alternative to this would be to perform a deep symlink of
+ # the entire tree (which would be wasteful).
+ for overlay_parent_path in _OVERLAY_PARENT_PATHS:
+ src_child_path = _join_path(src_path, overlay_parent_path)
+ overlay_child_path = _join_path(overlay_path, overlay_parent_path)
+
+ # Symlink from external src path
+ _symlink_src_dir(repository_ctx, src_child_path, overlay_parent_path)
+
+ # Symlink from the overlay path.
+ _symlink_src_dir(repository_ctx, overlay_child_path, overlay_parent_path)
+
+ # Then symlink any top-level entries not previously handled.
+ # Doing it here means that if we got it wrong, it will fail with a
+ # "File Exists" error vs doing the wrong thing.
+ _symlink_src_dir(repository_ctx, src_path, "")
+
+ # Build files and overlays.
+ repository_ctx.file("BUILD") # Root build is empty.
+
+llvm_configure = repository_rule(
+ implementation = _llvm_configure_impl,
+ local = True,
+ attrs = {
+ "_this_workspace": attr.label(default = Label("//:WORKSPACE")),
+ "workspace": attr.label(default = Label("//:WORKSPACE")),
+ "path": attr.string(mandatory = True),
+ },
+)
diff --git a/build_tools/bazel/third_party_import/llvm-project/overlay/llvm/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/overlay/llvm/BUILD.bazel
new file mode 100644
index 0000000..e0d64fe
--- /dev/null
+++ b/build_tools/bazel/third_party_import/llvm-project/overlay/llvm/BUILD.bazel
@@ -0,0 +1,4771 @@
+# Bazel BUILD file for LLVM.
+#
+# This BUILD file is auto-generated; do not edit!
+
+licenses(["notice"])
+
+exports_files(["LICENSE.TXT"])
+
+load(
+ "@org_tensorflow//third_party/llvm:llvm.bzl",
+ "cmake_var_string",
+ "expand_cmake_vars",
+ "gentbl",
+ "llvm_all_cmake_vars",
+ "llvm_copts",
+ "llvm_defines",
+ "llvm_linkopts",
+ "llvm_support_platform_specific_srcs_glob",
+)
+load(
+ "@org_tensorflow//third_party:common.bzl",
+ "template_rule",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+llvm_host_triple = "x86_64-unknown-linux_gnu"
+
+llvm_targets = [
+ "AArch64",
+ "AMDGPU",
+ "ARM",
+ "NVPTX",
+ "PowerPC",
+ "SystemZ",
+ "X86",
+]
+
+llvm_target_asm_parsers = llvm_targets
+
+llvm_target_asm_printers = llvm_targets
+
+llvm_target_disassemblers = llvm_targets
+
+# Performs CMake variable substitutions on configuration header files.
+expand_cmake_vars(
+ name = "config_gen",
+ src = "include/llvm/Config/config.h.cmake",
+ cmake_vars = llvm_all_cmake_vars,
+ dst = "include/llvm/Config/config.h",
+)
+
+expand_cmake_vars(
+ name = "llvm_config_gen",
+ src = "include/llvm/Config/llvm-config.h.cmake",
+ cmake_vars = llvm_all_cmake_vars,
+ dst = "include/llvm/Config/llvm-config.h",
+)
+
+expand_cmake_vars(
+ name = "abi_breaking_gen",
+ src = "include/llvm/Config/abi-breaking.h.cmake",
+ cmake_vars = llvm_all_cmake_vars,
+ dst = "include/llvm/Config/abi-breaking.h",
+)
+
+# Performs macro expansions on .def.in files
+template_rule(
+ name = "targets_def_gen",
+ src = "include/llvm/Config/Targets.def.in",
+ out = "include/llvm/Config/Targets.def",
+ substitutions = {
+ "@LLVM_ENUM_TARGETS@": "\n".join(
+ ["LLVM_TARGET({})".format(t) for t in llvm_targets],
+ ),
+ },
+)
+
+template_rule(
+ name = "asm_parsers_def_gen",
+ src = "include/llvm/Config/AsmParsers.def.in",
+ out = "include/llvm/Config/AsmParsers.def",
+ substitutions = {
+ "@LLVM_ENUM_ASM_PARSERS@": "\n".join(
+ ["LLVM_ASM_PARSER({})".format(t) for t in llvm_target_asm_parsers],
+ ),
+ },
+)
+
+template_rule(
+ name = "asm_printers_def_gen",
+ src = "include/llvm/Config/AsmPrinters.def.in",
+ out = "include/llvm/Config/AsmPrinters.def",
+ substitutions = {
+ "@LLVM_ENUM_ASM_PRINTERS@": "\n".join(
+ ["LLVM_ASM_PRINTER({})".format(t) for t in llvm_target_asm_printers],
+ ),
+ },
+)
+
+template_rule(
+ name = "disassemblers_def_gen",
+ src = "include/llvm/Config/Disassemblers.def.in",
+ out = "include/llvm/Config/Disassemblers.def",
+ substitutions = {
+ "@LLVM_ENUM_DISASSEMBLERS@": "\n".join(
+ ["LLVM_DISASSEMBLER({})".format(t) for t in llvm_target_disassemblers],
+ ),
+ },
+)
+
+# A common library that all LLVM targets depend on.
+# TODO(b/113996071): We need to glob all potentially #included files and stage
+# them here because LLVM's build files are not strict headers clean, and remote
+# build execution requires all inputs to be depended upon.
+cc_library(
+ name = "config",
+ hdrs = glob([
+ "**/*.h",
+ "**/*.def",
+ "**/*.inc.cpp",
+ ]) + [
+ "include/llvm/Config/AsmParsers.def",
+ "include/llvm/Config/AsmPrinters.def",
+ "include/llvm/Config/Disassemblers.def",
+ "include/llvm/Config/Targets.def",
+ "include/llvm/Config/config.h",
+ "include/llvm/Config/llvm-config.h",
+ "include/llvm/Config/abi-breaking.h",
+ ],
+ defines = llvm_defines,
+ includes = ["include"],
+)
+
+# A creator of an empty file include/llvm/Support/VCSRevision.h.
+# This is usually populated by the upstream build infrastructure, but in this
+# case we leave it blank. See upstream revision r300160.
+genrule(
+ name = "vcs_revision_gen",
+ srcs = [],
+ outs = ["include/llvm/Support/VCSRevision.h"],
+ cmd = "echo '' > \"$@\"",
+)
+
+# Rules that apply the LLVM tblgen tool.
+gentbl(
+ name = "attributes_gen",
+ tbl_outs = [("-gen-attrs", "include/llvm/IR/Attributes.inc")],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Attributes.td",
+ td_srcs = ["include/llvm/IR/Attributes.td"],
+)
+
+gentbl(
+ name = "InstCombineTableGen",
+ tbl_outs = [(
+ "-gen-searchable-tables",
+ "lib/Target/AMDGPU/InstCombineTables.inc",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "lib/Target/AMDGPU/InstCombineTables.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]) + ["include/llvm/TableGen/SearchableTable.td"],
+)
+
+gentbl(
+ name = "intrinsic_enums_gen",
+ tbl_outs = [("-gen-intrinsic-enums", "include/llvm/IR/IntrinsicEnums.inc")],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "aarch64_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=aarch64",
+ "include/llvm/IR/IntrinsicsAArch64.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "amdgcn_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=amdgcn",
+ "include/llvm/IR/IntrinsicsAMDGPU.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "arm_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=arm",
+ "include/llvm/IR/IntrinsicsARM.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "bpf_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=bpf",
+ "include/llvm/IR/IntrinsicsBPF.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "hexagon_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=hexagon",
+ "include/llvm/IR/IntrinsicsHexagon.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "mips_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=mips",
+ "include/llvm/IR/IntrinsicsMips.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "nvvm_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=nvvm",
+ "include/llvm/IR/IntrinsicsNVPTX.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "ppc_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=ppc",
+ "include/llvm/IR/IntrinsicsPowerPC.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "r600_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=r600",
+ "include/llvm/IR/IntrinsicsR600.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "riscv_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=riscv",
+ "include/llvm/IR/IntrinsicsRISCV.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "s390_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=s390",
+ "include/llvm/IR/IntrinsicsS390.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "wasm_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=wasm",
+ "include/llvm/IR/IntrinsicsWebAssembly.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "x86_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=x86",
+ "include/llvm/IR/IntrinsicsX86.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "xcore_enums_gen",
+ tbl_outs = [(
+ "-gen-intrinsic-enums -intrinsic-prefix=xcore",
+ "include/llvm/IR/IntrinsicsXCore.h",
+ )],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+gentbl(
+ name = "intrinsics_impl_gen",
+ tbl_outs = [("-gen-intrinsic-impl", "include/llvm/IR/IntrinsicImpl.inc")],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/IR/Intrinsics.td",
+ td_srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ ]),
+)
+
+cc_library(
+ name = "tblgen",
+ srcs = glob([
+ "utils/TableGen/*.cpp",
+ "utils/TableGen/*.h",
+ "utils/TableGen/GlobalISel/*.cpp",
+ ]),
+ hdrs = glob([
+ "utils/TableGen/GlobalISel/*.h",
+ ]),
+ deps = [
+ ":MC",
+ ":Support",
+ ":TableGen",
+ ":config",
+ ],
+)
+
+# Binary targets used by Tensorflow.
+cc_binary(
+ name = "llvm-tblgen",
+ srcs = glob([
+ "utils/TableGen/*.cpp",
+ "utils/TableGen/*.h",
+ ]),
+ copts = llvm_copts,
+ linkopts = llvm_linkopts,
+ stamp = 0,
+ deps = [
+ ":Support",
+ ":TableGen",
+ ":config",
+ ":tblgen",
+ ],
+)
+
+cc_library(
+ name = "FileCheckLib",
+ srcs = glob([
+ "lib/FileCheck/*.cpp",
+ "lib/FileCheck/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/FileCheck/*.h",
+ ]),
+ includes = ["include"],
+ deps = [":Support"],
+)
+
+cc_binary(
+ name = "FileCheck",
+ testonly = 1,
+ srcs = glob([
+ "utils/FileCheck/*.cpp",
+ "utils/FileCheck/*.h",
+ ]),
+ copts = llvm_copts,
+ linkopts = llvm_linkopts,
+ stamp = 0,
+ deps = [
+ ":FileCheckLib",
+ ":Support",
+ ],
+)
+
+llvm_target_list = [
+ {
+ "name": "AArch64",
+ "lower_name": "aarch64",
+ "short_name": "AArch64",
+ "dir_name": "AArch64",
+ "tbl_outs": [
+ ("-gen-register-bank", "lib/Target/AArch64/AArch64GenRegisterBank.inc"),
+ ("-gen-register-info", "lib/Target/AArch64/AArch64GenRegisterInfo.inc"),
+ ("-gen-instr-info", "lib/Target/AArch64/AArch64GenInstrInfo.inc"),
+ ("-gen-emitter", "lib/Target/AArch64/AArch64GenMCCodeEmitter.inc"),
+ ("-gen-pseudo-lowering", "lib/Target/AArch64/AArch64GenMCPseudoLowering.inc"),
+ ("-gen-asm-writer", "lib/Target/AArch64/AArch64GenAsmWriter.inc"),
+ ("-gen-asm-writer -asmwriternum=1", "lib/Target/AArch64/AArch64GenAsmWriter1.inc"),
+ ("-gen-asm-matcher", "lib/Target/AArch64/AArch64GenAsmMatcher.inc"),
+ ("-gen-dag-isel", "lib/Target/AArch64/AArch64GenDAGISel.inc"),
+ ("-gen-fast-isel", "lib/Target/AArch64/AArch64GenFastISel.inc"),
+ ("-gen-global-isel", "lib/Target/AArch64/AArch64GenGlobalISel.inc"),
+ ("-gen-global-isel-combiner -combiners=AArch64PreLegalizerCombinerHelper", "lib/Target/AArch64/AArch64GenPreLegalizeGICombiner.inc"),
+ ("-gen-global-isel-combiner -combiners=AArch64PostLegalizerCombinerHelper", "lib/Target/AArch64/AArch64GenPostLegalizeGICombiner.inc"),
+ ("-gen-callingconv", "lib/Target/AArch64/AArch64GenCallingConv.inc"),
+ ("-gen-subtarget", "lib/Target/AArch64/AArch64GenSubtargetInfo.inc"),
+ ("-gen-disassembler", "lib/Target/AArch64/AArch64GenDisassemblerTables.inc"),
+ ("-gen-searchable-tables", "lib/Target/AArch64/AArch64GenSystemOperands.inc"),
+ ],
+ },
+ {
+ "name": "AMDGPU",
+ "lower_name": "amdgpu",
+ "short_name": "AMDGPU",
+ "dir_name": "AMDGPU",
+ "tbl_outs": [
+ ("-gen-register-bank", "lib/Target/AMDGPU/AMDGPUGenRegisterBank.inc"),
+ ("-gen-register-info", "lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc"),
+ ("-gen-instr-info", "lib/Target/AMDGPU/AMDGPUGenInstrInfo.inc"),
+ ("-gen-emitter", "lib/Target/AMDGPU/AMDGPUGenMCCodeEmitter.inc"),
+ ("-gen-pseudo-lowering", "lib/Target/AMDGPU/AMDGPUGenMCPseudoLowering.inc"),
+ ("-gen-asm-writer", "lib/Target/AMDGPU/AMDGPUGenAsmWriter.inc"),
+ ("-gen-asm-matcher", "lib/Target/AMDGPU/AMDGPUGenAsmMatcher.inc"),
+ ("-gen-dag-isel", "lib/Target/AMDGPU/AMDGPUGenDAGISel.inc"),
+ ("-gen-callingconv", "lib/Target/AMDGPU/AMDGPUGenCallingConv.inc"),
+ ("-gen-subtarget", "lib/Target/AMDGPU/AMDGPUGenSubtargetInfo.inc"),
+ ("-gen-disassembler", "lib/Target/AMDGPU/AMDGPUGenDisassemblerTables.inc"),
+ ("-gen-searchable-tables", "lib/Target/AMDGPU/AMDGPUGenSearchableTables.inc"),
+ ],
+ "tbl_deps": [
+ ":amdgpu_isel_target_gen",
+ ],
+ },
+ {
+ "name": "ARM",
+ "lower_name": "arm",
+ "short_name": "ARM",
+ "dir_name": "ARM",
+ "tbl_outs": [
+ ("-gen-register-bank", "lib/Target/ARM/ARMGenRegisterBank.inc"),
+ ("-gen-register-info", "lib/Target/ARM/ARMGenRegisterInfo.inc"),
+ ("-gen-searchable-tables", "lib/Target/ARM/ARMGenSystemRegister.inc"),
+ ("-gen-instr-info", "lib/Target/ARM/ARMGenInstrInfo.inc"),
+ ("-gen-emitter", "lib/Target/ARM/ARMGenMCCodeEmitter.inc"),
+ ("-gen-pseudo-lowering", "lib/Target/ARM/ARMGenMCPseudoLowering.inc"),
+ ("-gen-asm-writer", "lib/Target/ARM/ARMGenAsmWriter.inc"),
+ ("-gen-asm-matcher", "lib/Target/ARM/ARMGenAsmMatcher.inc"),
+ ("-gen-dag-isel", "lib/Target/ARM/ARMGenDAGISel.inc"),
+ ("-gen-fast-isel", "lib/Target/ARM/ARMGenFastISel.inc"),
+ ("-gen-global-isel", "lib/Target/ARM/ARMGenGlobalISel.inc"),
+ ("-gen-callingconv", "lib/Target/ARM/ARMGenCallingConv.inc"),
+ ("-gen-subtarget", "lib/Target/ARM/ARMGenSubtargetInfo.inc"),
+ ("-gen-disassembler", "lib/Target/ARM/ARMGenDisassemblerTables.inc"),
+ ],
+ },
+ {
+ "name": "NVPTX",
+ "lower_name": "nvptx",
+ "short_name": "NVPTX",
+ "dir_name": "NVPTX",
+ "tbl_outs": [
+ ("-gen-register-info", "lib/Target/NVPTX/NVPTXGenRegisterInfo.inc"),
+ ("-gen-instr-info", "lib/Target/NVPTX/NVPTXGenInstrInfo.inc"),
+ ("-gen-asm-writer", "lib/Target/NVPTX/NVPTXGenAsmWriter.inc"),
+ ("-gen-dag-isel", "lib/Target/NVPTX/NVPTXGenDAGISel.inc"),
+ ("-gen-subtarget", "lib/Target/NVPTX/NVPTXGenSubtargetInfo.inc"),
+ ],
+ },
+ {
+ "name": "PowerPC",
+ "lower_name": "powerpc",
+ "short_name": "PPC",
+ "dir_name": "PowerPC",
+ "tbl_outs": [
+ ("-gen-asm-writer", "lib/Target/PowerPC/PPCGenAsmWriter.inc"),
+ ("-gen-asm-matcher", "lib/Target/PowerPC/PPCGenAsmMatcher.inc"),
+ ("-gen-emitter", "lib/Target/PowerPC/PPCGenMCCodeEmitter.inc"),
+ ("-gen-register-info", "lib/Target/PowerPC/PPCGenRegisterInfo.inc"),
+ ("-gen-instr-info", "lib/Target/PowerPC/PPCGenInstrInfo.inc"),
+ ("-gen-dag-isel", "lib/Target/PowerPC/PPCGenDAGISel.inc"),
+ ("-gen-fast-isel", "lib/Target/PowerPC/PPCGenFastISel.inc"),
+ ("-gen-callingconv", "lib/Target/PowerPC/PPCGenCallingConv.inc"),
+ ("-gen-subtarget", "lib/Target/PowerPC/PPCGenSubtargetInfo.inc"),
+ ("-gen-disassembler", "lib/Target/PowerPC/PPCGenDisassemblerTables.inc"),
+ ("-gen-register-bank", "lib/Target/PowerPC/PPCGenRegisterBank.inc"),
+ ("-gen-global-isel", "lib/Target/PowerPC/PPCGenGlobalISel.inc"),
+ ],
+ },
+ {
+ "name": "SystemZ",
+ "lower_name": "system_z",
+ "short_name": "SystemZ",
+ "dir_name": "SystemZ",
+ "tbl_outs": [
+ ("-gen-asm-writer", "lib/Target/SystemZ/SystemZGenAsmWriter.inc"),
+ ("-gen-asm-matcher", "lib/Target/SystemZ/SystemZGenAsmMatcher.inc"),
+ ("-gen-emitter", "lib/Target/SystemZ/SystemZGenMCCodeEmitter.inc"),
+ ("-gen-register-info", "lib/Target/SystemZ/SystemZGenRegisterInfo.inc"),
+ ("-gen-instr-info", "lib/Target/SystemZ/SystemZGenInstrInfo.inc"),
+ ("-gen-dag-isel", "lib/Target/SystemZ/SystemZGenDAGISel.inc"),
+ ("-gen-callingconv", "lib/Target/SystemZ/SystemZGenCallingConv.inc"),
+ ("-gen-subtarget", "lib/Target/SystemZ/SystemZGenSubtargetInfo.inc"),
+ ("-gen-disassembler", "lib/Target/SystemZ/SystemZGenDisassemblerTables.inc"),
+ ],
+ },
+ {
+ "name": "X86",
+ "lower_name": "x86",
+ "short_name": "X86",
+ "dir_name": "X86",
+ "tbl_outs": [
+ ("-gen-register-bank", "lib/Target/X86/X86GenRegisterBank.inc"),
+ ("-gen-register-info", "lib/Target/X86/X86GenRegisterInfo.inc"),
+ ("-gen-disassembler", "lib/Target/X86/X86GenDisassemblerTables.inc"),
+ ("-gen-instr-info", "lib/Target/X86/X86GenInstrInfo.inc"),
+ ("-gen-asm-writer", "lib/Target/X86/X86GenAsmWriter.inc"),
+ ("-gen-asm-writer -asmwriternum=1", "lib/Target/X86/X86GenAsmWriter1.inc"),
+ ("-gen-asm-matcher", "lib/Target/X86/X86GenAsmMatcher.inc"),
+ ("-gen-dag-isel", "lib/Target/X86/X86GenDAGISel.inc"),
+ ("-gen-fast-isel", "lib/Target/X86/X86GenFastISel.inc"),
+ ("-gen-global-isel", "lib/Target/X86/X86GenGlobalISel.inc"),
+ ("-gen-callingconv", "lib/Target/X86/X86GenCallingConv.inc"),
+ ("-gen-subtarget", "lib/Target/X86/X86GenSubtargetInfo.inc"),
+ ("-gen-x86-EVEX2VEX-tables", "lib/Target/X86/X86GenEVEX2VEXTables.inc"),
+ ("-gen-exegesis", "lib/Target/X86/X86GenExegesis.inc"),
+ ],
+ },
+]
+
+filegroup(
+ name = "common_target_td_sources",
+ srcs = glob([
+ "include/llvm/CodeGen/*.td",
+ "include/llvm/Frontend/Directive/*.td",
+ "include/llvm/IR/Intrinsics*.td",
+ "include/llvm/TableGen/*.td",
+ "include/llvm/Target/*.td",
+ "include/llvm/Target/GlobalISel/*.td",
+ ]),
+)
+
+gentbl(
+ name = "amdgpu_isel_target_gen",
+ tbl_outs = [
+ ("-gen-global-isel", "lib/Target/AMDGPU/AMDGPUGenGlobalISel.inc"),
+ ("-gen-global-isel-combiner -combiners=AMDGPUPreLegalizerCombinerHelper", "lib/Target/AMDGPU/AMDGPUGenPreLegalizeGICombiner.inc"),
+ ("-gen-global-isel-combiner -combiners=AMDGPUPostLegalizerCombinerHelper", "lib/Target/AMDGPU/AMDGPUGenPostLegalizeGICombiner.inc"),
+ ("-gen-global-isel-combiner -combiners=AMDGPURegBankCombinerHelper", "lib/Target/AMDGPU/AMDGPUGenRegBankGICombiner.inc"),
+ ],
+ tblgen = ":llvm-tblgen",
+ td_file = "lib/Target/AMDGPU/AMDGPUGISel.td",
+ td_srcs = [
+ ":common_target_td_sources",
+ ] + glob([
+ "lib/Target/AMDGPU/*.td",
+ ]),
+)
+
+gentbl(
+ name = "r600_target_gen",
+ tbl_outs = [
+ ("-gen-asm-writer", "lib/Target/AMDGPU/R600GenAsmWriter.inc"),
+ ("-gen-callingconv", "lib/Target/AMDGPU/R600GenCallingConv.inc"),
+ ("-gen-dag-isel", "lib/Target/AMDGPU/R600GenDAGISel.inc"),
+ ("-gen-dfa-packetizer", "lib/Target/AMDGPU/R600GenDFAPacketizer.inc"),
+ ("-gen-instr-info", "lib/Target/AMDGPU/R600GenInstrInfo.inc"),
+ ("-gen-emitter", "lib/Target/AMDGPU/R600GenMCCodeEmitter.inc"),
+ ("-gen-register-info", "lib/Target/AMDGPU/R600GenRegisterInfo.inc"),
+ ("-gen-subtarget", "lib/Target/AMDGPU/R600GenSubtargetInfo.inc"),
+ ],
+ tblgen = ":llvm-tblgen",
+ td_file = "lib/Target/AMDGPU/R600.td",
+ td_srcs = [
+ ":common_target_td_sources",
+ ] + glob([
+ "lib/Target/AMDGPU/*.td",
+ ]),
+)
+
+[gentbl(
+ name = target["name"] + "CommonTableGen",
+ tbl_outs = target["tbl_outs"],
+ tblgen = ":llvm-tblgen",
+ td_file = "lib/Target/" + target["dir_name"] + "/" + target["short_name"] + ".td",
+ td_srcs = [
+ ":common_target_td_sources",
+ ] + glob([
+ "lib/Target/" + target["dir_name"] + "/*.td",
+ "lib/Target/" + target["name"] + "/GISel/*.td",
+ ]),
+ deps = target.get("tbl_deps", []),
+) for target in llvm_target_list]
+
+# This target is used to provide *.def files to x86_code_gen.
+# Files with '.def' extension are not allowed in 'srcs' of 'cc_library' rule.
+cc_library(
+ name = "x86_defs",
+ hdrs = glob([
+ "lib/Target/X86/*.def",
+ ]),
+ visibility = ["//visibility:private"],
+)
+
+# This filegroup provides the docker build script in LLVM repo
+filegroup(
+ name = "docker",
+ srcs = glob([
+ "utils/docker/build_docker_image.sh",
+ ]),
+ visibility = ["//visibility:public"],
+)
+
+py_binary(
+ name = "lit",
+ srcs = ["utils/lit/lit.py"] + glob(["utils/lit/lit/**/*.py"]),
+)
+
+cc_binary(
+ name = "count",
+ srcs = ["utils/count/count.c"],
+)
+
+cc_binary(
+ name = "not",
+ srcs = ["utils/not/not.cpp"],
+ copts = llvm_copts,
+ linkopts = llvm_linkopts,
+ deps = [
+ ":Support",
+ ],
+)
+
+cc_library(
+ name = "AllTargetsCodeGens",
+ deps = [
+ target["name"] + "CodeGen"
+ for target in llvm_target_list
+ ],
+)
+
+exports_files([
+ "include/llvm/Frontend/OpenMP/OMP.td",
+])
+
+filegroup(
+ name = "omp_td_files",
+ srcs = glob([
+ "include/llvm/Frontend/OpenMP/*.td",
+ "include/llvm/Frontend/Directive/*.td",
+ ]),
+)
+
+gentbl(
+ name = "omp_gen",
+ tbl_outs = [("--gen-directive-decl", "include/llvm/Frontend/OpenMP/OMP.h.inc")],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/Frontend/OpenMP/OMP.td",
+ td_srcs = [
+ ":omp_td_files",
+ ],
+)
+
+gentbl(
+ name = "omp_gen_impl",
+ tbl_outs = [("--gen-directive-impl", "include/llvm/Frontend/OpenMP/OMP.cpp")],
+ tblgen = ":llvm-tblgen",
+ td_file = "include/llvm/Frontend/OpenMP/OMP.td",
+ td_srcs = [
+ ":omp_td_files",
+ ],
+)
+
+# TODO(b/159809163): autogenerate this after enabling release-mode ML
+# InlineAdvisor
+cc_library(
+ name = "Analysis",
+ srcs = glob(
+ [
+ "lib/Analysis/*.c",
+ "lib/Analysis/*.cpp",
+ "lib/Analysis/*.inc",
+ "include/llvm/Transforms/Utils/Local.h",
+ "include/llvm/Transforms/Scalar.h",
+ "lib/Analysis/*.h",
+ ],
+ exclude = [
+ "lib/Analysis/DevelopmentModeInlineAdvisor.cpp",
+ "lib/Analysis/MLInlineAdvisor.cpp",
+ "lib/Analysis/ReleaseModeModelRunner.cpp",
+ "lib/Analysis/TFUtils.cpp",
+ ],
+ ),
+ hdrs = glob([
+ "include/llvm/Analysis/*.h",
+ "include/llvm/Analysis/*.def",
+ "include/llvm/Analysis/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":Core",
+ ":Object",
+ ":ProfileData",
+ ":Support",
+ ":config",
+ ],
+)
+
+########################## Begin generated content ##########################
+cc_library(
+ name = "AArch64AsmParser",
+ srcs = glob([
+ "lib/Target/AArch64/AsmParser/*.c",
+ "lib/Target/AArch64/AsmParser/*.cpp",
+ "lib/Target/AArch64/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AArch64/AsmParser/*.h",
+ "include/llvm/Target/AArch64/AsmParser/*.def",
+ "include/llvm/Target/AArch64/AsmParser/*.inc",
+ "lib/Target/AArch64/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AArch64"],
+ deps = [
+ ":AArch64Desc",
+ ":AArch64Info",
+ ":AArch64Utils",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AArch64CodeGen",
+ srcs = glob([
+ "lib/Target/AArch64/*.c",
+ "lib/Target/AArch64/*.cpp",
+ "lib/Target/AArch64/*.inc",
+ "lib/Target/AArch64/GISel/*.cpp",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AArch64/*.h",
+ "include/llvm/Target/AArch64/*.def",
+ "include/llvm/Target/AArch64/*.inc",
+ "lib/Target/AArch64/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AArch64"],
+ deps = [
+ ":AArch64Desc",
+ ":AArch64Info",
+ ":AArch64Utils",
+ ":Analysis",
+ ":AsmPrinter",
+ ":CFGuard",
+ ":CodeGen",
+ ":Core",
+ ":GlobalISel",
+ ":MC",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AArch64Desc",
+ srcs = glob([
+ "lib/Target/AArch64/MCTargetDesc/*.c",
+ "lib/Target/AArch64/MCTargetDesc/*.cpp",
+ "lib/Target/AArch64/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AArch64/MCTargetDesc/*.h",
+ "include/llvm/Target/AArch64/MCTargetDesc/*.def",
+ "include/llvm/Target/AArch64/MCTargetDesc/*.inc",
+ "lib/Target/AArch64/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AArch64"],
+ deps = [
+ ":AArch64CommonTableGen",
+ ":AArch64Info",
+ ":AArch64Utils",
+ ":BinaryFormat",
+ ":MC",
+ ":Support",
+ ":attributes_gen",
+ ":config",
+ ":intrinsic_enums_gen",
+ ":intrinsics_impl_gen",
+ ],
+)
+
+cc_library(
+ name = "AArch64Disassembler",
+ srcs = glob([
+ "lib/Target/AArch64/Disassembler/*.c",
+ "lib/Target/AArch64/Disassembler/*.cpp",
+ "lib/Target/AArch64/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AArch64/Disassembler/*.h",
+ "include/llvm/Target/AArch64/Disassembler/*.def",
+ "include/llvm/Target/AArch64/Disassembler/*.inc",
+ "lib/Target/AArch64/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AArch64"],
+ deps = [
+ ":AArch64Desc",
+ ":AArch64Info",
+ ":AArch64Utils",
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AArch64Info",
+ srcs = glob([
+ "lib/Target/AArch64/TargetInfo/*.c",
+ "lib/Target/AArch64/TargetInfo/*.cpp",
+ "lib/Target/AArch64/TargetInfo/*.inc",
+ "lib/Target/AArch64/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AArch64/TargetInfo/*.h",
+ "include/llvm/Target/AArch64/TargetInfo/*.def",
+ "include/llvm/Target/AArch64/TargetInfo/*.inc",
+ "lib/Target/AArch64/*.def",
+ "lib/Target/AArch64/AArch64*.h",
+ "lib/Target/AArch64/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AArch64"],
+ deps = [
+ ":CodeGen",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AArch64Utils",
+ srcs = glob([
+ "lib/Target/AArch64/Utils/*.c",
+ "lib/Target/AArch64/Utils/*.cpp",
+ "lib/Target/AArch64/Utils/*.inc",
+ "lib/Target/AArch64/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AArch64/Utils/*.h",
+ "include/llvm/Target/AArch64/Utils/*.def",
+ "include/llvm/Target/AArch64/Utils/*.inc",
+ "lib/Target/AArch64/Utils/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AArch64"],
+ deps = [
+ ":AArch64CommonTableGen",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AMDGPUAsmParser",
+ srcs = glob([
+ "lib/Target/AMDGPU/AsmParser/*.c",
+ "lib/Target/AMDGPU/AsmParser/*.cpp",
+ "lib/Target/AMDGPU/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/AsmParser/*.h",
+ "include/llvm/Target/AMDGPU/AsmParser/*.def",
+ "include/llvm/Target/AMDGPU/AsmParser/*.inc",
+ "lib/Target/AMDGPU/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":AMDGPUDesc",
+ ":AMDGPUInfo",
+ ":AMDGPUUtils",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AMDGPUCodeGen",
+ srcs = glob([
+ "lib/Target/AMDGPU/*.c",
+ "lib/Target/AMDGPU/*.cpp",
+ "lib/Target/AMDGPU/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/*.h",
+ "include/llvm/Target/AMDGPU/*.def",
+ "include/llvm/Target/AMDGPU/*.inc",
+ "lib/Target/AMDGPU/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":AMDGPUDesc",
+ ":AMDGPUInfo",
+ ":AMDGPUUtils",
+ ":Analysis",
+ ":AsmPrinter",
+ ":BinaryFormat",
+ ":CodeGen",
+ ":Core",
+ ":GlobalISel",
+ ":IPO",
+ ":MC",
+ ":MIRParser",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":Vectorize",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AMDGPUDesc",
+ srcs = glob([
+ "lib/Target/AMDGPU/MCTargetDesc/*.c",
+ "lib/Target/AMDGPU/MCTargetDesc/*.cpp",
+ "lib/Target/AMDGPU/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/MCTargetDesc/*.h",
+ "include/llvm/Target/AMDGPU/MCTargetDesc/*.def",
+ "include/llvm/Target/AMDGPU/MCTargetDesc/*.inc",
+ "lib/Target/AMDGPU/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":AMDGPUInfo",
+ ":AMDGPUUtils",
+ ":BinaryFormat",
+ ":Core",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AMDGPUDisassembler",
+ srcs = glob([
+ "lib/Target/AMDGPU/Disassembler/*.c",
+ "lib/Target/AMDGPU/Disassembler/*.cpp",
+ "lib/Target/AMDGPU/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/Disassembler/*.h",
+ "include/llvm/Target/AMDGPU/Disassembler/*.def",
+ "include/llvm/Target/AMDGPU/Disassembler/*.inc",
+ "lib/Target/AMDGPU/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":AMDGPUDesc",
+ ":AMDGPUInfo",
+ ":AMDGPUUtils",
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AMDGPUInfo",
+ srcs = glob([
+ "lib/Target/AMDGPU/TargetInfo/*.c",
+ "lib/Target/AMDGPU/TargetInfo/*.cpp",
+ "lib/Target/AMDGPU/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/TargetInfo/*.h",
+ "include/llvm/Target/AMDGPU/TargetInfo/*.def",
+ "include/llvm/Target/AMDGPU/TargetInfo/*.inc",
+ "lib/Target/AMDGPU/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":AMDGPUCommonTableGen",
+ ":Core",
+ ":Support",
+ ":config",
+ ":r600_target_gen",
+ ],
+)
+
+cc_library(
+ name = "AMDGPUUtils",
+ srcs = glob([
+ "lib/Target/AMDGPU/Utils/*.c",
+ "lib/Target/AMDGPU/Utils/*.cpp",
+ "lib/Target/AMDGPU/Utils/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AMDGPU/Utils/*.h",
+ "include/llvm/Target/AMDGPU/Utils/*.def",
+ "include/llvm/Target/AMDGPU/Utils/*.inc",
+ "lib/Target/AMDGPU/Utils/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AMDGPU"],
+ deps = [
+ ":AMDGPUCommonTableGen",
+ ":BinaryFormat",
+ ":Core",
+ ":MC",
+ ":Support",
+ ":config",
+ ":r600_target_gen",
+ ],
+)
+
+cc_library(
+ name = "ARCCodeGen",
+ srcs = glob([
+ "lib/Target/ARC/*.c",
+ "lib/Target/ARC/*.cpp",
+ "lib/Target/ARC/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARC/*.h",
+ "include/llvm/Target/ARC/*.def",
+ "include/llvm/Target/ARC/*.inc",
+ "lib/Target/ARC/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARC"],
+ deps = [
+ ":ARCDesc",
+ ":ARCInfo",
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARCDesc",
+ srcs = glob([
+ "lib/Target/ARC/MCTargetDesc/*.c",
+ "lib/Target/ARC/MCTargetDesc/*.cpp",
+ "lib/Target/ARC/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARC/MCTargetDesc/*.h",
+ "include/llvm/Target/ARC/MCTargetDesc/*.def",
+ "include/llvm/Target/ARC/MCTargetDesc/*.inc",
+ "lib/Target/ARC/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARC"],
+ deps = [
+ ":ARCInfo",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARCDisassembler",
+ srcs = glob([
+ "lib/Target/ARC/Disassembler/*.c",
+ "lib/Target/ARC/Disassembler/*.cpp",
+ "lib/Target/ARC/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARC/Disassembler/*.h",
+ "include/llvm/Target/ARC/Disassembler/*.def",
+ "include/llvm/Target/ARC/Disassembler/*.inc",
+ "lib/Target/ARC/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARC"],
+ deps = [
+ ":ARCInfo",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARCInfo",
+ srcs = glob([
+ "lib/Target/ARC/TargetInfo/*.c",
+ "lib/Target/ARC/TargetInfo/*.cpp",
+ "lib/Target/ARC/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARC/TargetInfo/*.h",
+ "include/llvm/Target/ARC/TargetInfo/*.def",
+ "include/llvm/Target/ARC/TargetInfo/*.inc",
+ "lib/Target/ARC/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARC"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARMAsmParser",
+ srcs = glob([
+ "lib/Target/ARM/AsmParser/*.c",
+ "lib/Target/ARM/AsmParser/*.cpp",
+ "lib/Target/ARM/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARM/AsmParser/*.h",
+ "include/llvm/Target/ARM/AsmParser/*.def",
+ "include/llvm/Target/ARM/AsmParser/*.inc",
+ "lib/Target/ARM/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARM"],
+ deps = [
+ ":ARMDesc",
+ ":ARMInfo",
+ ":ARMUtils",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARMCodeGen",
+ srcs = glob([
+ "lib/Target/ARM/*.c",
+ "lib/Target/ARM/*.cpp",
+ "lib/Target/ARM/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARM/*.h",
+ "include/llvm/Target/ARM/*.def",
+ "include/llvm/Target/ARM/*.inc",
+ "lib/Target/ARM/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARM"],
+ deps = [
+ ":ARMDesc",
+ ":ARMInfo",
+ ":ARMUtils",
+ ":Analysis",
+ ":AsmPrinter",
+ ":CFGuard",
+ ":CodeGen",
+ ":Core",
+ ":GlobalISel",
+ ":MC",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARMDesc",
+ srcs = glob([
+ "lib/Target/ARM/MCTargetDesc/*.c",
+ "lib/Target/ARM/MCTargetDesc/*.cpp",
+ "lib/Target/ARM/MCTargetDesc/*.inc",
+ "lib/Target/ARM/*.h",
+ "include/llvm/CodeGen/GlobalISel/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARM/MCTargetDesc/*.h",
+ "include/llvm/Target/ARM/MCTargetDesc/*.def",
+ "include/llvm/Target/ARM/MCTargetDesc/*.inc",
+ "lib/Target/ARM/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARM"],
+ deps = [
+ ":ARMCommonTableGen",
+ ":ARMInfo",
+ ":ARMUtils",
+ ":BinaryFormat",
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":attributes_gen",
+ ":config",
+ ":intrinsic_enums_gen",
+ ":intrinsics_impl_gen",
+ ],
+)
+
+cc_library(
+ name = "ARMDisassembler",
+ srcs = glob([
+ "lib/Target/ARM/Disassembler/*.c",
+ "lib/Target/ARM/Disassembler/*.cpp",
+ "lib/Target/ARM/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARM/Disassembler/*.h",
+ "include/llvm/Target/ARM/Disassembler/*.def",
+ "include/llvm/Target/ARM/Disassembler/*.inc",
+ "lib/Target/ARM/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARM"],
+ deps = [
+ ":ARMDesc",
+ ":ARMInfo",
+ ":ARMUtils",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARMInfo",
+ srcs = glob([
+ "lib/Target/ARM/TargetInfo/*.c",
+ "lib/Target/ARM/TargetInfo/*.cpp",
+ "lib/Target/ARM/TargetInfo/*.inc",
+ "lib/Target/ARM/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARM/TargetInfo/*.h",
+ "include/llvm/Target/ARM/TargetInfo/*.def",
+ "include/llvm/Target/ARM/TargetInfo/*.inc",
+ "lib/Target/ARM/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARM"],
+ deps = [
+ ":ARMCommonTableGen",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ARMUtils",
+ srcs = glob([
+ "lib/Target/ARM/Utils/*.c",
+ "lib/Target/ARM/Utils/*.cpp",
+ "lib/Target/ARM/Utils/*.inc",
+ "lib/Target/ARM/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/ARM/Utils/*.h",
+ "include/llvm/Target/ARM/Utils/*.def",
+ "include/llvm/Target/ARM/Utils/*.inc",
+ "lib/Target/ARM/Utils/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/ARM"],
+ deps = [
+ ":ARMCommonTableGen",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AVRAsmParser",
+ srcs = glob([
+ "lib/Target/AVR/AsmParser/*.c",
+ "lib/Target/AVR/AsmParser/*.cpp",
+ "lib/Target/AVR/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AVR/AsmParser/*.h",
+ "include/llvm/Target/AVR/AsmParser/*.def",
+ "include/llvm/Target/AVR/AsmParser/*.inc",
+ "lib/Target/AVR/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AVR"],
+ deps = [
+ ":AVRDesc",
+ ":AVRInfo",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AVRCodeGen",
+ srcs = glob([
+ "lib/Target/AVR/*.c",
+ "lib/Target/AVR/*.cpp",
+ "lib/Target/AVR/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AVR/*.h",
+ "include/llvm/Target/AVR/*.def",
+ "include/llvm/Target/AVR/*.inc",
+ "lib/Target/AVR/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AVR"],
+ deps = [
+ ":AVRDesc",
+ ":AVRInfo",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AVRDesc",
+ srcs = glob([
+ "lib/Target/AVR/MCTargetDesc/*.c",
+ "lib/Target/AVR/MCTargetDesc/*.cpp",
+ "lib/Target/AVR/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AVR/MCTargetDesc/*.h",
+ "include/llvm/Target/AVR/MCTargetDesc/*.def",
+ "include/llvm/Target/AVR/MCTargetDesc/*.inc",
+ "lib/Target/AVR/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AVR"],
+ deps = [
+ ":AVRInfo",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AVRDisassembler",
+ srcs = glob([
+ "lib/Target/AVR/Disassembler/*.c",
+ "lib/Target/AVR/Disassembler/*.cpp",
+ "lib/Target/AVR/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AVR/Disassembler/*.h",
+ "include/llvm/Target/AVR/Disassembler/*.def",
+ "include/llvm/Target/AVR/Disassembler/*.inc",
+ "lib/Target/AVR/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AVR"],
+ deps = [
+ ":AVRInfo",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AVRInfo",
+ srcs = glob([
+ "lib/Target/AVR/TargetInfo/*.c",
+ "lib/Target/AVR/TargetInfo/*.cpp",
+ "lib/Target/AVR/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/AVR/TargetInfo/*.h",
+ "include/llvm/Target/AVR/TargetInfo/*.def",
+ "include/llvm/Target/AVR/TargetInfo/*.inc",
+ "lib/Target/AVR/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/AVR"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AggressiveInstCombine",
+ srcs = glob([
+ "lib/Transforms/AggressiveInstCombine/*.c",
+ "lib/Transforms/AggressiveInstCombine/*.cpp",
+ "lib/Transforms/AggressiveInstCombine/*.inc",
+ "lib/Transforms/AggressiveInstCombine/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/AggressiveInstCombine/*.h",
+ "include/llvm/Transforms/AggressiveInstCombine/*.def",
+ "include/llvm/Transforms/AggressiveInstCombine/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AsmParser",
+ srcs = glob([
+ "lib/AsmParser/*.c",
+ "lib/AsmParser/*.cpp",
+ "lib/AsmParser/*.inc",
+ "lib/AsmParser/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/AsmParser/*.h",
+ "include/llvm/AsmParser/*.def",
+ "include/llvm/AsmParser/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":Core",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "AsmPrinter",
+ srcs = glob([
+ "lib/CodeGen/AsmPrinter/*.c",
+ "lib/CodeGen/AsmPrinter/*.cpp",
+ "lib/CodeGen/AsmPrinter/*.inc",
+ "lib/CodeGen/AsmPrinter/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/CodeGen/AsmPrinter/*.h",
+ "include/llvm/CodeGen/AsmPrinter/*.def",
+ "include/llvm/CodeGen/AsmPrinter/*.inc",
+ "lib/CodeGen/AsmPrinter/*.def",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":BinaryFormat",
+ ":CodeGen",
+ ":Core",
+ ":DebugInfoCodeView",
+ ":DebugInfoDWARF",
+ ":DebugInfoMSF",
+ ":MC",
+ ":MCParser",
+ ":Remarks",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BPFAsmParser",
+ srcs = glob([
+ "lib/Target/BPF/AsmParser/*.c",
+ "lib/Target/BPF/AsmParser/*.cpp",
+ "lib/Target/BPF/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/BPF/AsmParser/*.h",
+ "include/llvm/Target/BPF/AsmParser/*.def",
+ "include/llvm/Target/BPF/AsmParser/*.inc",
+ "lib/Target/BPF/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/BPF"],
+ deps = [
+ ":BPFDesc",
+ ":BPFInfo",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BPFCodeGen",
+ srcs = glob([
+ "lib/Target/BPF/*.c",
+ "lib/Target/BPF/*.cpp",
+ "lib/Target/BPF/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/BPF/*.h",
+ "include/llvm/Target/BPF/*.def",
+ "include/llvm/Target/BPF/*.inc",
+ "lib/Target/BPF/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/BPF"],
+ deps = [
+ ":AsmPrinter",
+ ":BPFDesc",
+ ":BPFInfo",
+ ":CodeGen",
+ ":Core",
+ ":IPO",
+ ":MC",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BPFDesc",
+ srcs = glob([
+ "lib/Target/BPF/MCTargetDesc/*.c",
+ "lib/Target/BPF/MCTargetDesc/*.cpp",
+ "lib/Target/BPF/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/BPF/MCTargetDesc/*.h",
+ "include/llvm/Target/BPF/MCTargetDesc/*.def",
+ "include/llvm/Target/BPF/MCTargetDesc/*.inc",
+ "lib/Target/BPF/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/BPF"],
+ deps = [
+ ":BPFInfo",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BPFDisassembler",
+ srcs = glob([
+ "lib/Target/BPF/Disassembler/*.c",
+ "lib/Target/BPF/Disassembler/*.cpp",
+ "lib/Target/BPF/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/BPF/Disassembler/*.h",
+ "include/llvm/Target/BPF/Disassembler/*.def",
+ "include/llvm/Target/BPF/Disassembler/*.inc",
+ "lib/Target/BPF/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/BPF"],
+ deps = [
+ ":BPFInfo",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BPFInfo",
+ srcs = glob([
+ "lib/Target/BPF/TargetInfo/*.c",
+ "lib/Target/BPF/TargetInfo/*.cpp",
+ "lib/Target/BPF/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/BPF/TargetInfo/*.h",
+ "include/llvm/Target/BPF/TargetInfo/*.def",
+ "include/llvm/Target/BPF/TargetInfo/*.inc",
+ "lib/Target/BPF/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/BPF"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BinaryFormat",
+ srcs = glob([
+ "lib/BinaryFormat/*.c",
+ "lib/BinaryFormat/*.cpp",
+ "lib/BinaryFormat/*.inc",
+ "lib/BinaryFormat/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/BinaryFormat/*.h",
+ "include/llvm/BinaryFormat/*.def",
+ "include/llvm/BinaryFormat/*.inc",
+ "include/llvm/BinaryFormat/ELFRelocs/*.def",
+ "include/llvm/BinaryFormat/WasmRelocs/*.def",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BitReader",
+ srcs = glob([
+ "lib/Bitcode/Reader/*.c",
+ "lib/Bitcode/Reader/*.cpp",
+ "lib/Bitcode/Reader/*.inc",
+ "lib/Bitcode/Reader/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Bitcode/Reader/*.h",
+ "include/llvm/Bitcode/Reader/*.def",
+ "include/llvm/Bitcode/Reader/*.inc",
+ "include/llvm/Bitcode/BitstreamReader.h",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BitstreamReader",
+ ":Core",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BitWriter",
+ srcs = glob([
+ "lib/Bitcode/Writer/*.c",
+ "lib/Bitcode/Writer/*.cpp",
+ "lib/Bitcode/Writer/*.inc",
+ "lib/Bitcode/Writer/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Bitcode/Writer/*.h",
+ "include/llvm/Bitcode/Writer/*.def",
+ "include/llvm/Bitcode/Writer/*.inc",
+ "include/llvm/Bitcode/BitcodeWriter.h",
+ "include/llvm/Bitcode/BitcodeWriterPass.h",
+ "include/llvm/Bitcode/BitstreamWriter.h",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":MC",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "BitstreamReader",
+ srcs = glob([
+ "lib/Bitstream/Reader/*.c",
+ "lib/Bitstream/Reader/*.cpp",
+ "lib/Bitstream/Reader/*.inc",
+ "lib/Bitstream/Reader/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Bitstream/Reader/*.h",
+ "include/llvm/Bitstream/Reader/*.def",
+ "include/llvm/Bitstream/Reader/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "CFGuard",
+ srcs = glob([
+ "lib/Transforms/CFGuard/*.c",
+ "lib/Transforms/CFGuard/*.cpp",
+ "lib/Transforms/CFGuard/*.inc",
+ "lib/Transforms/CFGuard/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/CFGuard/*.h",
+ "include/llvm/Transforms/CFGuard/*.def",
+ "include/llvm/Transforms/CFGuard/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "CodeGen",
+ srcs = glob([
+ "lib/CodeGen/*.c",
+ "lib/CodeGen/*.cpp",
+ "lib/CodeGen/*.inc",
+ "lib/CodeGen/LiveDebugValues/*.cpp",
+ "lib/CodeGen/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/CodeGen/*.h",
+ "include/llvm/CodeGen/*.def",
+ "include/llvm/CodeGen/*.inc",
+ "include/llvm/CodeGen/**/*.h",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":BitReader",
+ ":BitWriter",
+ ":Core",
+ ":Instrumentation",
+ ":MC",
+ ":ProfileData",
+ ":Scalar",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Core",
+ srcs = glob([
+ "lib/IR/*.c",
+ "lib/IR/*.cpp",
+ "lib/IR/*.inc",
+ "include/llvm/Analysis/*.h",
+ "include/llvm/Bitcode/BitcodeReader.h",
+ "include/llvm/Bitcode/BitCodes.h",
+ "include/llvm/Bitcode/LLVMBitCodes.h",
+ "include/llvm/CodeGen/MachineValueType.h",
+ "include/llvm/CodeGen/ValueTypes.h",
+ "lib/IR/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/IR/*.h",
+ "include/llvm/IR/*.def",
+ "include/llvm/IR/*.inc",
+ "include/llvm/*.h",
+ "include/llvm/Analysis/*.def",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":Remarks",
+ ":Support",
+ ":aarch64_enums_gen",
+ ":amdgcn_enums_gen",
+ ":arm_enums_gen",
+ ":attributes_gen",
+ ":bpf_enums_gen",
+ ":config",
+ ":hexagon_enums_gen",
+ ":intrinsic_enums_gen",
+ ":intrinsics_impl_gen",
+ ":mips_enums_gen",
+ ":nvvm_enums_gen",
+ ":ppc_enums_gen",
+ ":r600_enums_gen",
+ ":riscv_enums_gen",
+ ":s390_enums_gen",
+ ":wasm_enums_gen",
+ ":x86_enums_gen",
+ ":xcore_enums_gen",
+ ],
+)
+
+cc_library(
+ name = "Coroutines",
+ srcs = glob([
+ "lib/Transforms/Coroutines/*.c",
+ "lib/Transforms/Coroutines/*.cpp",
+ "lib/Transforms/Coroutines/*.inc",
+ "lib/Transforms/Coroutines/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/Coroutines/*.h",
+ "include/llvm/Transforms/Coroutines/*.def",
+ "include/llvm/Transforms/Coroutines/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":IPO",
+ ":Scalar",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Coverage",
+ srcs = glob([
+ "lib/ProfileData/Coverage/*.c",
+ "lib/ProfileData/Coverage/*.cpp",
+ "lib/ProfileData/Coverage/*.inc",
+ "lib/ProfileData/Coverage/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ProfileData/Coverage/*.h",
+ "include/llvm/ProfileData/Coverage/*.def",
+ "include/llvm/ProfileData/Coverage/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":Object",
+ ":ProfileData",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "DWARFLinker",
+ srcs = glob([
+ "lib/DWARFLinker/*.c",
+ "lib/DWARFLinker/*.cpp",
+ "lib/DWARFLinker/*.inc",
+ "lib/DWARFLinker/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/DWARFLinker/*.h",
+ "include/llvm/DWARFLinker/*.def",
+ "include/llvm/DWARFLinker/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":AsmPrinter",
+ ":CodeGen",
+ ":DebugInfoDWARF",
+ ":MC",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "DebugInfoCodeView",
+ srcs = glob([
+ "lib/DebugInfo/CodeView/*.c",
+ "lib/DebugInfo/CodeView/*.cpp",
+ "lib/DebugInfo/CodeView/*.inc",
+ "lib/DebugInfo/CodeView/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/DebugInfo/CodeView/*.h",
+ "include/llvm/DebugInfo/CodeView/*.def",
+ "include/llvm/DebugInfo/CodeView/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":DebugInfoMSF",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "DebugInfoDWARF",
+ srcs = glob([
+ "lib/DebugInfo/DWARF/*.c",
+ "lib/DebugInfo/DWARF/*.cpp",
+ "lib/DebugInfo/DWARF/*.inc",
+ "lib/DebugInfo/DWARF/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/DebugInfo/DWARF/*.h",
+ "include/llvm/DebugInfo/DWARF/*.def",
+ "include/llvm/DebugInfo/DWARF/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":MC",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "DebugInfoGSYM",
+ srcs = glob([
+ "lib/DebugInfo/GSYM/*.c",
+ "lib/DebugInfo/GSYM/*.cpp",
+ "lib/DebugInfo/GSYM/*.inc",
+ "lib/DebugInfo/GSYM/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/DebugInfo/GSYM/*.h",
+ "include/llvm/DebugInfo/GSYM/*.def",
+ "include/llvm/DebugInfo/GSYM/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":DebugInfoDWARF",
+ ":MC",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "DebugInfoMSF",
+ srcs = glob([
+ "lib/DebugInfo/MSF/*.c",
+ "lib/DebugInfo/MSF/*.cpp",
+ "lib/DebugInfo/MSF/*.inc",
+ "lib/DebugInfo/MSF/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/DebugInfo/MSF/*.h",
+ "include/llvm/DebugInfo/MSF/*.def",
+ "include/llvm/DebugInfo/MSF/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "DebugInfoPDB",
+ srcs = glob([
+ "lib/DebugInfo/PDB/*.c",
+ "lib/DebugInfo/PDB/*.cpp",
+ "lib/DebugInfo/PDB/*.inc",
+ "lib/DebugInfo/PDB/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/DebugInfo/PDB/*.h",
+ "include/llvm/DebugInfo/PDB/*.def",
+ "include/llvm/DebugInfo/PDB/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":DebugInfoCodeView",
+ ":DebugInfoMSF",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Demangle",
+ srcs = glob([
+ "lib/Demangle/*.c",
+ "lib/Demangle/*.cpp",
+ "lib/Demangle/*.inc",
+ "lib/Demangle/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Demangle/*.h",
+ "include/llvm/Demangle/*.def",
+ "include/llvm/Demangle/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [":config"],
+)
+
+cc_library(
+ name = "DlltoolDriver",
+ srcs = glob([
+ "lib/ToolDrivers/llvm-dlltool/*.c",
+ "lib/ToolDrivers/llvm-dlltool/*.cpp",
+ "lib/ToolDrivers/llvm-dlltool/*.inc",
+ "lib/ToolDrivers/llvm-dlltool/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ToolDrivers/llvm-dlltool/*.h",
+ "include/llvm/ToolDrivers/llvm-dlltool/*.def",
+ "include/llvm/ToolDrivers/llvm-dlltool/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Object",
+ ":Option",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ExecutionEngine",
+ srcs = glob([
+ "lib/ExecutionEngine/*.c",
+ "lib/ExecutionEngine/*.cpp",
+ "lib/ExecutionEngine/*.inc",
+ "lib/ExecutionEngine/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ExecutionEngine/*.h",
+ "include/llvm/ExecutionEngine/*.def",
+ "include/llvm/ExecutionEngine/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":MC",
+ ":Object",
+ ":RuntimeDyld",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Extensions",
+ srcs = glob([
+ "lib/Extensions/*.c",
+ "lib/Extensions/*.cpp",
+ "lib/Extensions/*.inc",
+ "lib/Extensions/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Extensions/*.h",
+ "include/llvm/Extensions/*.def",
+ "include/llvm/Extensions/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "FrontendOpenMP",
+ srcs = glob([
+ "lib/Frontend/OpenMP/*.c",
+ "lib/Frontend/OpenMP/*.cpp",
+ "lib/Frontend/OpenMP/*.inc",
+ "lib/Frontend/OpenMP/*.h",
+ ]) + ["include/llvm/Frontend/OpenMP/OMP.cpp"],
+ hdrs = glob([
+ "include/llvm/Frontend/OpenMP/*.h",
+ "include/llvm/Frontend/OpenMP/*.def",
+ "include/llvm/Frontend/OpenMP/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ":omp_gen",
+ ":omp_gen_impl",
+ ],
+)
+
+cc_library(
+ name = "FuzzMutate",
+ srcs = glob([
+ "lib/FuzzMutate/*.c",
+ "lib/FuzzMutate/*.cpp",
+ "lib/FuzzMutate/*.inc",
+ "lib/FuzzMutate/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/FuzzMutate/*.h",
+ "include/llvm/FuzzMutate/*.def",
+ "include/llvm/FuzzMutate/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":BitReader",
+ ":BitWriter",
+ ":Core",
+ ":Scalar",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "GlobalISel",
+ srcs = glob([
+ "lib/CodeGen/GlobalISel/*.c",
+ "lib/CodeGen/GlobalISel/*.cpp",
+ "lib/CodeGen/GlobalISel/*.inc",
+ "lib/CodeGen/GlobalISel/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/CodeGen/GlobalISel/*.h",
+ "include/llvm/CodeGen/GlobalISel/*.def",
+ "include/llvm/CodeGen/GlobalISel/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "HelloNew",
+ srcs = glob([
+ "lib/Transforms/HelloNew/*.c",
+ "lib/Transforms/HelloNew/*.cpp",
+ "lib/Transforms/HelloNew/*.inc",
+ "lib/Transforms/HelloNew/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/HelloNew/*.h",
+ "include/llvm/Transforms/HelloNew/*.def",
+ "include/llvm/Transforms/HelloNew/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "HexagonAsmParser",
+ srcs = glob([
+ "lib/Target/Hexagon/AsmParser/*.c",
+ "lib/Target/Hexagon/AsmParser/*.cpp",
+ "lib/Target/Hexagon/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Hexagon/AsmParser/*.h",
+ "include/llvm/Target/Hexagon/AsmParser/*.def",
+ "include/llvm/Target/Hexagon/AsmParser/*.inc",
+ "lib/Target/Hexagon/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Hexagon"],
+ deps = [
+ ":HexagonDesc",
+ ":HexagonInfo",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "HexagonCodeGen",
+ srcs = glob([
+ "lib/Target/Hexagon/*.c",
+ "lib/Target/Hexagon/*.cpp",
+ "lib/Target/Hexagon/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Hexagon/*.h",
+ "include/llvm/Target/Hexagon/*.def",
+ "include/llvm/Target/Hexagon/*.inc",
+ "lib/Target/Hexagon/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Hexagon"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":HexagonAsmParser",
+ ":HexagonDesc",
+ ":HexagonInfo",
+ ":IPO",
+ ":MC",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "HexagonDesc",
+ srcs = glob([
+ "lib/Target/Hexagon/MCTargetDesc/*.c",
+ "lib/Target/Hexagon/MCTargetDesc/*.cpp",
+ "lib/Target/Hexagon/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Hexagon/MCTargetDesc/*.h",
+ "include/llvm/Target/Hexagon/MCTargetDesc/*.def",
+ "include/llvm/Target/Hexagon/MCTargetDesc/*.inc",
+ "lib/Target/Hexagon/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Hexagon"],
+ deps = [
+ ":HexagonInfo",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "HexagonDisassembler",
+ srcs = glob([
+ "lib/Target/Hexagon/Disassembler/*.c",
+ "lib/Target/Hexagon/Disassembler/*.cpp",
+ "lib/Target/Hexagon/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Hexagon/Disassembler/*.h",
+ "include/llvm/Target/Hexagon/Disassembler/*.def",
+ "include/llvm/Target/Hexagon/Disassembler/*.inc",
+ "lib/Target/Hexagon/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Hexagon"],
+ deps = [
+ ":HexagonDesc",
+ ":HexagonInfo",
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "HexagonInfo",
+ srcs = glob([
+ "lib/Target/Hexagon/TargetInfo/*.c",
+ "lib/Target/Hexagon/TargetInfo/*.cpp",
+ "lib/Target/Hexagon/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Hexagon/TargetInfo/*.h",
+ "include/llvm/Target/Hexagon/TargetInfo/*.def",
+ "include/llvm/Target/Hexagon/TargetInfo/*.inc",
+ "lib/Target/Hexagon/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Hexagon"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "IPO",
+ srcs = glob([
+ "lib/Transforms/IPO/*.c",
+ "lib/Transforms/IPO/*.cpp",
+ "lib/Transforms/IPO/*.inc",
+ "include/llvm/Transforms/SampleProfile.h",
+ "include/llvm-c/Transforms/IPO.h",
+ "include/llvm-c/Transforms/PassManagerBuilder.h",
+ "lib/Transforms/IPO/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/IPO/*.h",
+ "include/llvm/Transforms/IPO/*.def",
+ "include/llvm/Transforms/IPO/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":AggressiveInstCombine",
+ ":Analysis",
+ ":BitReader",
+ ":BitWriter",
+ ":Core",
+ ":FrontendOpenMP",
+ ":IRReader",
+ ":InstCombine",
+ ":Instrumentation",
+ ":Linker",
+ ":Object",
+ ":ProfileData",
+ ":Scalar",
+ ":Support",
+ ":TransformUtils",
+ ":Vectorize",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "IRReader",
+ srcs = glob([
+ "lib/IRReader/*.c",
+ "lib/IRReader/*.cpp",
+ "lib/IRReader/*.inc",
+ "lib/IRReader/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/IRReader/*.h",
+ "include/llvm/IRReader/*.def",
+ "include/llvm/IRReader/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":AsmParser",
+ ":BitReader",
+ ":Core",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "InstCombine",
+ srcs = glob([
+ "lib/Transforms/InstCombine/*.c",
+ "lib/Transforms/InstCombine/*.cpp",
+ "lib/Transforms/InstCombine/*.inc",
+ "lib/Transforms/InstCombine/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/InstCombine/*.h",
+ "include/llvm/Transforms/InstCombine/*.def",
+ "include/llvm/Transforms/InstCombine/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":InstCombineTableGen",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Instrumentation",
+ srcs = glob([
+ "lib/Transforms/Instrumentation/*.c",
+ "lib/Transforms/Instrumentation/*.cpp",
+ "lib/Transforms/Instrumentation/*.inc",
+ "lib/Transforms/Instrumentation/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/Instrumentation/*.h",
+ "include/llvm/Transforms/Instrumentation/*.def",
+ "include/llvm/Transforms/Instrumentation/*.inc",
+ "include/llvm/Transforms/GCOVProfiler.h",
+ "include/llvm/Transforms/Instrumentation.h",
+ "include/llvm/Transforms/InstrProfiling.h",
+ "include/llvm/Transforms/PGOInstrumentation.h",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":MC",
+ ":ProfileData",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "InterfaceStub",
+ srcs = glob([
+ "lib/InterfaceStub/*.c",
+ "lib/InterfaceStub/*.cpp",
+ "lib/InterfaceStub/*.inc",
+ "lib/InterfaceStub/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/InterfaceStub/*.h",
+ "include/llvm/InterfaceStub/*.def",
+ "include/llvm/InterfaceStub/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Interpreter",
+ srcs = glob([
+ "lib/ExecutionEngine/Interpreter/*.c",
+ "lib/ExecutionEngine/Interpreter/*.cpp",
+ "lib/ExecutionEngine/Interpreter/*.inc",
+ "lib/ExecutionEngine/Interpreter/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ExecutionEngine/Interpreter/*.h",
+ "include/llvm/ExecutionEngine/Interpreter/*.def",
+ "include/llvm/ExecutionEngine/Interpreter/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":CodeGen",
+ ":Core",
+ ":ExecutionEngine",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "JITLink",
+ srcs = glob([
+ "lib/ExecutionEngine/JITLink/*.c",
+ "lib/ExecutionEngine/JITLink/*.cpp",
+ "lib/ExecutionEngine/JITLink/*.inc",
+ "lib/ExecutionEngine/JITLink/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ExecutionEngine/JITLink/*.h",
+ "include/llvm/ExecutionEngine/JITLink/*.def",
+ "include/llvm/ExecutionEngine/JITLink/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LTO",
+ srcs = glob([
+ "lib/LTO/*.c",
+ "lib/LTO/*.cpp",
+ "lib/LTO/*.inc",
+ "lib/LTO/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/LTO/*.h",
+ "include/llvm/LTO/*.def",
+ "include/llvm/LTO/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":AggressiveInstCombine",
+ ":Analysis",
+ ":BinaryFormat",
+ ":BitReader",
+ ":BitWriter",
+ ":CodeGen",
+ ":Core",
+ ":Extensions",
+ ":IPO",
+ ":InstCombine",
+ ":Linker",
+ ":MC",
+ ":ObjCARC",
+ ":Object",
+ ":Passes",
+ ":Remarks",
+ ":Scalar",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LanaiAsmParser",
+ srcs = glob([
+ "lib/Target/Lanai/AsmParser/*.c",
+ "lib/Target/Lanai/AsmParser/*.cpp",
+ "lib/Target/Lanai/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Lanai/AsmParser/*.h",
+ "include/llvm/Target/Lanai/AsmParser/*.def",
+ "include/llvm/Target/Lanai/AsmParser/*.inc",
+ "lib/Target/Lanai/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Lanai"],
+ deps = [
+ ":LanaiDesc",
+ ":LanaiInfo",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LanaiCodeGen",
+ srcs = glob([
+ "lib/Target/Lanai/*.c",
+ "lib/Target/Lanai/*.cpp",
+ "lib/Target/Lanai/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Lanai/*.h",
+ "include/llvm/Target/Lanai/*.def",
+ "include/llvm/Target/Lanai/*.inc",
+ "lib/Target/Lanai/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Lanai"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":LanaiAsmParser",
+ ":LanaiDesc",
+ ":LanaiInfo",
+ ":MC",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LanaiDesc",
+ srcs = glob([
+ "lib/Target/Lanai/MCTargetDesc/*.c",
+ "lib/Target/Lanai/MCTargetDesc/*.cpp",
+ "lib/Target/Lanai/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Lanai/MCTargetDesc/*.h",
+ "include/llvm/Target/Lanai/MCTargetDesc/*.def",
+ "include/llvm/Target/Lanai/MCTargetDesc/*.inc",
+ "lib/Target/Lanai/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Lanai"],
+ deps = [
+ ":LanaiInfo",
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LanaiDisassembler",
+ srcs = glob([
+ "lib/Target/Lanai/Disassembler/*.c",
+ "lib/Target/Lanai/Disassembler/*.cpp",
+ "lib/Target/Lanai/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Lanai/Disassembler/*.h",
+ "include/llvm/Target/Lanai/Disassembler/*.def",
+ "include/llvm/Target/Lanai/Disassembler/*.inc",
+ "lib/Target/Lanai/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Lanai"],
+ deps = [
+ ":LanaiDesc",
+ ":LanaiInfo",
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LanaiInfo",
+ srcs = glob([
+ "lib/Target/Lanai/TargetInfo/*.c",
+ "lib/Target/Lanai/TargetInfo/*.cpp",
+ "lib/Target/Lanai/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Lanai/TargetInfo/*.h",
+ "include/llvm/Target/Lanai/TargetInfo/*.def",
+ "include/llvm/Target/Lanai/TargetInfo/*.inc",
+ "lib/Target/Lanai/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Lanai"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LibDriver",
+ srcs = glob([
+ "lib/ToolDrivers/llvm-lib/*.c",
+ "lib/ToolDrivers/llvm-lib/*.cpp",
+ "lib/ToolDrivers/llvm-lib/*.inc",
+ "lib/ToolDrivers/llvm-lib/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ToolDrivers/llvm-lib/*.h",
+ "include/llvm/ToolDrivers/llvm-lib/*.def",
+ "include/llvm/ToolDrivers/llvm-lib/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":BitReader",
+ ":Object",
+ ":Option",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "LineEditor",
+ srcs = glob([
+ "lib/LineEditor/*.c",
+ "lib/LineEditor/*.cpp",
+ "lib/LineEditor/*.inc",
+ "lib/LineEditor/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/LineEditor/*.h",
+ "include/llvm/LineEditor/*.def",
+ "include/llvm/LineEditor/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Linker",
+ srcs = glob([
+ "lib/Linker/*.c",
+ "lib/Linker/*.cpp",
+ "lib/Linker/*.inc",
+ "lib/Linker/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Linker/*.h",
+ "include/llvm/Linker/*.def",
+ "include/llvm/Linker/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MC",
+ srcs = glob([
+ "lib/MC/*.c",
+ "lib/MC/*.cpp",
+ "lib/MC/*.inc",
+ "lib/MC/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/MC/*.h",
+ "include/llvm/MC/*.def",
+ "include/llvm/MC/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":DebugInfoCodeView",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MCA",
+ srcs = glob([
+ "lib/MCA/*.c",
+ "lib/MCA/*.cpp",
+ "lib/MCA/*.inc",
+ "lib/MCA/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/MCA/*.h",
+ "include/llvm/MCA/*.def",
+ "include/llvm/MCA/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MCDisassembler",
+ srcs = glob([
+ "lib/MC/MCDisassembler/*.c",
+ "lib/MC/MCDisassembler/*.cpp",
+ "lib/MC/MCDisassembler/*.inc",
+ "lib/MC/MCDisassembler/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/MC/MCDisassembler/*.h",
+ "include/llvm/MC/MCDisassembler/*.def",
+ "include/llvm/MC/MCDisassembler/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MCJIT",
+ srcs = glob([
+ "lib/ExecutionEngine/MCJIT/*.c",
+ "lib/ExecutionEngine/MCJIT/*.cpp",
+ "lib/ExecutionEngine/MCJIT/*.inc",
+ "lib/ExecutionEngine/MCJIT/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ExecutionEngine/MCJIT/*.h",
+ "include/llvm/ExecutionEngine/MCJIT/*.def",
+ "include/llvm/ExecutionEngine/MCJIT/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":ExecutionEngine",
+ ":Object",
+ ":RuntimeDyld",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MCParser",
+ srcs = glob([
+ "lib/MC/MCParser/*.c",
+ "lib/MC/MCParser/*.cpp",
+ "lib/MC/MCParser/*.inc",
+ "lib/MC/MCParser/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/MC/MCParser/*.h",
+ "include/llvm/MC/MCParser/*.def",
+ "include/llvm/MC/MCParser/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MIRParser",
+ srcs = glob([
+ "lib/CodeGen/MIRParser/*.c",
+ "lib/CodeGen/MIRParser/*.cpp",
+ "lib/CodeGen/MIRParser/*.inc",
+ "lib/CodeGen/MIRParser/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/CodeGen/MIRParser/*.h",
+ "include/llvm/CodeGen/MIRParser/*.def",
+ "include/llvm/CodeGen/MIRParser/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":AsmParser",
+ ":BinaryFormat",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MSP430AsmParser",
+ srcs = glob([
+ "lib/Target/MSP430/AsmParser/*.c",
+ "lib/Target/MSP430/AsmParser/*.cpp",
+ "lib/Target/MSP430/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/MSP430/AsmParser/*.h",
+ "include/llvm/Target/MSP430/AsmParser/*.def",
+ "include/llvm/Target/MSP430/AsmParser/*.inc",
+ "lib/Target/MSP430/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/MSP430"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":MSP430Desc",
+ ":MSP430Info",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MSP430CodeGen",
+ srcs = glob([
+ "lib/Target/MSP430/*.c",
+ "lib/Target/MSP430/*.cpp",
+ "lib/Target/MSP430/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/MSP430/*.h",
+ "include/llvm/Target/MSP430/*.def",
+ "include/llvm/Target/MSP430/*.inc",
+ "lib/Target/MSP430/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/MSP430"],
+ deps = [
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":MSP430Desc",
+ ":MSP430Info",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MSP430Desc",
+ srcs = glob([
+ "lib/Target/MSP430/MCTargetDesc/*.c",
+ "lib/Target/MSP430/MCTargetDesc/*.cpp",
+ "lib/Target/MSP430/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/MSP430/MCTargetDesc/*.h",
+ "include/llvm/Target/MSP430/MCTargetDesc/*.def",
+ "include/llvm/Target/MSP430/MCTargetDesc/*.inc",
+ "lib/Target/MSP430/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/MSP430"],
+ deps = [
+ ":MC",
+ ":MSP430Info",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MSP430Disassembler",
+ srcs = glob([
+ "lib/Target/MSP430/Disassembler/*.c",
+ "lib/Target/MSP430/Disassembler/*.cpp",
+ "lib/Target/MSP430/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/MSP430/Disassembler/*.h",
+ "include/llvm/Target/MSP430/Disassembler/*.def",
+ "include/llvm/Target/MSP430/Disassembler/*.inc",
+ "lib/Target/MSP430/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/MSP430"],
+ deps = [
+ ":MCDisassembler",
+ ":MSP430Info",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MSP430Info",
+ srcs = glob([
+ "lib/Target/MSP430/TargetInfo/*.c",
+ "lib/Target/MSP430/TargetInfo/*.cpp",
+ "lib/Target/MSP430/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/MSP430/TargetInfo/*.h",
+ "include/llvm/Target/MSP430/TargetInfo/*.def",
+ "include/llvm/Target/MSP430/TargetInfo/*.inc",
+ "lib/Target/MSP430/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/MSP430"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MipsAsmParser",
+ srcs = glob([
+ "lib/Target/Mips/AsmParser/*.c",
+ "lib/Target/Mips/AsmParser/*.cpp",
+ "lib/Target/Mips/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Mips/AsmParser/*.h",
+ "include/llvm/Target/Mips/AsmParser/*.def",
+ "include/llvm/Target/Mips/AsmParser/*.inc",
+ "lib/Target/Mips/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Mips"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":MipsDesc",
+ ":MipsInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MipsCodeGen",
+ srcs = glob([
+ "lib/Target/Mips/*.c",
+ "lib/Target/Mips/*.cpp",
+ "lib/Target/Mips/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Mips/*.h",
+ "include/llvm/Target/Mips/*.def",
+ "include/llvm/Target/Mips/*.inc",
+ "lib/Target/Mips/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Mips"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":GlobalISel",
+ ":MC",
+ ":MipsDesc",
+ ":MipsInfo",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MipsDesc",
+ srcs = glob([
+ "lib/Target/Mips/MCTargetDesc/*.c",
+ "lib/Target/Mips/MCTargetDesc/*.cpp",
+ "lib/Target/Mips/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Mips/MCTargetDesc/*.h",
+ "include/llvm/Target/Mips/MCTargetDesc/*.def",
+ "include/llvm/Target/Mips/MCTargetDesc/*.inc",
+ "lib/Target/Mips/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Mips"],
+ deps = [
+ ":MC",
+ ":MipsInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MipsDisassembler",
+ srcs = glob([
+ "lib/Target/Mips/Disassembler/*.c",
+ "lib/Target/Mips/Disassembler/*.cpp",
+ "lib/Target/Mips/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Mips/Disassembler/*.h",
+ "include/llvm/Target/Mips/Disassembler/*.def",
+ "include/llvm/Target/Mips/Disassembler/*.inc",
+ "lib/Target/Mips/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Mips"],
+ deps = [
+ ":MCDisassembler",
+ ":MipsInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "MipsInfo",
+ srcs = glob([
+ "lib/Target/Mips/TargetInfo/*.c",
+ "lib/Target/Mips/TargetInfo/*.cpp",
+ "lib/Target/Mips/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Mips/TargetInfo/*.h",
+ "include/llvm/Target/Mips/TargetInfo/*.def",
+ "include/llvm/Target/Mips/TargetInfo/*.inc",
+ "lib/Target/Mips/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Mips"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "NVPTXCodeGen",
+ srcs = glob([
+ "lib/Target/NVPTX/*.c",
+ "lib/Target/NVPTX/*.cpp",
+ "lib/Target/NVPTX/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/NVPTX/*.h",
+ "include/llvm/Target/NVPTX/*.def",
+ "include/llvm/Target/NVPTX/*.inc",
+ "lib/Target/NVPTX/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/NVPTX"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":IPO",
+ ":MC",
+ ":NVPTXDesc",
+ ":NVPTXInfo",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":Vectorize",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "NVPTXDesc",
+ srcs = glob([
+ "lib/Target/NVPTX/MCTargetDesc/*.c",
+ "lib/Target/NVPTX/MCTargetDesc/*.cpp",
+ "lib/Target/NVPTX/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/NVPTX/MCTargetDesc/*.h",
+ "include/llvm/Target/NVPTX/MCTargetDesc/*.def",
+ "include/llvm/Target/NVPTX/MCTargetDesc/*.inc",
+ "lib/Target/NVPTX/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/NVPTX"],
+ deps = [
+ ":MC",
+ ":NVPTXCommonTableGen",
+ ":NVPTXInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "NVPTXInfo",
+ srcs = glob([
+ "lib/Target/NVPTX/TargetInfo/*.c",
+ "lib/Target/NVPTX/TargetInfo/*.cpp",
+ "lib/Target/NVPTX/TargetInfo/*.inc",
+ "lib/Target/NVPTX/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/NVPTX/TargetInfo/*.h",
+ "include/llvm/Target/NVPTX/TargetInfo/*.def",
+ "include/llvm/Target/NVPTX/TargetInfo/*.inc",
+ "lib/Target/NVPTX/NVPTX.h",
+ "lib/Target/NVPTX/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/NVPTX"],
+ deps = [
+ ":Core",
+ ":NVPTXCommonTableGen",
+ ":Support",
+ ":Target",
+ ":attributes_gen",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ObjCARC",
+ srcs = glob([
+ "lib/Transforms/ObjCARC/*.c",
+ "lib/Transforms/ObjCARC/*.cpp",
+ "lib/Transforms/ObjCARC/*.inc",
+ "include/llvm/Transforms/ObjCARC.h",
+ "lib/Transforms/ObjCARC/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/ObjCARC/*.h",
+ "include/llvm/Transforms/ObjCARC/*.def",
+ "include/llvm/Transforms/ObjCARC/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Object",
+ srcs = glob([
+ "lib/Object/*.c",
+ "lib/Object/*.cpp",
+ "lib/Object/*.inc",
+ "lib/Object/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Object/*.h",
+ "include/llvm/Object/*.def",
+ "include/llvm/Object/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":BitReader",
+ ":Core",
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":TextAPI",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ObjectYAML",
+ srcs = glob([
+ "lib/ObjectYAML/*.c",
+ "lib/ObjectYAML/*.cpp",
+ "lib/ObjectYAML/*.inc",
+ "lib/ObjectYAML/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ObjectYAML/*.h",
+ "include/llvm/ObjectYAML/*.def",
+ "include/llvm/ObjectYAML/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":DebugInfoCodeView",
+ ":MC",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Option",
+ srcs = glob([
+ "lib/Option/*.c",
+ "lib/Option/*.cpp",
+ "lib/Option/*.inc",
+ "lib/Option/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Option/*.h",
+ "include/llvm/Option/*.def",
+ "include/llvm/Option/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "OrcError",
+ srcs = glob([
+ "lib/ExecutionEngine/OrcError/*.c",
+ "lib/ExecutionEngine/OrcError/*.cpp",
+ "lib/ExecutionEngine/OrcError/*.inc",
+ "lib/ExecutionEngine/OrcError/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ExecutionEngine/OrcError/*.h",
+ "include/llvm/ExecutionEngine/OrcError/*.def",
+ "include/llvm/ExecutionEngine/OrcError/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "OrcJIT",
+ srcs = glob([
+ "lib/ExecutionEngine/Orc/*.c",
+ "lib/ExecutionEngine/Orc/*.cpp",
+ "lib/ExecutionEngine/Orc/*.inc",
+ "lib/ExecutionEngine/Orc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ExecutionEngine/Orc/*.h",
+ "include/llvm/ExecutionEngine/Orc/*.def",
+ "include/llvm/ExecutionEngine/Orc/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":ExecutionEngine",
+ ":JITLink",
+ ":MC",
+ ":Object",
+ ":OrcError",
+ ":Passes",
+ ":RuntimeDyld",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Passes",
+ srcs = glob([
+ "lib/Passes/*.c",
+ "lib/Passes/*.cpp",
+ "lib/Passes/*.inc",
+ "lib/Passes/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Passes/*.h",
+ "include/llvm/Passes/*.def",
+ "include/llvm/Passes/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":AggressiveInstCombine",
+ ":Analysis",
+ ":CodeGen",
+ ":Core",
+ ":Coroutines",
+ ":HelloNew",
+ ":IPO",
+ ":InstCombine",
+ ":Instrumentation",
+ ":ObjCARC",
+ ":Scalar",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":Vectorize",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "PowerPCAsmParser",
+ srcs = glob([
+ "lib/Target/PowerPC/AsmParser/*.c",
+ "lib/Target/PowerPC/AsmParser/*.cpp",
+ "lib/Target/PowerPC/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/PowerPC/AsmParser/*.h",
+ "include/llvm/Target/PowerPC/AsmParser/*.def",
+ "include/llvm/Target/PowerPC/AsmParser/*.inc",
+ "lib/Target/PowerPC/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/PowerPC"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":PowerPCDesc",
+ ":PowerPCInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "PowerPCCodeGen",
+ srcs = glob([
+ "lib/Target/PowerPC/*.c",
+ "lib/Target/PowerPC/*.cpp",
+ "lib/Target/PowerPC/*.inc",
+ "lib/Target/PowerPC/GISel/*.cpp",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/PowerPC/*.h",
+ "include/llvm/Target/PowerPC/*.def",
+ "include/llvm/Target/PowerPC/*.inc",
+ "lib/Target/PowerPC/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/PowerPC"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":GlobalISel",
+ ":MC",
+ ":PowerPCDesc",
+ ":PowerPCInfo",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "PowerPCDesc",
+ srcs = glob([
+ "lib/Target/PowerPC/MCTargetDesc/*.c",
+ "lib/Target/PowerPC/MCTargetDesc/*.cpp",
+ "lib/Target/PowerPC/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/PowerPC/MCTargetDesc/*.h",
+ "include/llvm/Target/PowerPC/MCTargetDesc/*.def",
+ "include/llvm/Target/PowerPC/MCTargetDesc/*.inc",
+ "lib/Target/PowerPC/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/PowerPC"],
+ deps = [
+ ":BinaryFormat",
+ ":MC",
+ ":PowerPCCommonTableGen",
+ ":PowerPCInfo",
+ ":Support",
+ ":attributes_gen",
+ ":config",
+ ":intrinsic_enums_gen",
+ ":intrinsics_impl_gen",
+ ],
+)
+
+cc_library(
+ name = "PowerPCDisassembler",
+ srcs = glob([
+ "lib/Target/PowerPC/Disassembler/*.c",
+ "lib/Target/PowerPC/Disassembler/*.cpp",
+ "lib/Target/PowerPC/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/PowerPC/Disassembler/*.h",
+ "include/llvm/Target/PowerPC/Disassembler/*.def",
+ "include/llvm/Target/PowerPC/Disassembler/*.inc",
+ "lib/Target/PowerPC/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/PowerPC"],
+ deps = [
+ ":MCDisassembler",
+ ":PowerPCInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "PowerPCInfo",
+ srcs = glob([
+ "lib/Target/PowerPC/TargetInfo/*.c",
+ "lib/Target/PowerPC/TargetInfo/*.cpp",
+ "lib/Target/PowerPC/TargetInfo/*.inc",
+ "lib/Target/PowerPC/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/PowerPC/TargetInfo/*.h",
+ "include/llvm/Target/PowerPC/TargetInfo/*.def",
+ "include/llvm/Target/PowerPC/TargetInfo/*.inc",
+ "lib/Target/PowerPC/PPC*.h",
+ "lib/Target/PowerPC/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/PowerPC"],
+ deps = [
+ ":Core",
+ ":PowerPCCommonTableGen",
+ ":Support",
+ ":Target",
+ ":attributes_gen",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "ProfileData",
+ srcs = glob([
+ "lib/ProfileData/*.c",
+ "lib/ProfileData/*.cpp",
+ "lib/ProfileData/*.inc",
+ "lib/ProfileData/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ProfileData/*.h",
+ "include/llvm/ProfileData/*.def",
+ "include/llvm/ProfileData/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":Demangle",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "RISCVAsmParser",
+ srcs = glob([
+ "lib/Target/RISCV/AsmParser/*.c",
+ "lib/Target/RISCV/AsmParser/*.cpp",
+ "lib/Target/RISCV/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/RISCV/AsmParser/*.h",
+ "include/llvm/Target/RISCV/AsmParser/*.def",
+ "include/llvm/Target/RISCV/AsmParser/*.inc",
+ "lib/Target/RISCV/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/RISCV"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":RISCVDesc",
+ ":RISCVInfo",
+ ":RISCVUtils",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "RISCVCodeGen",
+ srcs = glob([
+ "lib/Target/RISCV/*.c",
+ "lib/Target/RISCV/*.cpp",
+ "lib/Target/RISCV/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/RISCV/*.h",
+ "include/llvm/Target/RISCV/*.def",
+ "include/llvm/Target/RISCV/*.inc",
+ "lib/Target/RISCV/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/RISCV"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":GlobalISel",
+ ":MC",
+ ":RISCVDesc",
+ ":RISCVInfo",
+ ":RISCVUtils",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "RISCVDesc",
+ srcs = glob([
+ "lib/Target/RISCV/MCTargetDesc/*.c",
+ "lib/Target/RISCV/MCTargetDesc/*.cpp",
+ "lib/Target/RISCV/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/RISCV/MCTargetDesc/*.h",
+ "include/llvm/Target/RISCV/MCTargetDesc/*.def",
+ "include/llvm/Target/RISCV/MCTargetDesc/*.inc",
+ "lib/Target/RISCV/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/RISCV"],
+ deps = [
+ ":MC",
+ ":RISCVInfo",
+ ":RISCVUtils",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "RISCVDisassembler",
+ srcs = glob([
+ "lib/Target/RISCV/Disassembler/*.c",
+ "lib/Target/RISCV/Disassembler/*.cpp",
+ "lib/Target/RISCV/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/RISCV/Disassembler/*.h",
+ "include/llvm/Target/RISCV/Disassembler/*.def",
+ "include/llvm/Target/RISCV/Disassembler/*.inc",
+ "lib/Target/RISCV/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/RISCV"],
+ deps = [
+ ":MCDisassembler",
+ ":RISCVInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "RISCVInfo",
+ srcs = glob([
+ "lib/Target/RISCV/TargetInfo/*.c",
+ "lib/Target/RISCV/TargetInfo/*.cpp",
+ "lib/Target/RISCV/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/RISCV/TargetInfo/*.h",
+ "include/llvm/Target/RISCV/TargetInfo/*.def",
+ "include/llvm/Target/RISCV/TargetInfo/*.inc",
+ "lib/Target/RISCV/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/RISCV"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "RISCVUtils",
+ srcs = glob([
+ "lib/Target/RISCV/Utils/*.c",
+ "lib/Target/RISCV/Utils/*.cpp",
+ "lib/Target/RISCV/Utils/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/RISCV/Utils/*.h",
+ "include/llvm/Target/RISCV/Utils/*.def",
+ "include/llvm/Target/RISCV/Utils/*.inc",
+ "lib/Target/RISCV/Utils/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/RISCV"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Remarks",
+ srcs = glob([
+ "lib/Remarks/*.c",
+ "lib/Remarks/*.cpp",
+ "lib/Remarks/*.inc",
+ "lib/Remarks/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Remarks/*.h",
+ "include/llvm/Remarks/*.def",
+ "include/llvm/Remarks/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":BitstreamReader",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "RuntimeDyld",
+ srcs = glob([
+ "lib/ExecutionEngine/RuntimeDyld/*.c",
+ "lib/ExecutionEngine/RuntimeDyld/*.cpp",
+ "lib/ExecutionEngine/RuntimeDyld/*.inc",
+ "include/llvm/ExecutionEngine/JITSymbol.h",
+ "include/llvm/ExecutionEngine/RTDyldMemoryManager.h",
+ "lib/ExecutionEngine/RuntimeDyld/*.h",
+ "lib/ExecutionEngine/RuntimeDyld/Targets/*.h",
+ "lib/ExecutionEngine/RuntimeDyld/Targets/*.cpp",
+ "lib/ExecutionEngine/RuntimeDyld/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/ExecutionEngine/RuntimeDyld/*.h",
+ "include/llvm/ExecutionEngine/RuntimeDyld/*.def",
+ "include/llvm/ExecutionEngine/RuntimeDyld/*.inc",
+ "include/llvm/DebugInfo/DIContext.h",
+ "include/llvm/ExecutionEngine/RTDyldMemoryManager.h",
+ "include/llvm/ExecutionEngine/RuntimeDyld*.h",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Core",
+ ":MC",
+ ":MCDisassembler",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Scalar",
+ srcs = glob([
+ "lib/Transforms/Scalar/*.c",
+ "lib/Transforms/Scalar/*.cpp",
+ "lib/Transforms/Scalar/*.inc",
+ "include/llvm-c/Transforms/Scalar.h",
+ "include/llvm/Transforms/Scalar.h",
+ "include/llvm/Target/TargetMachine.h",
+ "lib/Transforms/Scalar/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/Scalar/*.h",
+ "include/llvm/Transforms/Scalar/*.def",
+ "include/llvm/Transforms/Scalar/*.inc",
+ "include/llvm/Transforms/IPO.h",
+ "include/llvm/Transforms/IPO/SCCP.h",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":AggressiveInstCombine",
+ ":Analysis",
+ ":Core",
+ ":InstCombine",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SelectionDAG",
+ srcs = glob([
+ "lib/CodeGen/SelectionDAG/*.c",
+ "lib/CodeGen/SelectionDAG/*.cpp",
+ "lib/CodeGen/SelectionDAG/*.inc",
+ "lib/CodeGen/SelectionDAG/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/CodeGen/SelectionDAG/*.h",
+ "include/llvm/CodeGen/SelectionDAG/*.def",
+ "include/llvm/CodeGen/SelectionDAG/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SparcAsmParser",
+ srcs = glob([
+ "lib/Target/Sparc/AsmParser/*.c",
+ "lib/Target/Sparc/AsmParser/*.cpp",
+ "lib/Target/Sparc/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Sparc/AsmParser/*.h",
+ "include/llvm/Target/Sparc/AsmParser/*.def",
+ "include/llvm/Target/Sparc/AsmParser/*.inc",
+ "lib/Target/Sparc/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Sparc"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":SparcDesc",
+ ":SparcInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SparcCodeGen",
+ srcs = glob([
+ "lib/Target/Sparc/*.c",
+ "lib/Target/Sparc/*.cpp",
+ "lib/Target/Sparc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Sparc/*.h",
+ "include/llvm/Target/Sparc/*.def",
+ "include/llvm/Target/Sparc/*.inc",
+ "lib/Target/Sparc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Sparc"],
+ deps = [
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":SelectionDAG",
+ ":SparcDesc",
+ ":SparcInfo",
+ ":Support",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SparcDesc",
+ srcs = glob([
+ "lib/Target/Sparc/MCTargetDesc/*.c",
+ "lib/Target/Sparc/MCTargetDesc/*.cpp",
+ "lib/Target/Sparc/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Sparc/MCTargetDesc/*.h",
+ "include/llvm/Target/Sparc/MCTargetDesc/*.def",
+ "include/llvm/Target/Sparc/MCTargetDesc/*.inc",
+ "lib/Target/Sparc/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Sparc"],
+ deps = [
+ ":MC",
+ ":SparcInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SparcDisassembler",
+ srcs = glob([
+ "lib/Target/Sparc/Disassembler/*.c",
+ "lib/Target/Sparc/Disassembler/*.cpp",
+ "lib/Target/Sparc/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Sparc/Disassembler/*.h",
+ "include/llvm/Target/Sparc/Disassembler/*.def",
+ "include/llvm/Target/Sparc/Disassembler/*.inc",
+ "lib/Target/Sparc/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Sparc"],
+ deps = [
+ ":MCDisassembler",
+ ":SparcInfo",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SparcInfo",
+ srcs = glob([
+ "lib/Target/Sparc/TargetInfo/*.c",
+ "lib/Target/Sparc/TargetInfo/*.cpp",
+ "lib/Target/Sparc/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/Sparc/TargetInfo/*.h",
+ "include/llvm/Target/Sparc/TargetInfo/*.def",
+ "include/llvm/Target/Sparc/TargetInfo/*.inc",
+ "lib/Target/Sparc/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/Sparc"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Support",
+ srcs = glob([
+ "lib/Support/*.c",
+ "lib/Support/*.cpp",
+ "lib/Support/*.inc",
+ "include/llvm-c/*.h",
+ "include/llvm/CodeGen/MachineValueType.h",
+ "include/llvm/BinaryFormat/COFF.h",
+ "include/llvm/BinaryFormat/MachO.h",
+ "lib/Support/*.h",
+ ]) + llvm_support_platform_specific_srcs_glob(),
+ hdrs = glob([
+ "include/llvm/Support/*.h",
+ "include/llvm/Support/*.def",
+ "include/llvm/Support/*.inc",
+ "include/llvm/ADT/*.h",
+ "include/llvm/Support/ELFRelocs/*.def",
+ "include/llvm/Support/WasmRelocs/*.def",
+ ]) + [
+ "include/llvm/BinaryFormat/MachO.def",
+ "include/llvm/Support/VCSRevision.h",
+ ],
+ copts = llvm_copts,
+ deps = [
+ ":Demangle",
+ ":config",
+ "@zlib",
+ ],
+)
+
+cc_library(
+ name = "Symbolize",
+ srcs = glob([
+ "lib/DebugInfo/Symbolize/*.c",
+ "lib/DebugInfo/Symbolize/*.cpp",
+ "lib/DebugInfo/Symbolize/*.inc",
+ "lib/DebugInfo/Symbolize/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/DebugInfo/Symbolize/*.h",
+ "include/llvm/DebugInfo/Symbolize/*.def",
+ "include/llvm/DebugInfo/Symbolize/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":DebugInfoDWARF",
+ ":DebugInfoPDB",
+ ":Demangle",
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SystemZAsmParser",
+ srcs = glob([
+ "lib/Target/SystemZ/AsmParser/*.c",
+ "lib/Target/SystemZ/AsmParser/*.cpp",
+ "lib/Target/SystemZ/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/SystemZ/AsmParser/*.h",
+ "include/llvm/Target/SystemZ/AsmParser/*.def",
+ "include/llvm/Target/SystemZ/AsmParser/*.inc",
+ "lib/Target/SystemZ/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/SystemZ"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":SystemZDesc",
+ ":SystemZInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SystemZCodeGen",
+ srcs = glob([
+ "lib/Target/SystemZ/*.c",
+ "lib/Target/SystemZ/*.cpp",
+ "lib/Target/SystemZ/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/SystemZ/*.h",
+ "include/llvm/Target/SystemZ/*.def",
+ "include/llvm/Target/SystemZ/*.inc",
+ "lib/Target/SystemZ/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/SystemZ"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":SystemZDesc",
+ ":SystemZInfo",
+ ":Target",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SystemZDesc",
+ srcs = glob([
+ "lib/Target/SystemZ/MCTargetDesc/*.c",
+ "lib/Target/SystemZ/MCTargetDesc/*.cpp",
+ "lib/Target/SystemZ/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/SystemZ/MCTargetDesc/*.h",
+ "include/llvm/Target/SystemZ/MCTargetDesc/*.def",
+ "include/llvm/Target/SystemZ/MCTargetDesc/*.inc",
+ "lib/Target/SystemZ/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/SystemZ"],
+ deps = [
+ ":MC",
+ ":Support",
+ ":SystemZCommonTableGen",
+ ":SystemZInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SystemZDisassembler",
+ srcs = glob([
+ "lib/Target/SystemZ/Disassembler/*.c",
+ "lib/Target/SystemZ/Disassembler/*.cpp",
+ "lib/Target/SystemZ/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/SystemZ/Disassembler/*.h",
+ "include/llvm/Target/SystemZ/Disassembler/*.def",
+ "include/llvm/Target/SystemZ/Disassembler/*.inc",
+ "lib/Target/SystemZ/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/SystemZ"],
+ deps = [
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":SystemZDesc",
+ ":SystemZInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "SystemZInfo",
+ srcs = glob([
+ "lib/Target/SystemZ/TargetInfo/*.c",
+ "lib/Target/SystemZ/TargetInfo/*.cpp",
+ "lib/Target/SystemZ/TargetInfo/*.inc",
+ "lib/Target/SystemZ/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/SystemZ/TargetInfo/*.h",
+ "include/llvm/Target/SystemZ/TargetInfo/*.def",
+ "include/llvm/Target/SystemZ/TargetInfo/*.inc",
+ "lib/Target/SystemZ/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/SystemZ"],
+ deps = [
+ ":Support",
+ ":SystemZCommonTableGen",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "TableGen",
+ srcs = glob([
+ "lib/TableGen/*.c",
+ "lib/TableGen/*.cpp",
+ "lib/TableGen/*.inc",
+ "include/llvm/CodeGen/*.h",
+ "lib/TableGen/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/TableGen/*.h",
+ "include/llvm/TableGen/*.def",
+ "include/llvm/TableGen/*.inc",
+ "include/llvm/Target/*.def",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Target",
+ srcs = glob([
+ "lib/Target/*.c",
+ "lib/Target/*.cpp",
+ "lib/Target/*.inc",
+ "include/llvm/CodeGen/*.h",
+ "include/llvm-c/Initialization.h",
+ "include/llvm-c/Target.h",
+ "lib/Target/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/*.h",
+ "include/llvm/Target/*.def",
+ "include/llvm/Target/*.inc",
+ "include/llvm/CodeGen/*.def",
+ "include/llvm/CodeGen/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":MC",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "TestingSupport",
+ srcs = glob([
+ "lib/Testing/Support/*.c",
+ "lib/Testing/Support/*.cpp",
+ "lib/Testing/Support/*.inc",
+ "lib/Testing/Support/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Testing/Support/*.h",
+ "include/llvm/Testing/Support/*.def",
+ "include/llvm/Testing/Support/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "TextAPI",
+ srcs = glob([
+ "lib/TextAPI/*.c",
+ "lib/TextAPI/*.cpp",
+ "lib/TextAPI/*.inc",
+ "lib/TextAPI/ELF/*.cpp",
+ "lib/TextAPI/MachO/*.cpp",
+ "lib/TextAPI/MachO/*.h",
+ "lib/TextAPI/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/TextAPI/*.h",
+ "include/llvm/TextAPI/*.def",
+ "include/llvm/TextAPI/*.inc",
+ ]) + [
+ "include/llvm/TextAPI/MachO/Architecture.def",
+ "include/llvm/TextAPI/MachO/PackedVersion.h",
+ "include/llvm/TextAPI/MachO/InterfaceFile.h",
+ "include/llvm/TextAPI/MachO/Symbol.h",
+ "include/llvm/TextAPI/MachO/ArchitectureSet.h",
+ "include/llvm/TextAPI/MachO/TextAPIWriter.h",
+ "include/llvm/TextAPI/MachO/TextAPIReader.h",
+ "include/llvm/TextAPI/MachO/Architecture.h",
+ ],
+ copts = llvm_copts,
+ deps = [
+ ":BinaryFormat",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "TransformUtils",
+ srcs = glob([
+ "lib/Transforms/Utils/*.c",
+ "lib/Transforms/Utils/*.cpp",
+ "lib/Transforms/Utils/*.inc",
+ "include/llvm/Transforms/IPO.h",
+ "include/llvm/Transforms/Scalar.h",
+ "lib/Transforms/Utils/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/Utils/*.h",
+ "include/llvm/Transforms/Utils/*.def",
+ "include/llvm/Transforms/Utils/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "VEAsmParser",
+ srcs = glob([
+ "lib/Target/VE/AsmParser/*.c",
+ "lib/Target/VE/AsmParser/*.cpp",
+ "lib/Target/VE/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/VE/AsmParser/*.h",
+ "include/llvm/Target/VE/AsmParser/*.def",
+ "include/llvm/Target/VE/AsmParser/*.inc",
+ "lib/Target/VE/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/VE"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":VEDesc",
+ ":VEInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "VECodeGen",
+ srcs = glob([
+ "lib/Target/VE/*.c",
+ "lib/Target/VE/*.cpp",
+ "lib/Target/VE/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/VE/*.h",
+ "include/llvm/Target/VE/*.def",
+ "include/llvm/Target/VE/*.inc",
+ "lib/Target/VE/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/VE"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":VEDesc",
+ ":VEInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "VEDesc",
+ srcs = glob([
+ "lib/Target/VE/MCTargetDesc/*.c",
+ "lib/Target/VE/MCTargetDesc/*.cpp",
+ "lib/Target/VE/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/VE/MCTargetDesc/*.h",
+ "include/llvm/Target/VE/MCTargetDesc/*.def",
+ "include/llvm/Target/VE/MCTargetDesc/*.inc",
+ "lib/Target/VE/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/VE"],
+ deps = [
+ ":MC",
+ ":Support",
+ ":VEInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "VEDisassembler",
+ srcs = glob([
+ "lib/Target/VE/Disassembler/*.c",
+ "lib/Target/VE/Disassembler/*.cpp",
+ "lib/Target/VE/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/VE/Disassembler/*.h",
+ "include/llvm/Target/VE/Disassembler/*.def",
+ "include/llvm/Target/VE/Disassembler/*.inc",
+ "lib/Target/VE/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/VE"],
+ deps = [
+ ":MCDisassembler",
+ ":Support",
+ ":VEInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "VEInfo",
+ srcs = glob([
+ "lib/Target/VE/TargetInfo/*.c",
+ "lib/Target/VE/TargetInfo/*.cpp",
+ "lib/Target/VE/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/VE/TargetInfo/*.h",
+ "include/llvm/Target/VE/TargetInfo/*.def",
+ "include/llvm/Target/VE/TargetInfo/*.inc",
+ "lib/Target/VE/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/VE"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "Vectorize",
+ srcs = glob([
+ "lib/Transforms/Vectorize/*.c",
+ "lib/Transforms/Vectorize/*.cpp",
+ "lib/Transforms/Vectorize/*.inc",
+ "include/llvm-c/Transforms/Vectorize.h",
+ "lib/Transforms/Vectorize/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Transforms/Vectorize/*.h",
+ "include/llvm/Transforms/Vectorize/*.def",
+ "include/llvm/Transforms/Vectorize/*.inc",
+ "include/llvm/Transforms/Vectorize.h",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Analysis",
+ ":Core",
+ ":Scalar",
+ ":Support",
+ ":TransformUtils",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "WebAssemblyAsmParser",
+ srcs = glob([
+ "lib/Target/WebAssembly/AsmParser/*.c",
+ "lib/Target/WebAssembly/AsmParser/*.cpp",
+ "lib/Target/WebAssembly/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/WebAssembly/AsmParser/*.h",
+ "include/llvm/Target/WebAssembly/AsmParser/*.def",
+ "include/llvm/Target/WebAssembly/AsmParser/*.inc",
+ "lib/Target/WebAssembly/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/WebAssembly"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":WebAssemblyInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "WebAssemblyCodeGen",
+ srcs = glob([
+ "lib/Target/WebAssembly/*.c",
+ "lib/Target/WebAssembly/*.cpp",
+ "lib/Target/WebAssembly/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/WebAssembly/*.h",
+ "include/llvm/Target/WebAssembly/*.def",
+ "include/llvm/Target/WebAssembly/*.inc",
+ "lib/Target/WebAssembly/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/WebAssembly"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":BinaryFormat",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":Scalar",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":WebAssemblyDesc",
+ ":WebAssemblyInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "WebAssemblyDesc",
+ srcs = glob([
+ "lib/Target/WebAssembly/MCTargetDesc/*.c",
+ "lib/Target/WebAssembly/MCTargetDesc/*.cpp",
+ "lib/Target/WebAssembly/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/WebAssembly/MCTargetDesc/*.h",
+ "include/llvm/Target/WebAssembly/MCTargetDesc/*.def",
+ "include/llvm/Target/WebAssembly/MCTargetDesc/*.inc",
+ "lib/Target/WebAssembly/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/WebAssembly"],
+ deps = [
+ ":MC",
+ ":Support",
+ ":WebAssemblyInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "WebAssemblyDisassembler",
+ srcs = glob([
+ "lib/Target/WebAssembly/Disassembler/*.c",
+ "lib/Target/WebAssembly/Disassembler/*.cpp",
+ "lib/Target/WebAssembly/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/WebAssembly/Disassembler/*.h",
+ "include/llvm/Target/WebAssembly/Disassembler/*.def",
+ "include/llvm/Target/WebAssembly/Disassembler/*.inc",
+ "lib/Target/WebAssembly/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/WebAssembly"],
+ deps = [
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":WebAssemblyDesc",
+ ":WebAssemblyInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "WebAssemblyInfo",
+ srcs = glob([
+ "lib/Target/WebAssembly/TargetInfo/*.c",
+ "lib/Target/WebAssembly/TargetInfo/*.cpp",
+ "lib/Target/WebAssembly/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/WebAssembly/TargetInfo/*.h",
+ "include/llvm/Target/WebAssembly/TargetInfo/*.def",
+ "include/llvm/Target/WebAssembly/TargetInfo/*.inc",
+ "lib/Target/WebAssembly/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/WebAssembly"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "WindowsManifest",
+ srcs = glob([
+ "lib/WindowsManifest/*.c",
+ "lib/WindowsManifest/*.cpp",
+ "lib/WindowsManifest/*.inc",
+ "lib/WindowsManifest/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/WindowsManifest/*.h",
+ "include/llvm/WindowsManifest/*.def",
+ "include/llvm/WindowsManifest/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "X86AsmParser",
+ srcs = glob([
+ "lib/Target/X86/AsmParser/*.c",
+ "lib/Target/X86/AsmParser/*.cpp",
+ "lib/Target/X86/AsmParser/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/X86/AsmParser/*.h",
+ "include/llvm/Target/X86/AsmParser/*.def",
+ "include/llvm/Target/X86/AsmParser/*.inc",
+ "lib/Target/X86/AsmParser/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/X86"],
+ deps = [
+ ":MC",
+ ":MCParser",
+ ":Support",
+ ":X86Desc",
+ ":X86Info",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "X86CodeGen",
+ srcs = glob([
+ "lib/Target/X86/*.c",
+ "lib/Target/X86/*.cpp",
+ "lib/Target/X86/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/X86/*.h",
+ "include/llvm/Target/X86/*.def",
+ "include/llvm/Target/X86/*.inc",
+ "lib/Target/X86/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/X86"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CFGuard",
+ ":CodeGen",
+ ":Core",
+ ":GlobalISel",
+ ":MC",
+ ":ProfileData",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":X86Desc",
+ ":X86Info",
+ ":config",
+ ":x86_defs",
+ ],
+)
+
+cc_library(
+ name = "X86Desc",
+ srcs = glob([
+ "lib/Target/X86/MCTargetDesc/*.c",
+ "lib/Target/X86/MCTargetDesc/*.cpp",
+ "lib/Target/X86/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/X86/MCTargetDesc/*.h",
+ "include/llvm/Target/X86/MCTargetDesc/*.def",
+ "include/llvm/Target/X86/MCTargetDesc/*.inc",
+ "lib/Target/X86/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/X86"],
+ deps = [
+ ":BinaryFormat",
+ ":MC",
+ ":MCDisassembler",
+ ":Support",
+ ":X86Info",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "X86Disassembler",
+ srcs = glob([
+ "lib/Target/X86/Disassembler/*.c",
+ "lib/Target/X86/Disassembler/*.cpp",
+ "lib/Target/X86/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/X86/Disassembler/*.h",
+ "include/llvm/Target/X86/Disassembler/*.def",
+ "include/llvm/Target/X86/Disassembler/*.inc",
+ "lib/Target/X86/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/X86"],
+ deps = [
+ ":MCDisassembler",
+ ":Support",
+ ":X86Info",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "X86Info",
+ srcs = glob([
+ "lib/Target/X86/TargetInfo/*.c",
+ "lib/Target/X86/TargetInfo/*.cpp",
+ "lib/Target/X86/TargetInfo/*.inc",
+ "lib/Target/X86/MCTargetDesc/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/X86/TargetInfo/*.h",
+ "include/llvm/Target/X86/TargetInfo/*.def",
+ "include/llvm/Target/X86/TargetInfo/*.inc",
+ "lib/Target/X86/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/X86"],
+ deps = [
+ ":MC",
+ ":Support",
+ ":X86CommonTableGen",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "XCoreCodeGen",
+ srcs = glob([
+ "lib/Target/XCore/*.c",
+ "lib/Target/XCore/*.cpp",
+ "lib/Target/XCore/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/XCore/*.h",
+ "include/llvm/Target/XCore/*.def",
+ "include/llvm/Target/XCore/*.inc",
+ "lib/Target/XCore/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/XCore"],
+ deps = [
+ ":Analysis",
+ ":AsmPrinter",
+ ":CodeGen",
+ ":Core",
+ ":MC",
+ ":SelectionDAG",
+ ":Support",
+ ":Target",
+ ":TransformUtils",
+ ":XCoreDesc",
+ ":XCoreInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "XCoreDesc",
+ srcs = glob([
+ "lib/Target/XCore/MCTargetDesc/*.c",
+ "lib/Target/XCore/MCTargetDesc/*.cpp",
+ "lib/Target/XCore/MCTargetDesc/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/XCore/MCTargetDesc/*.h",
+ "include/llvm/Target/XCore/MCTargetDesc/*.def",
+ "include/llvm/Target/XCore/MCTargetDesc/*.inc",
+ "lib/Target/XCore/MCTargetDesc/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/XCore"],
+ deps = [
+ ":MC",
+ ":Support",
+ ":XCoreInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "XCoreDisassembler",
+ srcs = glob([
+ "lib/Target/XCore/Disassembler/*.c",
+ "lib/Target/XCore/Disassembler/*.cpp",
+ "lib/Target/XCore/Disassembler/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/XCore/Disassembler/*.h",
+ "include/llvm/Target/XCore/Disassembler/*.def",
+ "include/llvm/Target/XCore/Disassembler/*.inc",
+ "lib/Target/XCore/Disassembler/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/XCore"],
+ deps = [
+ ":MCDisassembler",
+ ":Support",
+ ":XCoreInfo",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "XCoreInfo",
+ srcs = glob([
+ "lib/Target/XCore/TargetInfo/*.c",
+ "lib/Target/XCore/TargetInfo/*.cpp",
+ "lib/Target/XCore/TargetInfo/*.inc",
+ ]),
+ hdrs = glob([
+ "include/llvm/Target/XCore/TargetInfo/*.h",
+ "include/llvm/Target/XCore/TargetInfo/*.def",
+ "include/llvm/Target/XCore/TargetInfo/*.inc",
+ "lib/Target/XCore/TargetInfo/*.h",
+ ]),
+ copts = llvm_copts + ["-Iexternal/llvm-project/llvm/lib/Target/XCore"],
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "XRay",
+ srcs = glob([
+ "lib/XRay/*.c",
+ "lib/XRay/*.cpp",
+ "lib/XRay/*.inc",
+ "lib/XRay/*.h",
+ ]),
+ hdrs = glob([
+ "include/llvm/XRay/*.h",
+ "include/llvm/XRay/*.def",
+ "include/llvm/XRay/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Object",
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "gtest",
+ srcs = glob([
+ "utils/unittest/*.c",
+ "utils/unittest/*.cpp",
+ "utils/unittest/*.inc",
+ "utils/unittest/*.h",
+ ]),
+ hdrs = glob([
+ "utils/unittest/*.h",
+ "utils/unittest/*.def",
+ "utils/unittest/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":Support",
+ ":config",
+ ],
+)
+
+cc_library(
+ name = "gtest_main",
+ srcs = glob([
+ "utils/unittest/*.c",
+ "utils/unittest/*.cpp",
+ "utils/unittest/*.inc",
+ "utils/unittest/*.h",
+ ]),
+ hdrs = glob([
+ "utils/unittest/*.h",
+ "utils/unittest/*.def",
+ "utils/unittest/*.inc",
+ ]),
+ copts = llvm_copts,
+ deps = [
+ ":config",
+ ":gtest",
+ ],
+)
diff --git a/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel
new file mode 100644
index 0000000..1c82ec2
--- /dev/null
+++ b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/BUILD.bazel
@@ -0,0 +1,4050 @@
+# Description:
+# The MLIR "Multi-Level Intermediate Representation" Compiler Infrastructure
+
+load("@org_tensorflow//third_party/mlir:tblgen.bzl", "gentbl")
+load("@org_tensorflow//third_party/mlir:linalggen.bzl", "genlinalg")
+
+package(
+ default_visibility = [":friends"],
+ licenses = ["notice"],
+)
+
+package_group(
+ name = "subpackages",
+ packages = ["//..."],
+)
+
+package_group(
+ name = "friends",
+ packages = ["//..."],
+)
+
+exports_files([
+ "LICENSE.TXT",
+ "include/mlir/Dialect/LLVMIR/LLVMOps.td",
+ "run_lit.sh",
+])
+
+[
+ gentbl(
+ name = name + "IncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-interface-decls",
+ "include/mlir/IR/" + name + ".h.inc",
+ ),
+ (
+ "-gen-op-interface-defs",
+ "include/mlir/IR/" + name + ".cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/IR/" + name + ".td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ],
+ )
+ for name in [
+ "OpAsmInterface",
+ "RegionKindInterface",
+ "SymbolInterfaces",
+ ]
+]
+
+cc_library(
+ name = "IR",
+ srcs = glob([
+ "lib/IR/*.cpp",
+ "lib/IR/*.h",
+ ]),
+ hdrs = glob([
+ "include/mlir/IR/*.h",
+ ]) + [
+ "include/mlir/Interfaces/CallInterfaces.h",
+ "include/mlir/Interfaces/DecodeAttributesInterfaces.h",
+ "include/mlir/Interfaces/FoldInterfaces.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":CallOpInterfacesIncGen",
+ ":InferTypeOpInterfaceIncGen",
+ ":OpAsmInterfaceIncGen",
+ ":RegionKindInterfaceIncGen",
+ ":SideEffectInterfacesIncGen",
+ ":Support",
+ ":SymbolInterfacesIncGen",
+ "@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 = [
+ ":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",
+ ],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "CAPIIR",
+ srcs = [
+ "lib/CAPI/IR/AffineMap.cpp",
+ "lib/CAPI/IR/IR.cpp",
+ "lib/CAPI/IR/StandardAttributes.cpp",
+ "lib/CAPI/IR/StandardTypes.cpp",
+ "lib/CAPI/IR/Support.cpp",
+ "lib/CAPI/Standard/StandardDialect.cpp",
+ ],
+ hdrs = [
+ "include/mlir-c/AffineMap.h",
+ "include/mlir-c/IR.h",
+ "include/mlir-c/StandardAttributes.h",
+ "include/mlir-c/StandardDialect.h",
+ "include/mlir-c/StandardTypes.h",
+ "include/mlir-c/Support.h",
+ "include/mlir/CAPI/AffineMap.h",
+ "include/mlir/CAPI/IR.h",
+ "include/mlir/CAPI/Support.h",
+ "include/mlir/CAPI/Utils.h",
+ "include/mlir/CAPI/Wrap.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":Parser",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "MLIRBindingsPythonExtension",
+ hdrs = [
+ "include/mlir-c/Bindings/Python/Interop.h",
+ ],
+ deps = [
+ ":CAPIIR",
+ "//third_party/python_runtime:headers",
+ ],
+)
+
+cc_library(
+ name = "CAPIRegistration",
+ srcs = [
+ "lib/CAPI/Registration/Registration.cpp",
+ ],
+ hdrs = [
+ "include/mlir-c/Registration.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":AllPassesAndDialectsNoRegistration",
+ ":CAPIIR",
+ ],
+)
+
+filegroup(
+ name = "OpBaseTdFiles",
+ srcs = [
+ "include/mlir/Dialect/StandardOps/IR/StandardOpsBase.td",
+ "include/mlir/IR/OpBase.td",
+ ],
+)
+
+##---------------------------------------------------------------------------##
+# Affine dialect.
+##---------------------------------------------------------------------------##
+
+filegroup(
+ name = "PassBaseTdFiles",
+ srcs = [
+ "include/mlir/Pass/PassBase.td",
+ ],
+)
+
+filegroup(
+ name = "AffineOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td",
+ "include/mlir/Dialect/Affine/IR/AffineOps.td",
+ "include/mlir/Interfaces/ControlFlowInterfaces.td",
+ "include/mlir/Interfaces/LoopLikeInterface.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "AffineOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/Affine/IR/AffineOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/Affine/IR/AffineOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "include/mlir/Dialect/Affine/IR/AffineOpsDialect.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Affine/IR/AffineOps.td",
+ td_srcs = [
+ ":AffineOpsTdFiles",
+ ],
+)
+
+gentbl(
+ name = "AffineMemoryOpInterfacesIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-interface-decls",
+ "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.h.inc",
+ ),
+ (
+ "-gen-op-interface-defs",
+ "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Affine/IR/AffineMemoryOpInterfaces.td",
+ td_srcs = [
+ ":AffineOpsTdFiles",
+ ],
+)
+
+##---------------------------------------------------------------------------##
+# Async dialect.
+##---------------------------------------------------------------------------##
+
+filegroup(
+ name = "AsyncOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/Async/IR/AsyncBase.td",
+ "include/mlir/Dialect/Async/IR/AsyncOps.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "AsyncOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/Async/IR/AsyncOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/Async/IR/AsyncOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "include/mlir/Dialect/Async/IR/AsyncOpsDialect.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Async/IR/AsyncOps.td",
+ td_srcs = [
+ ":AsyncOpsTdFiles",
+ ],
+)
+
+##---------------------------------------------------------------------------##
+# AVX512 dialect.
+##---------------------------------------------------------------------------##
+
+filegroup(
+ name = "AVX512TdFiles",
+ srcs = [
+ "include/mlir/Dialect/AVX512/AVX512.td",
+ "include/mlir/Dialect/LLVMIR/LLVMOpBase.td",
+ "include/mlir/IR/OpBase.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ],
+)
+
+gentbl(
+ name = "AVX512IncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-dialect-decls -dialect=avx512",
+ "include/mlir/Dialect/AVX512/AVX512Dialect.h.inc",
+ ),
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/AVX512/AVX512.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/AVX512/AVX512.cpp.inc",
+ ),
+ (
+ "-gen-op-doc",
+ "g3doc/Dialects/AVX512/AVX512.md",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/AVX512/AVX512.td",
+ td_srcs = [
+ ":AVX512TdFiles",
+ ],
+)
+
+cc_library(
+ name = "AVX512",
+ srcs = [
+ "lib/Dialect/AVX512/IR/AVX512Dialect.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Dialect/AVX512/AVX512Dialect.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":AVX512IncGen",
+ ":IR",
+ ":SideEffectInterfaces",
+ ":VectorOps",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "AVX512ToLLVM",
+ srcs = glob([
+ "lib/Conversion/AVX512ToLLVM/*.cpp",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/AVX512ToLLVM/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":AVX512",
+ ":ConversionPassIncGen",
+ ":EDSC",
+ ":IR",
+ ":LLVMAVX512",
+ ":LLVMDialect",
+ ":Pass",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":Support",
+ ":Transforms",
+ ":VectorOps",
+ ":VectorToLLVM",
+ ":VectorToSCF",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+filegroup(
+ name = "SCFTdFiles",
+ srcs = [
+ "include/mlir/Dialect/SCF/SCFOps.td",
+ "include/mlir/Interfaces/ControlFlowInterfaces.td",
+ "include/mlir/Interfaces/LoopLikeInterface.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "SCFIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/SCF/SCFOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/SCF/SCFOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "include/mlir/Dialect/SCF/SCFOpsDialect.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/SCF/SCFOps.td",
+ td_srcs = [
+ ":SCFTdFiles",
+ ],
+)
+
+gentbl(
+ name = "SCFPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name SCF",
+ "include/mlir/Dialect/SCF/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/SCF/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "SCFTransforms",
+ srcs = glob([
+ "lib/Dialect/SCF/Transforms/*.cpp",
+ "lib/Dialect/SCF/Transforms/*.h",
+ ]),
+ hdrs = ["include/mlir/Dialect/SCF/Passes.h"],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":SCFPassIncGen",
+ ":StandardOps",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+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/SideEffectInterfaces.td",
+ "include/mlir/Interfaces/VectorInterfaces.td",
+ "include/mlir/Interfaces/ViewLikeInterface.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-dialect-decls",
+ "include/mlir/Dialect/StandardOps/IR/OpsDialect.h.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 = "Affine",
+ srcs = glob(
+ [
+ "lib/Dialect/Affine/IR/*.cpp",
+ "lib/Dialect/Affine/IR/*.h",
+ "lib/Dialect/Affine/EDSC/*.cpp",
+ ],
+ ) + [
+ "include/mlir/Transforms/InliningUtils.h",
+ ],
+ hdrs = glob([
+ "include/mlir/Dialect/Affine/IR/*.h",
+ "include/mlir/Dialect/Affine/EDSC/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":AffineMemoryOpInterfacesIncGen",
+ ":AffineOpsIncGen",
+ ":EDSC",
+ ":IR",
+ ":LoopLikeInterface",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "Async",
+ srcs = glob([
+ "lib/Dialect/Async/IR/*.cpp",
+ ]),
+ hdrs = glob([
+ "include/mlir/Dialect/Async/IR/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":AsyncOpsIncGen",
+ ":Dialect",
+ ":IR",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "AffineUtils",
+ srcs = glob(
+ [
+ "lib/Dialect/Affine/Utils/*.cpp",
+ "lib/Dialect/Affine/Utils/*.h",
+ ],
+ ),
+ hdrs = ["include/mlir/Dialect/Affine/Utils.h"],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":IR",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+gentbl(
+ name = "AffinePassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name Affine",
+ "include/mlir/Dialect/Affine/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Affine/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "AffineTransforms",
+ srcs = glob([
+ "lib/Dialect/Affine/Transforms/*.cpp",
+ "lib/Dialect/Affine/Transforms/*.h",
+ ]),
+ hdrs = [
+ "include/mlir/Dialect/Affine/Passes.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":AffinePassIncGen",
+ ":AffineUtils",
+ ":Analysis",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ ":VectorOps",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+gentbl(
+ name = "ConversionPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name Conversion",
+ "include/mlir/Conversion/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Conversion/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "ConversionPasses",
+ hdrs = ["include/mlir/Conversion/Passes.h"],
+ includes = ["include"],
+ deps = [
+ ":AVX512ToLLVM",
+ ":AffineToStandard",
+ ":ConversionPassIncGen",
+ ":GPUToGPURuntimeTransforms",
+ ":GPUToNVVMTransforms",
+ ":GPUToROCDLTransforms",
+ ":GPUToSPIRVTransforms",
+ ":GPUToVulkanTransforms",
+ ":LinalgToLLVM",
+ ":LinalgToSPIRV",
+ ":LinalgToStandard",
+ ":OpenMPToLLVM",
+ ":SCFToGPUPass",
+ ":SCFToStandard",
+ ":SPIRVToLLVM",
+ ":ShapeToStandard",
+ ":StandardToLLVM",
+ ":StandardToSPIRVTransforms",
+ ":VectorToLLVM",
+ ":VectorToROCDL",
+ ":VectorToSCF",
+ ":VectorToSPIRV",
+ ],
+)
+
+cc_library(
+ name = "AffineToStandard",
+ srcs = glob([
+ "lib/Conversion/AffineToStandard/*.cpp",
+ "lib/Conversion/AffineToStandard/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob(["include/mlir/Conversion/AffineToStandard/*.h"]),
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":ConversionPassIncGen",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ ":VectorOps",
+ ],
+)
+
+alias(
+ name = "AffineToStandardTransforms",
+ actual = "AffineToStandard",
+)
+
+# 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 = "SCFDialect",
+ srcs = glob(
+ [
+ "lib/Dialect/SCF/*.cpp",
+ "lib/Dialect/SCF/*.h",
+ "lib/Dialect/SCF/EDSC/*.cpp",
+ ],
+ ),
+ hdrs = glob([
+ "include/mlir/Dialect/SCF/*.h",
+ "include/mlir/Dialect/SCF/EDSC/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":ControlFlowInterfaces",
+ ":EDSC",
+ ":IR",
+ ":LoopLikeInterface",
+ ":Pass",
+ ":SCFIncGen",
+ ":SCFPassIncGen",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "LoopLikeInterface",
+ srcs = ["lib/Interfaces/LoopLikeInterface.cpp"],
+ hdrs = ["include/mlir/Interfaces/LoopLikeInterface.h"],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":LoopLikeInterfaceIncGen",
+ ],
+)
+
+cc_library(
+ name = "VectorInterfaces",
+ srcs = ["lib/Interfaces/VectorInterfaces.cpp"],
+ hdrs = ["include/mlir/Interfaces/VectorInterfaces.h"],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":VectorInterfacesIncGen",
+ ],
+)
+
+cc_library(
+ name = "ViewLikeInterface",
+ srcs = ["lib/Interfaces/ViewLikeInterface.cpp"],
+ hdrs = ["include/mlir/Interfaces/ViewLikeInterface.h"],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":ViewLikeInterfaceIncGen",
+ ],
+)
+
+cc_library(
+ name = "CopyOpInterface",
+ srcs = ["lib/Interfaces/CopyOpInterface.cpp"],
+ hdrs = ["include/mlir/Interfaces/CopyOpInterface.h"],
+ includes = ["include"],
+ deps = [
+ ":CopyOpInterfaceIncGen",
+ ":IR",
+ ],
+)
+
+gentbl(
+ name = "ShapeOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/Shape/IR/ShapeOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/Shape/IR/ShapeOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "include/mlir/Dialect/Shape/IR/ShapeOpsDialect.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Shape/IR/ShapeOps.td",
+ td_srcs = [
+ ":StdOpsTdFiles",
+ "include/mlir/Dialect/Shape/IR/ShapeBase.td",
+ "include/mlir/Interfaces/InferTypeOpInterface.td",
+ ],
+)
+
+gentbl(
+ name = "MLIRShapeCanonicalizationIncGen",
+ strip_include_prefix = "include/mlir/Dialect/Shape/IR",
+ tbl_outs = [
+ (
+ "-gen-rewriters",
+ "include/mlir/Dialect/Shape/IR/ShapeCanonicalization.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "lib/Dialect/Shape/IR/ShapeCanonicalization.td",
+ td_srcs = [
+ ":StdOpsTdFiles",
+ "include/mlir/Dialect/Shape/IR/ShapeBase.td",
+ "include/mlir/Dialect/Shape/IR/ShapeOps.td",
+ "include/mlir/Interfaces/InferTypeOpInterface.td",
+ ],
+)
+
+cc_library(
+ name = "Shape",
+ srcs = glob(["lib/Dialect/Shape/IR/*.cpp"]),
+ hdrs = ["include/mlir/Dialect/Shape/IR/Shape.h"],
+ includes = ["include"],
+ deps = [
+ ":CallOpInterfaces",
+ ":CommonFolders",
+ ":ControlFlowInterfaces",
+ ":Dialect",
+ ":IR",
+ ":InferTypeOpInterface",
+ ":MLIRShapeCanonicalizationIncGen",
+ ":ShapeOpsIncGen",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "ShapeToStandard",
+ srcs = glob([
+ "lib/Conversion/ShapeToStandard/*.cpp",
+ "lib/Conversion/ShapeToStandard/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = ["include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h"],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":Shape",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ ],
+)
+
+gentbl(
+ name = "ShapeTransformsPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [(
+ "-gen-pass-decls -name Shape",
+ "include/mlir/Dialect/Shape/Transforms/Passes.h.inc",
+ )],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Shape/Transforms/Passes.td",
+ td_srcs = [":PassBaseTdFiles"],
+)
+
+cc_library(
+ name = "ShapeTransforms",
+ srcs = glob([
+ "lib/Dialect/Shape/Transforms/*.cpp",
+ "lib/Dialect/Shape/Transforms/*.h",
+ ]),
+ hdrs = ["include/mlir/Dialect/Shape/Transforms/Passes.h"],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":Pass",
+ ":Shape",
+ ":ShapeTransformsPassIncGen",
+ ":StandardOps",
+ ":Transforms",
+ ],
+)
+
+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",
+ ":SideEffectInterfaces",
+ ":StandardOpsIncGen",
+ ":Support",
+ ":VectorInterfaces",
+ ":ViewLikeInterface",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+gentbl(
+ name = "StandardOpsTransformsPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [(
+ "-gen-pass-decls -name Standard",
+ "include/mlir/Dialect/StandardOps/Transforms/Passes.h.inc",
+ )],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/StandardOps/Transforms/Passes.td",
+ td_srcs = [":PassBaseTdFiles"],
+)
+
+cc_library(
+ name = "StandardOpsTransforms",
+ srcs = glob([
+ "lib/Dialect/StandardOps/Transforms/*.cpp",
+ "lib/Dialect/StandardOps/Transforms/*.h",
+ ]),
+ hdrs = glob(["include/mlir/Dialect/StandardOps/Transforms/*.h"]),
+ includes = ["include"],
+ deps = [
+ ":Analysis",
+ ":ControlFlowInterfaces",
+ ":IR",
+ ":Pass",
+ ":StandardOps",
+ ":StandardOpsTransformsPassIncGen",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "VectorOps",
+ srcs = glob(
+ [
+ "lib/Dialect/Vector/*.cpp",
+ "lib/Dialect/Vector/*.h",
+ "lib/Dialect/Vector/EDSC/*.cpp",
+ "lib/Dialect/Vector/EDSC/*.h",
+ ],
+ ),
+ hdrs = glob([
+ "include/mlir/Dialect/Vector/*.h",
+ "include/mlir/Dialect/Vector/EDSC/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":Analysis",
+ ":DialectUtils",
+ ":EDSC",
+ ":IR",
+ ":LinalgOps",
+ ":SCFDialect",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ ":VectorInterfaces",
+ ":VectorOpsIncGen",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "Support",
+ srcs = glob(
+ [
+ "lib/Support/*.cpp",
+ "lib/Support/*.h",
+ ],
+ exclude = [
+ # TODO(jpienaar): Move this out, else Support depends on Analysis/
+ "lib/Support/MlirOptMain.cpp",
+ ],
+ ),
+ hdrs = glob(
+ [
+ "include/mlir/Support/*.h",
+ ],
+ exclude = [
+ "include/mlir/Support/MlirOptMain.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 = [
+ ":IR",
+ ":ParserTokenKinds",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+filegroup(
+ name = "LLVMAVX512TdFiles",
+ srcs = [
+ "include/mlir/Dialect/LLVMIR/LLVMAVX512.td",
+ ":LLVMOpsTdFiles",
+ ],
+)
+
+gentbl(
+ name = "LLVMAVX512IncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-dialect-decls -dialect=llvm_avx512",
+ "include/mlir/Dialect/LLVMIR/LLVMAVX512Dialect.h.inc",
+ ),
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/LLVMIR/LLVMAVX512.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/LLVMIR/LLVMAVX512.cpp.inc",
+ ),
+ (
+ "-gen-op-doc",
+ "g3doc/Dialects/LLVMIR/LLVMAVX512.md",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/LLVMIR/LLVMAVX512.td",
+ td_srcs = [
+ ":LLVMAVX512TdFiles",
+ ],
+)
+
+cc_library(
+ name = "LLVMAVX512",
+ srcs = [
+ "lib/Dialect/LLVMIR/IR/LLVMAVX512Dialect.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Dialect/LLVMIR/LLVMAVX512Dialect.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":LLVMAVX512IncGen",
+ ":LLVMDialect",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+gentbl(
+ name = "LLVMAVX512ConversionIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-llvmir-conversions",
+ "include/mlir/Dialect/LLVMIR/LLVMAVX512Conversions.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/LLVMIR/LLVMAVX512.td",
+ td_srcs = [
+ ":LLVMAVX512TdFiles",
+ ],
+)
+
+cc_library(
+ name = "TargetLLVMAVX512Intr",
+ srcs = [
+ "lib/Target/LLVMIR/LLVMAVX512Intr.cpp",
+ ],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":LLVMAVX512",
+ ":LLVMAVX512ConversionIncGen",
+ ":LLVMIRModuleTranslation",
+ ":Translation",
+ "@llvm-project//llvm:Core",
+ "@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/*AVX512*.cpp",
+ "lib/Dialect/LLVMIR/IR/*AVX512*.h",
+ "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/*AVX512*.h",
+ "include/mlir/Dialect/LLVMIR/NVVM*.h",
+ "include/mlir/Dialect/LLVMIR/ROCDL*.h",
+ ],
+ ),
+ includes = ["include"],
+ deps = [
+ ":ControlFlowInterfaces",
+ ":IR",
+ ":LLVMOpsIncGen",
+ ":OpenMPDialect",
+ ":SideEffectInterfaces",
+ ":Support",
+ "@llvm-project//llvm:AsmParser",
+ "@llvm-project//llvm:BitReader",
+ "@llvm-project//llvm:BitWriter",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+gentbl(
+ name = "LLVMPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name LLVM",
+ "include/mlir/Dialect/LLVMIR/Transforms/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/LLVMIR/Transforms/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "LLVMIRTransforms",
+ srcs = glob([
+ "lib/Dialect/LLVMIR/Transforms/*.cpp",
+ "lib/Dialect/LLVMIR/Transforms/*.h",
+ ]),
+ hdrs = glob(["include/mlir/Dialect/LLVMIR/Transforms/*.h"]),
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":LLVMDialect",
+ ":LLVMPassIncGen",
+ ":Pass",
+ ],
+)
+
+filegroup(
+ name = "GPUOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/GPU/GPUBase.td",
+ "include/mlir/Dialect/GPU/GPUOps.td",
+ "include/mlir/Dialect/LLVMIR/LLVMOpBase.td",
+ "include/mlir/IR/SymbolInterfaces.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "ParallelLoopMapperAttrGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-struct-attr-decls",
+ "include/mlir/Dialect/GPU/ParallelLoopMapperAttr.h.inc",
+ ),
+ (
+ "-gen-struct-attr-defs",
+ "include/mlir/Dialect/GPU/ParallelLoopMapperAttr.cpp.inc",
+ ),
+ (
+ "-gen-enum-decls",
+ "include/mlir/Dialect/GPU/ParallelLoopMapperEnums.h.inc",
+ ),
+ (
+ "-gen-enum-defs",
+ "include/mlir/Dialect/GPU/ParallelLoopMapperEnums.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/GPU/ParallelLoopMapperAttr.td",
+ td_srcs = [
+ ":GPUOpsTdFiles",
+ ":AffineOpsTdFiles",
+ ],
+)
+
+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",
+ ),
+ (
+ "-gen-dialect-decls -dialect=gpu",
+ "include/mlir/Dialect/GPU/GPUOpsDialect.h.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/GPUDialect.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":GPUOpsIncGen",
+ ":IR",
+ ":LLVMDialect",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ ],
+)
+
+gentbl(
+ name = "GPUPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name GPU",
+ "include/mlir/Dialect/GPU/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/GPU/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "GPUTransforms",
+ srcs = glob(
+ [
+ "lib/Dialect/GPU/Transforms/*.cpp",
+ "lib/Dialect/GPU/Transforms/*.h",
+ ],
+ ),
+ hdrs = [
+ "include/mlir/Dialect/GPU/MemoryPromotion.h",
+ "include/mlir/Dialect/GPU/ParallelLoopMapper.h",
+ "include/mlir/Dialect/GPU/Passes.h",
+ "include/mlir/Dialect/GPU/Utils.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":EDSC",
+ ":GPUDialect",
+ ":GPUPassIncGen",
+ ":IR",
+ ":ParallelLoopMapperAttrGen",
+ ":Pass",
+ ":SCFDialect",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+filegroup(
+ name = "LLVMOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/LLVMIR/LLVMOpBase.td",
+ "include/mlir/Dialect/LLVMIR/LLVMOps.td",
+ "include/mlir/IR/SymbolInterfaces.td",
+ "include/mlir/Interfaces/ControlFlowInterfaces.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "GPUCommonTransforms",
+ hdrs = [
+ "lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h",
+ "lib/Conversion/GPUCommon/OpToFuncCallLowering.h",
+ ],
+ # TODO(b/155492113): Move back to hdrs once fixed.
+ textual_hdrs = [
+ "lib/Conversion/GPUCommon/GPUOpsLowering.h",
+ ],
+ deps = [
+ ":GPUDialect",
+ ":IR",
+ ":LLVMDialect",
+ ":StandardOps",
+ ":StandardToLLVM",
+ "@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",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/GPUToNVVM/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":GPUCommonTransforms",
+ ":GPUDialect",
+ ":GPUToNVVMGen",
+ ":GPUTransforms",
+ ":IR",
+ ":NVVMDialect",
+ ":Pass",
+ ":StandardToLLVM",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "VectorToROCDL",
+ srcs = [
+ "lib/Conversion/PassDetail.h",
+ "lib/Conversion/VectorToROCDL/VectorToROCDL.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Conversion/VectorToROCDL/VectorToROCDL.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":GPUDialect",
+ ":LLVMDialect",
+ ":Pass",
+ ":ROCDLDialect",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":Transforms",
+ ":VectorOps",
+ ],
+)
+
+cc_library(
+ name = "VectorToSPIRV",
+ srcs = [
+ "lib/Conversion/PassDetail.h",
+ "lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Conversion/VectorToSPIRV/ConvertVectorToSPIRV.h",
+ "include/mlir/Conversion/VectorToSPIRV/ConvertVectorToSPIRVPass.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":Pass",
+ ":SPIRVDialect",
+ ":SPIRVLowering",
+ ":Transforms",
+ ":VectorOps",
+ ],
+)
+
+gentbl(
+ name = "GPUToROCDLTGen",
+ strip_include_prefix = "lib/Conversion/GPUToROCDL",
+ tbl_outs = [
+ (
+ "-gen-rewriters",
+ "lib/Conversion/GPUToROCDL/GPUToROCDL.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "lib/Conversion/GPUToROCDL/GPUToROCDL.td",
+ td_srcs = [
+ ":GPUOpsTdFiles",
+ ":ROCDLOpsTdFiles",
+ ],
+)
+
+cc_library(
+ name = "GPUToROCDLTransforms",
+ srcs = [
+ "lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp",
+ "lib/Conversion/PassDetail.h",
+ ],
+ hdrs = [
+ "include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":GPUCommonTransforms",
+ ":GPUDialect",
+ ":GPUToROCDLTGen",
+ ":GPUTransforms",
+ ":Pass",
+ ":ROCDLDialect",
+ ":StandardToLLVM",
+ ":Transforms",
+ ":VectorOps",
+ ":VectorToLLVM",
+ ":VectorToROCDL",
+ ":VectorToSCF",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "GPUToVulkanTransforms",
+ srcs = [
+ "lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp",
+ "lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp",
+ "lib/Conversion/PassDetail.h",
+ ],
+ hdrs = ["include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h"],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":GPUDialect",
+ ":IR",
+ ":LLVMDialect",
+ ":Pass",
+ ":SPIRVDialect",
+ ":SPIRVSerialization",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "GPUToGPURuntimeTransforms",
+ srcs = [
+ "lib/Conversion/GPUCommon/ConvertKernelFuncToBlob.cpp",
+ "lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp",
+ "lib/Conversion/PassDetail.h",
+ ],
+ hdrs = ["include/mlir/Conversion/GPUCommon/GPUCommonPass.h"],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":GPUDialect",
+ ":IR",
+ ":LLVMDialect",
+ ":Pass",
+ ":StandardToLLVM",
+ ":Support",
+ ":TargetNVVMIR",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:NVPTXCodeGen",
+ "@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",
+ "lib/Conversion/PassDetail.h",
+ ],
+ hdrs = [
+ "include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.h",
+ "include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.h",
+ ],
+ includes = [
+ "include",
+ "lib/Conversions/GPUToSPIRV",
+ ],
+ deps = [
+ ":ConversionPassIncGen",
+ ":GPUDialect",
+ ":GPUToSPIRVIncGen",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":SCFToSPIRV",
+ ":SPIRVDialect",
+ ":SPIRVLowering",
+ ":StandardToSPIRVTransforms",
+ ":Support",
+ ":Transforms",
+ ":VectorToSPIRV",
+ ],
+)
+
+cc_library(
+ name = "SPIRVToLLVM",
+ srcs = glob([
+ "lib/Conversion/SPIRVToLLVM/*.cpp",
+ ]) + [
+ "lib/Conversion/PassDetail.h",
+ ],
+ hdrs = glob([
+ "include/mlir/Conversion/SPIRVToLLVM/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":IR",
+ ":LLVMDialect",
+ ":Pass",
+ ":SPIRVDialect",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+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-dialect-decls",
+ "include/mlir/Dialect/LLVMIR/LLVMOpsDialect.h.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",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:AsmParser",
+ "@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/SideEffectInterfaces.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",
+ ),
+ (
+ "-gen-dialect-decls -dialect=nvvm",
+ "include/mlir/Dialect/LLVMIR/NVVMOpsDialect.h.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",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:AsmParser",
+ "@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/SideEffectInterfaces.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",
+ ),
+ (
+ "-gen-dialect-decls -dialect=rocdl",
+ "include/mlir/Dialect/LLVMIR/ROCDLOpsDialect.h.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",
+ ],
+)
+
+cc_library(
+ name = "PDLDialect",
+ srcs = glob([
+ "lib/Dialect/PDL/IR/*.cpp",
+ "lib/Dialect/PDL/IR/*.h",
+ ]),
+ hdrs = glob([
+ "include/mlir/Dialect/PDL/IR/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":InferTypeOpInterface",
+ ":PDLOpsIncGen",
+ ":SideEffects",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+filegroup(
+ name = "PDLOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/PDL/IR/PDLBase.td",
+ "include/mlir/Dialect/PDL/IR/PDLOps.td",
+ "include/mlir/IR/SymbolInterfaces.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "PDLOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/PDL/IR/PDLOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/PDL/IR/PDLOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "include/mlir/Dialect/PDL/IR/PDLOpsDialect.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/PDL/IR/PDLOps.td",
+ td_srcs = [
+ ":PDLOpsTdFiles",
+ ],
+)
+
+cc_library(
+ name = "PDLInterpDialect",
+ srcs = glob([
+ "lib/Dialect/PDLInterp/IR/*.cpp",
+ "lib/Dialect/PDLInterp/IR/*.h",
+ ]),
+ hdrs = glob([
+ "include/mlir/Dialect/PDLInterp/IR/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":InferTypeOpInterface",
+ ":PDLDialect",
+ ":PDLInterpOpsIncGen",
+ ":SideEffects",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+filegroup(
+ name = "PDLInterpOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/PDL/IR/PDLBase.td",
+ "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "PDLInterpOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls -dialect=pdl_interp",
+ "include/mlir/Dialect/PDLInterp/IR/PDLInterpOpsDialect.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td",
+ td_srcs = [
+ ":PDLInterpOpsTdFiles",
+ ],
+)
+
+# TODO(gcmn): Update SPIRV dependencies so that they map better to cmake files.
+filegroup(
+ name = "SPIRVOpsTdFiles",
+ srcs = [
+ "include/mlir/IR/SymbolInterfaces.td",
+ "include/mlir/Interfaces/CallInterfaces.td",
+ "include/mlir/Interfaces/ControlFlowInterfaces.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.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-dialect-decls",
+ "include/mlir/Dialect/SPIRV/SPIRVOpsDialect.h.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 = "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",
+ ":SPIRVPassIncGen",
+ ":SPIRVSerializationGen",
+ ":SPIRVTargetAndABIStructGen",
+ ":SideEffectInterfaces",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+gentbl(
+ name = "SPIRVPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name SPIRV",
+ "include/mlir/Dialect/SPIRV/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/SPIRV/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "SPIRVLowering",
+ srcs = glob([
+ "lib/Dialect/SPIRV/Transforms/*.cpp",
+ "lib/Dialect/SPIRV/Transforms/*.h",
+ ]) + [
+ "lib/Dialect/SPIRV/SPIRVLowering.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",
+ ":SPIRVPassIncGen",
+ ":SPIRVTargetAndABIStructGen",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "StandardToSPIRVTransforms",
+ srcs = glob([
+ "lib/Conversion/StandardToSPIRV/*.cpp",
+ "lib/Conversion/StandardToSPIRV/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/StandardToSPIRV/*.h",
+ ]),
+ includes = [
+ "include",
+ "lib/Conversion/StandardToSPIRV",
+ ],
+ deps = [
+ ":ConversionPassIncGen",
+ ":IR",
+ ":Pass",
+ ":SPIRVDialect",
+ ":SPIRVLowering",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ ":VectorOps",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+alias(
+ name = "StandardToSPIRVConversions",
+ actual = "StandardToSPIRVTransforms",
+)
+
+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",
+ ],
+)
+
+cc_library(
+ name = "TransformUtils",
+ srcs = glob([
+ "lib/Transforms/Utils/*.cpp",
+ "lib/Transforms/Utils/*.h",
+ ]),
+ hdrs = glob([
+ "include/mlir/Transforms/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":Analysis",
+ ":ControlFlowInterfaces",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ ":TransformsPassIncGen",
+ "@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 = "LoopLikeInterfaceIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-interface-decls",
+ "include/mlir/Interfaces/LoopLikeInterface.h.inc",
+ ),
+ (
+ "-gen-op-interface-defs",
+ "include/mlir/Interfaces/LoopLikeInterface.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Interfaces/LoopLikeInterface.td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "VectorInterfacesIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-interface-decls",
+ "include/mlir/Interfaces/VectorInterfaces.h.inc",
+ ),
+ (
+ "-gen-op-interface-defs",
+ "include/mlir/Interfaces/VectorInterfaces.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Interfaces/VectorInterfaces.td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "ViewLikeInterfaceIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-interface-decls",
+ "include/mlir/Interfaces/ViewLikeInterface.h.inc",
+ ),
+ (
+ "-gen-op-interface-defs",
+ "include/mlir/Interfaces/ViewLikeInterface.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Interfaces/ViewLikeInterface.td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "CopyOpInterfaceIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-interface-decls",
+ "include/mlir/Interfaces/CopyOpInterface.h.inc",
+ ),
+ (
+ "-gen-op-interface-defs",
+ "include/mlir/Interfaces/CopyOpInterface.cpp.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Interfaces/CopyOpInterface.td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "TransformsPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name Transforms",
+ "include/mlir/Transforms/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Transforms/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "Transforms",
+ srcs = glob([
+ "lib/Transforms/*.cpp",
+ "lib/Transforms/*.h",
+ ]),
+ hdrs = glob(["include/mlir/Transforms/*.h"]),
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":Analysis",
+ ":ControlFlowInterfaces",
+ ":CopyOpInterface",
+ ":IR",
+ ":LinalgOps",
+ ":LoopLikeInterface",
+ ":Pass",
+ ":SCFDialect",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ ":TransformUtils",
+ ":TransformsPassIncGen",
+ "@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 = "SCFToGPU",
+ srcs = ["lib/Conversion/SCFToGPU/SCFToGPU.cpp"],
+ hdrs = ["include/mlir/Conversion/SCFToGPU/SCFToGPU.h"],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":AffineToStandard",
+ ":ConversionPassIncGen",
+ ":GPUDialect",
+ ":GPUTransforms",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":StandardOps",
+ ":Support",
+ ":TransformUtils",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "SCFToGPUPass",
+ srcs = [
+ "lib/Conversion/PassDetail.h",
+ "lib/Conversion/SCFToGPU/SCFToGPUPass.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":ConversionPassIncGen",
+ ":GPUDialect",
+ ":Pass",
+ ":SCFDialect",
+ ":SCFToGPU",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "SCFToSPIRV",
+ srcs = ["lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp"],
+ hdrs = ["include/mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h"],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":AffineToStandard",
+ ":ConversionPassIncGen",
+ ":IR",
+ ":Pass",
+ ":SCFDialect",
+ ":SPIRVDialect",
+ ":SPIRVLowering",
+ ":StandardOps",
+ ":Support",
+ ":TransformUtils",
+ ":Transforms",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "SCFToStandard",
+ srcs = [
+ "lib/Conversion/PassDetail.h",
+ "lib/Conversion/SCFToStandard/SCFToStandard.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Conversion/SCFToStandard/SCFToStandard.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":IR",
+ ":LLVMDialect",
+ ":Pass",
+ ":SCFDialect",
+ ":StandardOps",
+ ":Support",
+ ":TransformUtils",
+ ":Transforms",
+ ],
+)
+
+alias(
+ name = "CFGTransforms",
+ actual = "SCFToStandard",
+)
+
+cc_library(
+ name = "StandardToLLVM",
+ srcs = [
+ "lib/Conversion/PassDetail.h",
+ "lib/Conversion/StandardToLLVM/StandardToLLVM.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h",
+ "include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":IR",
+ ":LLVMDialect",
+ ":Parser",
+ ":Pass",
+ ":StandardOps",
+ ":Support",
+ ":TransformUtils",
+ ":Transforms",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+alias(
+ name = "LLVMTransforms",
+ actual = "StandardToLLVM",
+)
+
+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/SideEffectInterfaces.td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "SideEffectInterfaces",
+ srcs = [
+ "lib/Interfaces/SideEffectInterfaces.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Interfaces/SideEffectInterfaces.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":SideEffectInterfacesIncGen",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+alias(
+ name = "SideEffects",
+ actual = "SideEffectInterfaces",
+)
+
+cc_library(
+ name = "Analysis",
+ srcs = glob(
+ [
+ "lib/Analysis/*.cpp",
+ "lib/Analysis/*.h",
+ "lib/Analysis/*/*.cpp",
+ "lib/Analysis/*/*.h",
+ ],
+ exclude = [
+ "lib/Analysis/Vector*.cpp",
+ "lib/Analysis/Vector*.h",
+ ],
+ ),
+ hdrs = glob(
+ [
+ "include/mlir/Analysis/*.h",
+ "include/mlir/Analysis/*/*.h",
+ ],
+ exclude = [
+ "include/mlir/Analysis/Vector*.h",
+ ],
+ ),
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":CallOpInterfaces",
+ ":IR",
+ ":LinalgOps",
+ ":SCFDialect",
+ ":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 = [
+ ":Analysis",
+ ":IR",
+ ":Parser",
+ ":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",
+ "lib/Target/LLVMIR/TypeTranslation.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Target/LLVMIR/ModuleTranslation.h",
+ "include/mlir/Target/LLVMIR/TypeTranslation.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":LLVMConversionIncGen",
+ ":LLVMDialect",
+ ":LLVMIRTransforms",
+ ":OpenMPDialect",
+ ":Support",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:FrontendOpenMP",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//llvm:TransformUtils",
+ ],
+)
+
+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",
+ ":TargetLLVMAVX512Intr",
+ ":Translation",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:IRReader",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+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",
+ ],
+)
+
+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",
+ ],
+)
+
+# 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:BitReader",
+ "@llvm-project//llvm:BitWriter",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:ExecutionEngine",
+ "@llvm-project//llvm:MC",
+ "@llvm-project//llvm:OrcJIT",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//llvm:Target", # fixdeps: keep
+ "@llvm-project//llvm:TransformUtils",
+ "@llvm-project//llvm:X86CodeGen", # fixdeps: keep
+ "@llvm-project//llvm:X86Disassembler", # 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/Support/MlirOptMain.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":Analysis",
+ ":ConversionPasses",
+ ":GPUToGPURuntimeTransforms",
+ ":GPUToNVVMTransforms",
+ ":GPUToROCDLTransforms",
+ ":GPUToSPIRVTransforms",
+ ":GPUTransforms",
+ ":IR",
+ ":LLVMDialect",
+ ":LinalgToLLVM",
+ ":LinalgToSPIRV",
+ ":LinalgToStandard",
+ ":NVVMDialect",
+ ":Parser",
+ ":Pass",
+ ":SCFTransforms",
+ ":ShapeToStandard",
+ ":ShapeTransforms",
+ ":StandardOpsTransforms",
+ ":StandardToLLVM",
+ ":StandardToSPIRVTransforms",
+ ":Support",
+ ":Transforms",
+ ":VectorToLLVM",
+ ":VectorToSCF",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//mlir/test:TestAffine",
+ "@llvm-project//mlir/test:TestDialect",
+ "@llvm-project//mlir/test:TestIR",
+ "@llvm-project//mlir/test:TestPass",
+ "@llvm-project//mlir/test:TestReducer",
+ "@llvm-project//mlir/test:TestSPIRV",
+ "@llvm-project//mlir/test:TestTransforms",
+ "@llvm-project//mlir/test:TestTypeDialect",
+ ],
+)
+
+cc_library(
+ name = "AllTranslations",
+ hdrs = ["include/mlir/InitAllTranslations.h"],
+ deps = [
+ ":SPIRVTranslateRegistration",
+ ":TargetLLVMIR",
+ ":TargetNVVMIR",
+ ":TargetROCDLIR",
+ ],
+)
+
+cc_library(
+ name = "MlirTranslateMain",
+ srcs = ["tools/mlir-translate/mlir-translate.cpp"],
+ deps = [
+ ":AllPassesAndDialectsNoRegistration",
+ ":AllTranslations",
+ ":IR",
+ ":Parser",
+ ":Support",
+ ":Translation",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_binary(
+ name = "mlir-translate",
+ deps = [
+ ":MlirTranslateMain",
+ ],
+)
+
+cc_library(
+ name = "AllPassesAndDialectsNoRegistration",
+ hdrs = [
+ "include/mlir/InitAllDialects.h",
+ "include/mlir/InitAllPasses.h",
+ ],
+ defines = ["MLIR_CUDA_CONVERSIONS_ENABLED"],
+ deps = [
+ ":AVX512",
+ ":AVX512ToLLVM",
+ ":Affine",
+ ":AffinePassIncGen",
+ ":AffineToStandard",
+ ":AffineTransforms",
+ ":Async",
+ ":ConversionPasses",
+ ":GPUDialect",
+ ":GPUPassIncGen",
+ ":GPUToGPURuntimeTransforms",
+ ":GPUToNVVMTransforms",
+ ":GPUToROCDLTransforms",
+ ":GPUToSPIRVTransforms",
+ ":GPUToVulkanTransforms",
+ ":GPUTransforms",
+ ":IR",
+ ":LLVMAVX512",
+ ":LLVMDialect",
+ ":LLVMIRTransforms",
+ ":LLVMPassIncGen",
+ ":LinalgOps",
+ ":LinalgPassIncGen",
+ ":LinalgToLLVM",
+ ":LinalgToSPIRV",
+ ":LinalgToStandard",
+ ":LinalgTransforms",
+ ":NVVMDialect",
+ ":OpenACCDialect",
+ ":OpenMPDialect",
+ ":OpenMPToLLVM",
+ ":PDLDialect",
+ ":PDLInterpDialect",
+ ":QuantOps",
+ ":QuantPassIncGen",
+ ":ROCDLDialect",
+ ":SCFDialect",
+ ":SCFPassIncGen",
+ ":SCFToGPUPass",
+ ":SCFToStandard",
+ ":SCFTransforms",
+ ":SDBM",
+ ":SPIRVDialect",
+ ":SPIRVLowering",
+ ":SPIRVPassIncGen",
+ ":SPIRVToLLVM",
+ ":Shape",
+ ":ShapeToStandard",
+ ":ShapeTransforms",
+ ":ShapeTransformsPassIncGen",
+ ":StandardOps",
+ ":StandardOpsTransforms",
+ ":StandardOpsTransformsPassIncGen",
+ ":StandardToLLVM",
+ ":StandardToSPIRVTransforms",
+ ":Transforms",
+ ":TransformsPassIncGen",
+ ":VectorOps",
+ ":VectorToLLVM",
+ ":VectorToROCDL",
+ ":VectorToSCF",
+ ":VectorToSPIRV",
+ ],
+)
+
+cc_library(
+ name = "AllPassesAndDialects",
+ deps = [
+ ":AllPassesAndDialectsNoRegistration",
+ ],
+)
+
+cc_binary(
+ name = "mlir-opt",
+ srcs = [
+ "tools/mlir-opt/mlir-opt.cpp",
+ ],
+ copts = ["-DMLIR_INCLUDE_TESTS"],
+ deps = [
+ ":AllPassesAndDialectsNoRegistration",
+ ":Analysis",
+ ":IR",
+ ":MlirOptLib",
+ ":OpenMPDialect",
+ ":Pass",
+ ":QuantOps",
+ ":SCFToGPUPass",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:AllTargetsCodeGens",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//mlir/test:TestAffine",
+ "@llvm-project//mlir/test:TestDialect",
+ "@llvm-project//mlir/test:TestIR",
+ "@llvm-project//mlir/test:TestPass",
+ "@llvm-project//mlir/test:TestReducer",
+ "@llvm-project//mlir/test:TestSPIRV",
+ "@llvm-project//mlir/test:TestTransforms",
+ "@llvm-project//mlir/test:TestTypeDialect",
+ ],
+)
+
+cc_library(
+ name = "MlirJitRunner",
+ srcs = ["lib/ExecutionEngine/JitRunner.cpp"],
+ hdrs = ["include/mlir/ExecutionEngine/JitRunner.h"],
+ includes = ["include"],
+ deps = [
+ ":AllPassesAndDialectsNoRegistration",
+ ":ExecutionEngine",
+ ":ExecutionEngineUtils",
+ ":IR",
+ ":LLVMDialect",
+ ":Parser",
+ ":Pass",
+ ":SCFToStandard",
+ ":Support",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:OrcJIT",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "mlir_c_runner_utils",
+ srcs = [
+ "lib/ExecutionEngine/CRunnerUtils.cpp",
+ "lib/ExecutionEngine/SparseUtils.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_library(
+ name = "tools/libcuda-runtime-wrappers",
+ srcs = ["tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp"],
+ compatible_with = ["//buildenv/target:prod"],
+ deps = [
+ ":mlir_c_runner_utils",
+ "//third_party/gpus/cuda:cuda_headers",
+ "//third_party/gpus/cuda:cuda_runtime",
+ "//third_party/gpus/cuda:libcuda",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_binary(
+ name = "tools/libcuda-runtime-wrappers.so",
+ linkshared = True,
+ deps = [":tools/libcuda-runtime-wrappers"],
+)
+
+cc_library(
+ name = "VulkanRuntime",
+ srcs = [
+ "tools/mlir-vulkan-runner/VulkanRuntime.cpp",
+ ],
+ hdrs = [
+ "tools/mlir-vulkan-runner/VulkanRuntime.h",
+ ],
+ deps = [
+ ":IR",
+ ":Pass",
+ ":SPIRVDialect",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ "@vulkan_headers",
+ "@vulkan_sdk//:sdk",
+ ],
+)
+
+cc_binary(
+ name = "tools/libvulkan-runtime-wrappers.so",
+ srcs = ["tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp"],
+ linkshared = True,
+ deps = [
+ ":VulkanRuntime",
+ "@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"],
+ deps = [
+ ":AllPassesAndDialectsNoRegistration",
+ ":ExecutionEngineUtils",
+ ":GPUDialect",
+ ":GPUToGPURuntimeTransforms",
+ ":GPUToNVVMTransforms",
+ ":GPUToROCDLTransforms",
+ ":GPUTransforms",
+ ":IR",
+ ":LLVMDialect",
+ ":MlirJitRunner",
+ ":NVVMDialect",
+ ":Pass",
+ ":StandardToLLVM",
+ ":TargetNVVMIR",
+ ":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_binary(
+ name = "mlir-vulkan-runner",
+ srcs = ["tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp"],
+ data = [
+ ":tools/libvulkan-runtime-wrappers.so",
+ "@llvm-project//mlir/test/mlir-cpu-runner:libmlir_runner_utils.so",
+ ],
+ deps = [
+ ":AllPassesAndDialectsNoRegistration",
+ ":ExecutionEngineUtils",
+ ":GPUToSPIRVTransforms",
+ ":GPUToVulkanTransforms",
+ ":GPUTransforms",
+ ":MlirJitRunner",
+ ":Pass",
+ ":SPIRVDialect",
+ ":StandardToLLVM",
+ ":StandardToSPIRVTransforms",
+ "@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:Support",
+ "@llvm-project//llvm:TableGen",
+ "@llvm-project//llvm:config",
+ ],
+)
+
+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:Support",
+ "@llvm-project//llvm:TableGen",
+ "@llvm-project//llvm:config",
+ ],
+)
+
+cc_binary(
+ name = "mlir-linalg-ods-gen",
+ srcs = glob([
+ "tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp",
+ ]),
+ linkopts = [
+ "-lm",
+ "-lpthread",
+ ],
+ deps = [
+ ":IR",
+ ":Support",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//llvm:TableGen",
+ "@llvm-project//llvm:config",
+ ],
+)
+
+## OpenACC dialect
+
+gentbl(
+ name = "OpenACCOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-dialect-decls -dialect=acc",
+ "include/mlir/Dialect/OpenACC/OpenACCOpsDialect.h.inc",
+ ),
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/OpenACC/OpenACCOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/OpenACC/OpenACCOps.cpp.inc",
+ ),
+ (
+ "-gen-enum-decls",
+ "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.h.inc",
+ ),
+ (
+ "-gen-enum-defs",
+ "include/mlir/Dialect/OpenACC/OpenACCOpsEnums.cpp.inc",
+ ),
+ (
+ "-gen-op-doc",
+ "g3doc/Dialects/OpenACC/OpenACCOps.md",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/OpenACC/OpenACCOps.td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ":OmpCommonTdGen",
+ ],
+)
+
+cc_library(
+ name = "OpenACCDialect",
+ srcs = glob(
+ [
+ "lib/Dialect/OpenACC/IR/*.cpp",
+ "lib/Dialect/OpenACC/IR/*.h",
+ ],
+ ),
+ hdrs = glob([
+ "include/mlir/Dialect/OpenACC/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":OpenACCOpsIncGen",
+ ":StandardOps",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+## OpenMP dialect
+gentbl(
+ name = "OmpCommonTdGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-directive-decl",
+ "include/mlir/Dialect/OpenMP/OmpCommon.td",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "@llvm-project//llvm:include/llvm/Frontend/OpenMP/OMP.td",
+ td_includes = ["external/llvm-project/llvm/include"],
+ td_srcs = [
+ "@llvm-project//llvm:omp_td_files",
+ ":OpBaseTdFiles",
+ ],
+)
+
+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-enum-decls",
+ "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.h.inc",
+ ),
+ (
+ "-gen-enum-defs",
+ "include/mlir/Dialect/OpenMP/OpenMPOpsEnums.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "include/mlir/Dialect/OpenMP/OpenMPOpsDialect.h.inc",
+ ),
+ (
+ "-gen-op-doc",
+ "g3doc/Dialects/OpenMP/OpenMPOps.md",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/OpenMP/OpenMPOps.td",
+ td_srcs = [
+ ":OpBaseTdFiles",
+ ":OmpCommonTdGen",
+ "include/mlir/Dialect/OpenMP/OmpCommon.td",
+ ],
+)
+
+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",
+ ":StandardOps",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "OpenMPToLLVM",
+ srcs = glob([
+ "lib/Conversion/OpenMPToLLVM/*.cpp",
+ "lib/Conversion/OpenMPToLLVM/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/OpenMPToLLVM/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":IR",
+ ":LLVMDialect",
+ ":OpenMPDialect",
+ ":Pass",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":Transforms",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+## QuantOps dialect
+filegroup(
+ name = "QuantizationOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/Quant/QuantOps.td",
+ "include/mlir/Dialect/Quant/QuantOpsBase.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "QuantOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/Quant/QuantOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/Quant/QuantOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "include/mlir/Dialect/Quant/QuantOpsDialect.h.inc",
+ ),
+ (
+ "-gen-op-doc",
+ "g3doc/Dialects/QuantOps/QuantOps.md",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Quant/QuantOps.td",
+ td_srcs = [
+ ":QuantizationOpsTdFiles",
+ ],
+)
+
+gentbl(
+ name = "QuantPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name Quant",
+ "include/mlir/Dialect/Quant/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Quant/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "QuantOps",
+ srcs = [
+ "lib/Dialect/Quant/IR/QuantOps.cpp",
+ "lib/Dialect/Quant/IR/QuantTypes.cpp",
+ "lib/Dialect/Quant/IR/TypeDetail.h",
+ "lib/Dialect/Quant/IR/TypeParser.cpp",
+ "lib/Dialect/Quant/Transforms/ConvertConst.cpp",
+ "lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp",
+ "lib/Dialect/Quant/Transforms/PassDetail.h",
+ "lib/Dialect/Quant/Utils/FakeQuantSupport.cpp",
+ "lib/Dialect/Quant/Utils/QuantizeUtils.cpp",
+ "lib/Dialect/Quant/Utils/UniformSupport.cpp",
+ ],
+ hdrs = [
+ "include/mlir/Dialect/Quant/FakeQuantSupport.h",
+ "include/mlir/Dialect/Quant/Passes.h",
+ "include/mlir/Dialect/Quant/QuantOps.h",
+ "include/mlir/Dialect/Quant/QuantTypes.h",
+ "include/mlir/Dialect/Quant/QuantizeUtils.h",
+ "include/mlir/Dialect/Quant/UniformSupport.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":IR",
+ ":Pass",
+ ":QuantOpsIncGen",
+ ":QuantPassIncGen",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":TransformUtils",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+filegroup(
+ name = "LinalgOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/Linalg/IR/LinalgBase.td",
+ "include/mlir/Dialect/Linalg/IR/LinalgOps.td",
+ "include/mlir/Interfaces/CopyOpInterface.td",
+ "include/mlir/Interfaces/ViewLikeInterface.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",
+ ),
+ (
+ "-gen-dialect-decls -dialect=linalg",
+ "include/mlir/Dialect/Linalg/IR/LinalgOpsDialect.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Linalg/IR/LinalgOps.td",
+ td_srcs = [
+ ":LinalgOpsTdFiles",
+ ],
+)
+
+genlinalg(
+ name = "LinalgNamedStructuredOpsIncGen",
+ src = "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc",
+ linalg_outs = [
+ (
+ "-gen-impl",
+ "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.cpp.inc",
+ ),
+ (
+ "-gen-ods-decl",
+ "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.td",
+ ),
+ ],
+ linalggen = ":mlir-linalg-ods-gen",
+)
+
+filegroup(
+ name = "LinalgStructuredOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.td",
+ "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td",
+ "include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td",
+ "include/mlir/Interfaces/CopyOpInterface.td",
+ "include/mlir/Interfaces/ViewLikeInterface.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",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td",
+ td_srcs = [
+ ":LinalgStructuredOpsTdFiles",
+ "include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.td",
+ ],
+)
+
+gentbl(
+ name = "LinalgStructuredInterfacesIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-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/LinalgStructuredOpsInterface.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",
+ ],
+)
+
+cc_library(
+ name = "LinalgToLLVM",
+ srcs = glob([
+ "lib/Conversion/LinalgToLLVM/*.cpp",
+ "lib/Conversion/LinalgToLLVM/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/LinalgToLLVM/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":AffineToStandard",
+ ":Analysis",
+ ":ConversionPassIncGen",
+ ":EDSC",
+ ":IR",
+ ":LLVMDialect",
+ ":LinalgOps",
+ ":LinalgTransforms",
+ ":Pass",
+ ":SCFDialect",
+ ":SCFToStandard",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":Support",
+ ":Transforms",
+ ":VectorToLLVM",
+ ":VectorToSCF",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "LinalgToStandard",
+ srcs = glob([
+ "lib/Conversion/LinalgToStandard/*.cpp",
+ "lib/Conversion/LinalgToStandard/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/LinalgToStandard/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":ConversionPassIncGen",
+ ":IR",
+ ":LinalgOps",
+ ":Pass",
+ ":SCFDialect",
+ ":StandardOps",
+ ":Support",
+ ":Transforms",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "LinalgToSPIRV",
+ srcs = glob([
+ "lib/Conversion/LinalgToSPIRV/*.cpp",
+ "lib/Conversion/LinalgToSPIRV/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/LinalgToSPIRV/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":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/EDSC/Intrinsics.h",
+ "include/mlir/Dialect/Linalg/IR/LinalgOps.h",
+ "include/mlir/Dialect/Linalg/IR/LinalgTraits.h",
+ "include/mlir/Dialect/Linalg/IR/LinalgTypes.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":CopyOpInterface",
+ ":DialectUtils",
+ ":EDSC",
+ ":IR",
+ ":LinalgNamedStructuredOpsIncGen",
+ ":LinalgOpsIncGen",
+ ":LinalgStructuredInterfacesIncGen",
+ ":LinalgStructuredOpsIncGen",
+ ":Parser",
+ ":SideEffectInterfaces",
+ ":StandardOps",
+ ":Support",
+ ":ViewLikeInterface",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+gentbl(
+ name = "LinalgPassIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-pass-decls -name Linalg",
+ "include/mlir/Dialect/Linalg/Passes.h.inc",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Linalg/Passes.td",
+ td_srcs = [
+ ":PassBaseTdFiles",
+ ],
+)
+
+cc_library(
+ name = "LinalgTransforms",
+ srcs = glob([
+ "lib/Dialect/Linalg/Transforms/*.cpp",
+ "lib/Dialect/Linalg/Transforms/*.h",
+ ]) + [
+ "lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp",
+ "lib/Dialect/Linalg/EDSC/Builders.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/FoldedIntrinsics.h",
+ "include/mlir/Dialect/Linalg/Passes.h",
+ "include/mlir/Dialect/Linalg/Transforms/Hoisting.h",
+ "include/mlir/Dialect/Linalg/Transforms/Transforms.h",
+ "include/mlir/Dialect/Linalg/Utils/Utils.h",
+ ],
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":AffineToStandard",
+ ":Analysis",
+ ":DialectUtils",
+ ":EDSC",
+ ":IR",
+ ":LLVMDialect",
+ ":LinalgOps",
+ ":LinalgPassIncGen",
+ ":LinalgStructuredOpsIncGen",
+ ":Pass",
+ ":SCFDialect",
+ ":SCFToStandard",
+ ":SCFTransforms",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":Support",
+ ":TransformUtils",
+ ":Transforms",
+ ":TransformsPassIncGen",
+ ":VectorOps",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+filegroup(
+ name = "VectorOpsTdFiles",
+ srcs = [
+ "include/mlir/Dialect/Vector/VectorOps.td",
+ "include/mlir/Interfaces/VectorInterfaces.td",
+ ":AffineOpsTdFiles",
+ ":OpBaseTdFiles",
+ ],
+)
+
+gentbl(
+ name = "VectorOpsIncGen",
+ strip_include_prefix = "include",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "include/mlir/Dialect/Vector/VectorOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "include/mlir/Dialect/Vector/VectorOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls -dialect=vector",
+ "include/mlir/Dialect/Vector/VectorOpsDialect.h.inc",
+ ),
+ (
+ "-gen-op-doc",
+ "g3doc/Dialects/Vector/VectorOps.md",
+ ),
+ ],
+ tblgen = ":mlir-tblgen",
+ td_file = "include/mlir/Dialect/Vector/VectorOps.td",
+ td_srcs = [
+ ":VectorOpsTdFiles",
+ ],
+)
+
+cc_library(
+ name = "VectorToLLVM",
+ srcs = glob([
+ "lib/Conversion/VectorToLLVM/*.cpp",
+ "lib/Conversion/VectorToLLVM/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/VectorToLLVM/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":ConversionPassIncGen",
+ ":DialectUtils",
+ ":EDSC",
+ ":IR",
+ ":LLVMDialect",
+ ":LLVMIRModuleTranslation",
+ ":Pass",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":Support",
+ ":Transforms",
+ ":VectorOps",
+ "@llvm-project//llvm:Core",
+ "@llvm-project//llvm:Support",
+ ],
+)
+
+cc_library(
+ name = "VectorToSCF",
+ srcs = glob([
+ "lib/Conversion/VectorToSCF/*.cpp",
+ "lib/Conversion/VectorToSCF/*.h",
+ ]) + ["lib/Conversion/PassDetail.h"],
+ hdrs = glob([
+ "include/mlir/Conversion/VectorToSCF/*.h",
+ ]),
+ includes = ["include"],
+ deps = [
+ ":Affine",
+ ":ConversionPassIncGen",
+ ":EDSC",
+ ":IR",
+ ":LLVMDialect",
+ ":LinalgTransforms",
+ ":Pass",
+ ":SCFDialect",
+ ":StandardOps",
+ ":StandardToLLVM",
+ ":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/CopyOpInterface.td",
+ "include/mlir/Interfaces/SideEffectInterfaces.td",
+ "include/mlir/Interfaces/VectorInterfaces.td",
+ "include/mlir/Interfaces/ViewLikeInterface.td",
+ "include/mlir/Dialect/LLVMIR/LLVMOpBase.td",
+ "include/mlir/Dialect/StandardOps/IR/Ops.td",
+ "include/mlir/Dialect/Shape/IR/ShapeOps.td",
+ "include/mlir/Dialect/Shape/IR/ShapeBase.td",
+ "include/mlir/IR/OpAsmInterface.td",
+ "include/mlir/IR/OpBase.td",
+ "include/mlir/IR/RegionKindInterface.td",
+ "include/mlir/IR/SymbolInterfaces.td",
+ "include/mlir/Transforms/InliningUtils.h",
+ "include/mlir/Interfaces/InferTypeOpInterface.td",
+ "include/mlir/Interfaces/LoopLikeInterface.td",
+ ],
+ visibility = [":friends"],
+)
diff --git a/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/test/BUILD.bazel b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/test/BUILD.bazel
new file mode 100644
index 0000000..d88190c
--- /dev/null
+++ b/build_tools/bazel/third_party_import/llvm-project/overlay/mlir/test/BUILD.bazel
@@ -0,0 +1,253 @@
+load("@org_tensorflow//third_party/mlir:tblgen.bzl", "gentbl")
+
+package(
+ default_visibility = [":test_friends"],
+ licenses = ["notice"],
+)
+
+# Please only depend on this from MLIR tests.
+package_group(
+ name = "test_friends",
+ packages = ["//..."],
+)
+
+cc_library(
+ name = "IRProducingAPITest",
+ hdrs = ["APITest.h"],
+ includes = ["."],
+)
+
+gentbl(
+ name = "TestOpsIncGen",
+ strip_include_prefix = "lib/Dialect/Test",
+ tbl_outs = [
+ (
+ "-gen-op-decls",
+ "lib/Dialect/Test/TestOps.h.inc",
+ ),
+ (
+ "-gen-op-defs",
+ "lib/Dialect/Test/TestOps.cpp.inc",
+ ),
+ (
+ "-gen-dialect-decls",
+ "lib/Dialect/Test/TestOpsDialect.h.inc",
+ ),
+ (
+ "-gen-enum-decls",
+ "lib/Dialect/Test/TestOpEnums.h.inc",
+ ),
+ (
+ "-gen-enum-defs",
+ "lib/Dialect/Test/TestOpEnums.cpp.inc",
+ ),
+ (
+ "-gen-struct-attr-decls",
+ "lib/Dialect/Test/TestOpStructs.h.inc",
+ ),
+ (
+ "-gen-struct-attr-defs",
+ "lib/Dialect/Test/TestOpStructs.cpp.inc",
+ ),
+ (
+ "-gen-rewriters",
+ "lib/Dialect/Test/TestPatterns.inc",
+ ),
+ ],
+ tblgen = "@llvm-project//mlir:mlir-tblgen",
+ td_file = "lib/Dialect/Test/TestOps.td",
+ td_srcs = [
+ "@llvm-project//mlir:OpBaseTdFiles",
+ "@llvm-project//mlir:include/mlir/IR/OpAsmInterface.td",
+ "@llvm-project//mlir:include/mlir/IR/RegionKindInterface.td",
+ "@llvm-project//mlir:include/mlir/IR/SymbolInterfaces.td",
+ "@llvm-project//mlir:include/mlir/Interfaces/CallInterfaces.td",
+ "@llvm-project//mlir:include/mlir/Interfaces/ControlFlowInterfaces.td",
+ "@llvm-project//mlir:include/mlir/Interfaces/InferTypeOpInterface.td",
+ "@llvm-project//mlir:include/mlir/Interfaces/SideEffectInterfaces.td",
+ ],
+ test = True,
+)
+
+gentbl(
+ name = "TestInterfacesIncGen",
+ strip_include_prefix = "lib/Dialect/Test",
+ tbl_outs = [
+ (
+ "-gen-type-interface-decls",
+ "lib/Dialect/Test/TestTypeInterfaces.h.inc",
+ ),
+ (
+ "-gen-type-interface-defs",
+ "lib/Dialect/Test/TestTypeInterfaces.cpp.inc",
+ ),
+ ],
+ tblgen = "@llvm-project//mlir:mlir-tblgen",
+ td_file = "lib/Dialect/Test/TestInterfaces.td",
+ td_srcs = [
+ "@llvm-project//mlir:OpBaseTdFiles",
+ ],
+ test = True,
+)
+
+cc_library(
+ name = "TestDialect",
+ srcs = [
+ "lib/Dialect/Test/TestDialect.cpp",
+ "lib/Dialect/Test/TestPatterns.cpp",
+ ],
+ hdrs = [
+ "lib/Dialect/Test/TestDialect.h",
+ "lib/Dialect/Test/TestTypes.h",
+ ],
+ includes = [
+ "lib/Dialect/Test",
+ ],
+ deps = [
+ ":TestInterfacesIncGen",
+ ":TestOpsIncGen",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//mlir:ControlFlowInterfaces",
+ "@llvm-project//mlir:DerivedAttributeOpInterface",
+ "@llvm-project//mlir:Dialect",
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:InferTypeOpInterface",
+ "@llvm-project//mlir:Pass",
+ "@llvm-project//mlir:SideEffects",
+ "@llvm-project//mlir:StandardOps",
+ "@llvm-project//mlir:StandardOpsTransforms",
+ "@llvm-project//mlir:TransformUtils",
+ "@llvm-project//mlir:Transforms",
+ ],
+)
+
+cc_library(
+ name = "TestIR",
+ srcs = [
+ "lib/IR/TestFunc.cpp",
+ "lib/IR/TestInterfaces.cpp",
+ "lib/IR/TestMatchers.cpp",
+ "lib/IR/TestPrintDefUse.cpp",
+ "lib/IR/TestPrintNesting.cpp",
+ "lib/IR/TestSideEffects.cpp",
+ "lib/IR/TestSlicing.cpp",
+ "lib/IR/TestSymbolUses.cpp",
+ "lib/IR/TestTypes.cpp",
+ ],
+ deps = [
+ ":TestDialect",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//mlir:Analysis",
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:LinalgOps",
+ "@llvm-project//mlir:Pass",
+ "@llvm-project//mlir:StandardOps",
+ "@llvm-project//mlir:Support",
+ ],
+)
+
+cc_library(
+ name = "TestPass",
+ srcs = [
+ "lib/Pass/TestPassManager.cpp",
+ ],
+ deps = [
+ "@llvm-project//llvm:Support",
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:Pass",
+ "@llvm-project//mlir:Support",
+ ],
+)
+
+cc_library(
+ name = "TestReducer",
+ srcs = [
+ "lib/Reducer/MLIRTestReducer.cpp",
+ ],
+ deps = [
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:Pass",
+ "@llvm-project//mlir:Support",
+ ],
+)
+
+cc_library(
+ name = "TestTransforms",
+ srcs = glob(["lib/Transforms/*.cpp"]),
+ defines = ["MLIR_CUDA_CONVERSIONS_ENABLED"],
+ includes = ["lib/Dialect/Test"],
+ deps = [
+ ":TestDialect",
+ "@llvm-project//llvm:Support",
+ "@llvm-project//mlir:Affine",
+ "@llvm-project//mlir:AffineTransforms",
+ "@llvm-project//mlir:Analysis",
+ "@llvm-project//mlir:EDSC",
+ "@llvm-project//mlir:GPUDialect",
+ "@llvm-project//mlir:GPUToGPURuntimeTransforms",
+ "@llvm-project//mlir:GPUTransforms",
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:LLVMDialect",
+ "@llvm-project//mlir:LLVMTransforms",
+ "@llvm-project//mlir:LinalgOps",
+ "@llvm-project//mlir:LinalgTransforms",
+ "@llvm-project//mlir:Pass",
+ "@llvm-project//mlir:SCFDialect",
+ "@llvm-project//mlir:SPIRVDialect",
+ "@llvm-project//mlir:StandardOps",
+ "@llvm-project//mlir:StandardOpsTransforms",
+ "@llvm-project//mlir:Support",
+ "@llvm-project//mlir:TargetNVVMIR",
+ "@llvm-project//mlir:TargetROCDLIR",
+ "@llvm-project//mlir:TransformUtils",
+ "@llvm-project//mlir:Transforms",
+ "@llvm-project//mlir:VectorOps",
+ "@llvm-project//mlir:VectorToLLVM",
+ "@llvm-project//mlir:VectorToSCF",
+ ],
+)
+
+cc_library(
+ name = "TestAffine",
+ srcs = glob([
+ "lib/Dialect/Affine/*.cpp",
+ ]),
+ deps = [
+ "@llvm-project//llvm:Support",
+ "@llvm-project//mlir:Affine",
+ "@llvm-project//mlir:AffineTransforms",
+ "@llvm-project//mlir:AffineUtils",
+ "@llvm-project//mlir:Analysis",
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:Pass",
+ "@llvm-project//mlir:Support",
+ "@llvm-project//mlir:Transforms",
+ "@llvm-project//mlir:VectorOps",
+ ],
+)
+
+cc_library(
+ name = "TestSPIRV",
+ srcs = glob([
+ "lib/Dialect/SPIRV/*.cpp",
+ ]),
+ deps = [
+ "@llvm-project//mlir:GPUDialect",
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:Pass",
+ "@llvm-project//mlir:SPIRVDialect",
+ "@llvm-project//mlir:SPIRVLowering",
+ ],
+)
+
+cc_library(
+ name = "TestTypeDialect",
+ srcs = glob([
+ "lib/Dialect/LLVMIR/*.cpp",
+ ]),
+ deps = [
+ ":TestDialect",
+ "@llvm-project//mlir:IR",
+ "@llvm-project//mlir:LLVMDialect",
+ ],
+)
diff --git a/docs/developing_iree/repository_management.md b/docs/developing_iree/repository_management.md
index 3ac31bf..df769f7 100644
--- a/docs/developing_iree/repository_management.md
+++ b/docs/developing_iree/repository_management.md
@@ -56,15 +56,14 @@
Currently, the two most challenging projects to manage as dependencies are
TensorFlow and LLVM. Both are typically pinned to specific versions that are
integrated in the Google source repository at a cadence up to many times per
-day. Additionally, TensorFlow itself depends on LLVM. Further, since LLVM does
-not ship with Bazel BUILD files, we use BUILD files maintained in a separate
-[llvm-bazel repository](https://github.com/google/llvm-bazel). Just to make it
-more interesting, since TensorFlow does not ship with CMakeLists, IREE uses
-overlay CMakeLists.txt to build subsets of TensorFlow needed for the compiler
-(when built with CMake). While these externally managed build files are written
-to be moderately generic, they can and do break and require manual intervention
-at times (i.e. there is no guarantee that updating to a new commit of either
-will not require some manual work on the build files).
+day. Further, because LLVM does not ship with Bazel BUILD files, IREE "borrows"
+the BUILD files from TensorFlow (for building with Bazel). Just to make it more
+interesting, since TensorFlow does not ship with CMakeLists, IREE uses overlay
+CMakeLists.txt to build subsets of TensorFlow needed for the compiler (when
+built with CMake). While these externally managed build files are written to be
+moderately generic, they can and do break and require manual intervention at
+times (i.e. there is no guarantee that updating to a new commit of either will
+not require some manual work on the build files).
The only combination which is expected to work is the llvm-project commit noted
in the `LLVM_COMMIT` setting in
@@ -80,7 +79,7 @@
APIs, these updates are performed atomically as part of the integration. However
the changes performed here only guarantee that the internal build is not broken,
which means that such integrations may very well break the OSS build on the
-`google` branch (in particular, it does not update the LLVM BUILD files). The
+`google` branch (in particular, it does not update teh LLVM BUILD files). The
IREE build cop will fix the breakage on the `google` branch. We are continuing
to work on improving this situation.
diff --git a/integrations/tensorflow/e2e/README.md b/integrations/tensorflow/e2e/README.md
index c5a8f8f..54402dd 100644
--- a/integrations/tensorflow/e2e/README.md
+++ b/integrations/tensorflow/e2e/README.md
@@ -210,7 +210,7 @@
compilation and benchmarking artifacts. This allows us to validate that our
benchmarks are behaving as we expect them to, and to run them using valid inputs
for each model. An overview of how to run benchmarks on IREE and TFLite can be
-found in [this doc](TODO(meadowlark)).
+found in [this doc](https://google.github.io/iree/developing-iree/e2e-benchmarking).
## Debugging Tests
diff --git a/iree/base/tracing.h b/iree/base/tracing.h
index d8026a9..38f1237 100644
--- a/iree/base/tracing.h
+++ b/iree/base/tracing.h
@@ -151,7 +151,7 @@
// use it. Note that this means that unless code is instrumented we won't be
// able to tell what's happening in the Tracy UI.
#if IREE_TRACING_MAX_CALLSTACK_DEPTH == 0
-#undef TRACY_HAS_CALLSTACK
+#undef TRACY_CALLSTACK
#endif // IREE_TRACING_MAX_CALLSTACK_DEPTH
//===----------------------------------------------------------------------===//
@@ -390,7 +390,7 @@
#if IREE_TRACING_FEATURES & IREE_TRACING_FEATURE_INSTRUMENTATION
// TODO(#1886): update these to tracy and drop the 0.
-#define IREE_TRACE_SCOPE0(name_spec) ZoneScopedNS(name_spec, 13)
+#define IREE_TRACE_SCOPE0(name_spec) ZoneScopedN(name_spec)
#define IREE_TRACE_SCOPE(name_spec, ...)
#define IREE_TRACE_EVENT0
#define IREE_TRACE_EVENT
diff --git a/scripts/git/update_llvm_dependent_submodules.sh b/scripts/git/update_tf_submodule.sh
similarity index 72%
rename from scripts/git/update_llvm_dependent_submodules.sh
rename to scripts/git/update_tf_submodule.sh
index 1890412..28799d1 100755
--- a/scripts/git/update_llvm_dependent_submodules.sh
+++ b/scripts/git/update_tf_submodule.sh
@@ -15,46 +15,47 @@
# limitations under the License.
# Creates a PR based on the specified BASE_BRANCH (default "google") to update
-# the LLVM-dependent submodules to the configured commits.
-#
-# Positional args will be passed through to update_to_llvm_syncpoint.py
+# the TF submodule to the configured TENSORFLOW_COMMIT (default REMOTE for
+# current HEAD).
#
# - Requries the gh CLI (https://github.com/cli/cli) to create a PR.
-# - Will force push to the configured PR_BRANCH (default
-# "llvm-dependent-submodule-update") on the configured FORK_REMOTE (default
-# "origin")
+# - Will force push to the configured PR_BRANCH (default "tf-submodule-update")
+# on the configured FORK_REMOTE (default "origin")
# - Requires that local BASE_BRANCH branch is a pristine (potentially stale)
# copy of the same branch on the configured UPSTREAM_REMOTE
# (default "upstream").
# - Requires that the working directory be clean. Will abort otherwise.
+# - An optional TF_COMMIT_NICKNAME nickname can be given to the commit for the
+# PR description. Otherwise, it will default to "current HEAD" if
+# TENSORFLOW_COMMIT is REMOTE and the trimmed commit sha otherwise.
set -e
set -o pipefail
export UPSTREAM_REMOTE="${UPSTREAM_REMOTE:-upstream}"
-PR_BRANCH="llvm-dependent-submodule-update"
+TENSORFLOW_COMMIT="${1:-LATEST_MATCH}"
+PR_BRANCH="tf-submodule-update"
BASE_BRANCH="${BASE_BRANCH:-google}"
FORK_REMOTE="${FORK_REMOTE:-origin}"
./scripts/git/git_update.sh "${BASE_BRANCH?}"
git checkout -B "${PR_BRANCH?}"
-CMD="./scripts/git/update_to_llvm_syncpoint.py $@"
+CMD="./scripts/git/update_to_llvm_syncpoint.py --tensorflow_commit=${TENSORFLOW_COMMIT?}"
bash -c "${CMD?}"
-LLVM_SHA="$(git submodule status third_party/llvm-project | awk '{print $1}' | cut -c -12)"
-LLVM_BAZEL_SHA="$(git submodule status third_party/llvm-bazel | awk '{print $1}' | cut -c -12)"
TF_SHA="$(git submodule status third_party/tensorflow | awk '{print $1}' | cut -c -12)"
-TITLE="Synchronize submodules with LLVM at llvm/llvm-project@${LLVM_SHA?}"
+LLVM_SHA="$(git submodule status third_party/llvm-project | awk '{print $1}' | cut -c -12)"
+
+TITLE="Integrate TF at tensorflow/tensorflow@${TF_SHA?}"
BODY="$(cat <<-EOF
-Updates LLVM dependencies to match
-[${LLVM_SHA?}](https://github.com/llvm/llvm-project/commit/${LLVM_SHA?}).
-- llvm-bazel to
- [${LLVM_BAZEL_SHA?}](https://github.com/google/llvm-bazel/commit/${LLVM_BAZEL_SHA?})
-- TensorFlow to
- [${TF_SHA?}](https://github.com/tensorflow/tensorflow/commit/${TF_SHA?})
+Updates TF to
+[${TF_SHA?}](https://github.com/tensorflow/tensorflow/commit/${TF_SHA?})
+matching
+[${LLVM_SHA?}](https://github.com/llvm/llvm-project/commit/${LLVM_SHA?})
+and copies over the LLVM BUILD files.
\`${CMD?}\`
EOF
diff --git a/scripts/git/update_to_llvm_syncpoint.py b/scripts/git/update_to_llvm_syncpoint.py
index 502d690..efb7def 100755
--- a/scripts/git/update_to_llvm_syncpoint.py
+++ b/scripts/git/update_to_llvm_syncpoint.py
@@ -16,18 +16,20 @@
# pylint: disable=missing-docstring
"""Updates LLVM-dependent submodules based on the current LLVM commit.
-Updates the third_party/llvm-bazel and third_party/tensorflow submodules to
-commits that match the LLVM commit in third_party/llvm-project submodule. We
-have special conditions around these submodules since they are synced as part of
-the integration of LLVM into Google's source repository. See
+Updates the third_party/tensorflow submodule to a new commit based on the commit
+in the third_party/llvm-project submodule. We have special conditions around
+these submodules since they are synced as part of the integration of LLVM into
+Google's source repository. See
https://google.github.io/iree/developing-iree/repository-management#the-special-relationship-with-llvm-and-tensorflow.
+In addition we currently copy LLVM Bazel BUILD files from TensorFlow.
+
Typical usage:
Syntax: ./scripts/git/update_to_llvm_syncpoint.py
- By default, this will update llvm-bazel to the tag corresponding to the
- current LLVM commit and update TensorFlow to the most recent commit that has a
- matching LLVM commit.
+ By default, this will update the TensorFlow submodule to the most recent
+ commit with an LLVM version that matches IREE's and copy over the LLVM
+ BUILD file changes as needed.
"""
import argparse
@@ -59,30 +61,20 @@
def parse_arguments():
parser = argparse.ArgumentParser()
parser.add_argument("--repo", help="Repository root directory")
- parser.add_argument("--llvm",
- help="Path to the LLVM sources "
- "(defaults to third_party/llvm-project)",
- default=None)
- parser.add_argument("--llvm_bazel",
- help="Path to the LLVM Bazel BUILD files"
- "(defaults to third_party/llvm-bazel)",
- default=None)
parser.add_argument(
- "--llvm_bazel_commit",
- help=("Update llvm-bazel to this commit, or a named option:"
- f" {COMMIT_OPTIONS}."
- f" {LATEST_MATCHING_COMMIT} and {INTEGRATE_COMMIT} are equivalent"
- " for this repository."),
- default=LATEST_MATCHING_COMMIT)
- parser.add_argument("--tensorflow",
- help="Path to the tensorflow sources "
- "(default to third_party/tensorflow)",
- default=None)
+ "--tensorflow",
+ help="Path to the tensorflow sources "
+ "(default to third_party/tensorflow)",
+ default=None)
+ parser.add_argument(
+ "--llvm",
+ help="Path to the LLVM sources "
+ "(defaults to third_party/llvm-project)",
+ default=None)
parser.add_argument(
"--tensorflow_commit",
"--tf_commit",
- help=("Update TensorFlow to this commit, or a named option:"
- f" {COMMIT_OPTIONS}"),
+ help=f"Update TensorFlow to this commit, or a named option: {COMMIT_OPTIONS}",
default=LATEST_MATCHING_COMMIT)
parser.add_argument(
"--validate",
@@ -92,6 +84,12 @@
default=True,
)
+ parser.add_argument(
+ "--update_build_files",
+ help="Updates the IREE LLVM build files from TensorFlow.",
+ type=utils.str2bool,
+ nargs="?",
+ default=True)
args = parser.parse_args()
# Default repo path.
@@ -103,8 +101,6 @@
args.tensorflow = os.path.join(args.repo, "third_party", "tensorflow")
if not args.llvm:
args.llvm = os.path.join(args.repo, "third_party", "llvm-project")
- if not args.llvm_bazel:
- args.llvm_bazel = os.path.join(args.repo, "third_party", "llvm-bazel")
return args
@@ -114,7 +110,7 @@
print(" IREE Path :", args.repo)
print(" LLVM Path :", args.llvm)
print(" TensorFlow Path :", args.tensorflow)
- print(" LLVM Bazel Path :", args.llvm_bazel)
+ print(" Update Build files:", args.update_build_files)
current_llvm_commit = get_commit(args.llvm)
current_tensorflow_commit = get_commit(args.tensorflow)
@@ -128,20 +124,12 @@
utils.execute(["git", "checkout", new_tf_commit], cwd=args.tensorflow)
stage_path(args.repo, args.tensorflow)
- validate_tf_commit(current_llvm_commit,
- args.tensorflow,
- exit_on_failure=args.validate)
+ validate_tf_commit(
+ current_llvm_commit, args.tensorflow, exit_on_failure=args.validate)
- new_llvm_bazel_commit = find_new_llvm_bazel_commit(args.llvm_bazel,
- current_llvm_commit,
- args.llvm_bazel_commit)
- print("\n*** Updating LLVM Bazel to", new_llvm_bazel_commit, "***")
- utils.execute(["git", "checkout", new_llvm_bazel_commit], cwd=args.llvm_bazel)
- stage_path(args.repo, args.llvm_bazel)
-
- validate_llvm_bazel_commit(current_llvm_commit,
- args.llvm_bazel,
- exit_on_failure=args.validate)
+ if args.update_build_files:
+ print("\n*** Updating BUILD.bazel files ***")
+ update_build_files_from_tensorflow(args.repo, args.tensorflow)
# Export SUBMODULE_VERSIONS.
print() # Add line break.
@@ -156,44 +144,6 @@
universal_newlines=True).strip()
-def find_new_llvm_bazel_commit(llvm_bazel_path, llvm_commit, llvm_bazel_commit):
- utils.execute(["git", "fetch"], cwd=llvm_bazel_path)
-
- if llvm_bazel_commit not in COMMIT_OPTIONS:
- return get_commit(llvm_bazel_path, rev=llvm_bazel_commit)
-
- if llvm_bazel_commit == KEEP_COMMIT:
- return get_commit(llvm_bazel_path)
-
- if llvm_bazel_commit == REMOTE_HEAD_COMMIT:
- return get_commit(llvm_bazel_path, "origin/main")
-
- if (llvm_bazel_commit == INTEGRATE_COMMIT or
- llvm_bazel_commit == LATEST_MATCHING_COMMIT):
- return get_commit(llvm_bazel_path, f"llvm-project-{llvm_commit}")
-
-
-def validate_llvm_bazel_commit(llvm_commit,
- llvm_bazel_path,
- exit_on_failure=True):
- llvm_bazel_llvm_commit = find_llvm_bazel_llvm_commit(llvm_bazel_path)
-
- matches = llvm_bazel_llvm_commit == llvm_commit
- if not matches:
- print("WARNING: LLVM commit in llvm-bazel does not match that in IREE"
- f" ({llvm_bazel_llvm_commit} vs {llvm_commit})")
- if exit_on_failure:
- sys.exit(1)
-
-
-def find_llvm_bazel_llvm_commit(llvm_bazel_path):
- return utils.execute(
- ["git", "submodule", "status", "third_party/llvm-project"],
- capture_output=True,
- universal_newlines=True,
- cwd=llvm_bazel_path).split()[0].lstrip("+-")
-
-
def find_new_tf_commit(tensorflow_path, llvm_commit, tf_commit):
utils.execute(["git", "fetch"], cwd=tensorflow_path)
@@ -284,6 +234,35 @@
sys.exit(1)
+def update_build_files_from_tensorflow(repo_path, tensorflow_path):
+ src_llvm_build = os.path.join(tensorflow_path, "third_party", "llvm",
+ "llvm.autogenerated.BUILD")
+ # NOTE(laurenzo): These will probably move upstream.
+ src_mlir_build = os.path.join(tensorflow_path, "third_party", "mlir", "BUILD")
+ src_mlir_test_build = os.path.join(tensorflow_path, "third_party", "mlir",
+ "test.BUILD")
+ overlay_path = os.path.join(repo_path, "build_tools", "bazel",
+ "third_party_import", "llvm-project", "overlay")
+ copy_text_file(repo_path, src_llvm_build,
+ os.path.join(overlay_path, "llvm", "BUILD.bazel"))
+ copy_text_file(repo_path, src_mlir_build,
+ os.path.join(overlay_path, "mlir", "BUILD.bazel"))
+ copy_text_file(repo_path, src_mlir_test_build,
+ os.path.join(overlay_path, "mlir", "test", "BUILD.bazel"))
+
+
+def copy_text_file(repo_path, src_file, dst_file):
+ print(f"+ cp {src_file} {dst_file}")
+ with open(src_file, "r", encoding="UTF-8") as f:
+ src_contents = f.read()
+
+ if not os.path.exists(dst_file):
+ print("WARNING: Destination file does not exist:", dst_file)
+ with open(dst_file, "w", encoding="UTF-8") as f:
+ f.write(src_contents)
+ stage_path(repo_path, dst_file)
+
+
def stage_path(repo_path, to_stage):
# TODO(laurenzo): Move to utils.py.
utils.execute(["git", "add", to_stage], cwd=repo_path)
diff --git a/third_party/llvm-bazel b/third_party/llvm-bazel
deleted file mode 160000
index f0d4260..0000000
--- a/third_party/llvm-bazel
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f0d426064ff1ed45438424d5c53f753c6d4c809b