package(default_visibility = ["//visibility:public"])

cc_library(
    name = "llvm_gpu_backend",
    srcs = [
        "dump_ir_pass.cc",
        "gpu_backend_lib.cc",
        "utils.cc",
    ],
    hdrs = [
        "dump_ir_pass.h",
        "gpu_backend_lib.h",
        "utils.h",
    ],
    deps = [
        "@com_google_absl//absl/base",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@llvm-project//llvm:Analysis",
        "@llvm-project//llvm:BitReader",
        "@llvm-project//llvm:BitWriter",
        "@llvm-project//llvm:CodeGen",
        "@llvm-project//llvm:Core",
        "@llvm-project//llvm:IPO",
        "@llvm-project//llvm:IRReader",
        "@llvm-project//llvm:MC",
        "@llvm-project//llvm:Linker",
        "@llvm-project//llvm:ObjCARC",  # buildcleaner: keep
        "@llvm-project//llvm:Scalar",
        "@llvm-project//llvm:Support",
        "@llvm-project//llvm:SYCLLowerIR",
        "@llvm-project//llvm:Target",
        "@llvm_spir//:llvm_spir_translator",
        #"//itex/core/compiler/xla/service/gpu:metrics",
        "//itex/core/compiler/xla:status_macros",
        "//itex/core/compiler/xla:statusor",
        "//itex/core/compiler/xla:types",
        "//itex/core/compiler/xla:util",
        "//itex/core/compiler/xla/service:dump",
        "//itex/core/compiler/xla/service:hlo_module_config",
        #"//itex/core/compiler/xla/service/gpu:gpu_types",
        "//itex/core/compiler/xla/service/llvm_ir:llvm_command_line_options",
        "//itex/core/compiler/xla/service/llvm_ir:llvm_type_conversion_util",
        "//itex/core/compiler/xla/service/llvm_ir:llvm_util",
        "//itex/core/utils:common_utils",
    ],
)
