1load("//tensorflow/core/platform:rules_cc.bzl", "cc_library") 2 3# buildifier: disable=same-origin-load 4load("//tensorflow:tensorflow.bzl", "get_compatible_with_cloud") 5load("@llvm-project//mlir:tblgen.bzl", "gentbl_cc_library", "gentbl_filegroup", "td_library") 6 7# TODO(b/160617323): Decouple MLIR HLO from TensorFlow/XLA 8load("//tensorflow:tensorflow.bzl", "tf_cc_test") 9 10package( 11 default_visibility = [":friends"], 12 licenses = ["notice"], 13) 14 15package_group( 16 name = "friends", 17 packages = [ 18 "//babelfish/device/...", 19 "//learning/brain/experimental/dtensor/...", 20 "//learning/brain/experimental/mlir/...", 21 "//learning/brain/google/xla/kernels/...", 22 "//learning/brain/google/xla/mlir/...", 23 "//learning/deepmind/partir/...", 24 "//learning/pathways/data_parallel/tf2xla/...", 25 "//platforms/darwinn/tools/mlir_fuzzer/...", 26 "//platforms/xla/...", 27 "//third_party/iree/...", 28 "//third_party/mlir_edge/...", 29 "//third_party/py/mlir/...", 30 "//tensorflow/compiler/mlir/...", 31 "//tensorflow/compiler/tf2xla/...", 32 "//tensorflow/compiler/xla/...", 33 # Allow visibility from the mlir language server. 34 "//learning/brain/mlir/mlir_lsp_server/...", 35 ], 36) 37 38exports_files([ 39 "include/mlir-hlo/Dialect/mhlo/IR/clo_ops.td", 40 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.td", 41 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops.td", 42]) 43 44# Python extension sources. 45exports_files(["python/MlirHloModule.cpp"]) 46 47filegroup( 48 name = "hlo_ops_td_filegroup", 49 srcs = glob(["include/mlir-hlo/Dialect/mhlo/IR/*.td"]), 50) 51 52td_library( 53 name = "hlo_ops_td_files", 54 srcs = glob(["include/mlir-hlo/Dialect/mhlo/IR/*.td"]), 55 compatible_with = get_compatible_with_cloud(), 56 includes = ["include"], 57 deps = [ 58 "@llvm-project//mlir:ControlFlowInterfacesTdFiles", 59 "@llvm-project//mlir:CopyOpInterfaceTdFiles", 60 "@llvm-project//mlir:InferTypeOpInterfaceTdFiles", 61 "@llvm-project//mlir:LoopLikeInterfaceTdFiles", 62 "@llvm-project//mlir:MemRefOpsTdFiles", 63 "@llvm-project//mlir:OpBaseTdFiles", 64 "@llvm-project//mlir:ShapeOpsTdFiles", 65 "@llvm-project//mlir:SideEffectTdFiles", 66 "@llvm-project//mlir:ViewLikeInterfaceTdFiles", 67 ], 68) 69 70gentbl_cc_library( 71 name = "MhloPassIncGen", 72 compatible_with = get_compatible_with_cloud(), 73 strip_include_prefix = "include", 74 tbl_outs = [ 75 ( 76 [ 77 "-gen-pass-decls", 78 "-name=MHLO", 79 ], 80 "include/mlir-hlo/Dialect/mhlo/transforms/mhlo_passes.h.inc", 81 ), 82 ], 83 tblgen = "@llvm-project//mlir:mlir-tblgen", 84 td_file = "include/mlir-hlo/Dialect/mhlo/transforms/mhlo_passes.td", 85 deps = [ 86 "@llvm-project//mlir:PassBaseTdFiles", 87 ], 88) 89 90gentbl_cc_library( 91 name = "LmhloPassIncGen", 92 compatible_with = get_compatible_with_cloud(), 93 strip_include_prefix = "include", 94 tbl_outs = [ 95 ( 96 [ 97 "-gen-pass-decls", 98 "-name=LMHLO", 99 ], 100 "include/mlir-hlo/Dialect/mhlo/transforms/lmhlo_passes.h.inc", 101 ), 102 ], 103 tblgen = "@llvm-project//mlir:mlir-tblgen", 104 td_file = "include/mlir-hlo/Dialect/mhlo/transforms/lmhlo_passes.td", 105 deps = [ 106 "@llvm-project//mlir:PassBaseTdFiles", 107 ], 108) 109 110gentbl_cc_library( 111 name = "chlo_ops_inc_gen", 112 compatible_with = get_compatible_with_cloud(), 113 strip_include_prefix = "include", 114 tbl_outs = [ 115 ( 116 ["-gen-op-decls"], 117 "include/mlir-hlo/Dialect/mhlo/IR/chlo_ops.h.inc", 118 ), 119 ( 120 ["-gen-op-defs"], 121 "include/mlir-hlo/Dialect/mhlo/IR/chlo_ops.cc.inc", 122 ), 123 ], 124 tblgen = "@llvm-project//mlir:mlir-tblgen", 125 td_file = "include/mlir-hlo/Dialect/mhlo/IR/chlo_ops.td", 126 deps = [":hlo_ops_td_files"], 127) 128 129gentbl_cc_library( 130 name = "hlo_ops_inc_gen", 131 compatible_with = get_compatible_with_cloud(), 132 strip_include_prefix = "include", 133 tbl_outs = [ 134 ( 135 ["-gen-op-decls"], 136 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.h.inc", 137 ), 138 ( 139 ["-gen-op-defs"], 140 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.cc.inc", 141 ), 142 ], 143 tblgen = "@llvm-project//mlir:mlir-tblgen", 144 td_file = "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.td", 145 deps = [":hlo_ops_td_files"], 146) 147 148gentbl_cc_library( 149 name = "hlo_ops_base_inc_gen", 150 compatible_with = get_compatible_with_cloud(), 151 strip_include_prefix = "include", 152 tbl_outs = [ 153 ( 154 ["-gen-op-decls"], 155 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base.h.inc", 156 ), 157 ( 158 ["-gen-op-defs"], 159 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base.cc.inc", 160 ), 161 ], 162 tblgen = "@llvm-project//mlir:mlir-tblgen", 163 td_file = "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base.td", 164 deps = [":hlo_ops_td_files"], 165) 166 167gentbl_cc_library( 168 name = "hlo_ops_base_structs_inc_gen", 169 compatible_with = get_compatible_with_cloud(), 170 tbl_outs = [ 171 ( 172 ["-gen-struct-attr-decls"], 173 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_structs.h.inc", 174 ), 175 ( 176 ["-gen-struct-attr-defs"], 177 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_structs.cc.inc", 178 ), 179 ], 180 tblgen = "@llvm-project//mlir:mlir-tblgen", 181 td_file = "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base.td", 182 deps = [":hlo_ops_td_files"], 183) 184 185gentbl_cc_library( 186 name = "hlo_ops_base_enums_inc_gen", 187 compatible_with = get_compatible_with_cloud(), 188 tbl_outs = [ 189 ( 190 ["-gen-enum-decls"], 191 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_enums.h.inc", 192 ), 193 ( 194 ["-gen-enum-defs"], 195 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_enums.cc.inc", 196 ), 197 ], 198 tblgen = "@llvm-project//mlir:mlir-tblgen", 199 td_file = "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base.td", 200 deps = [":hlo_ops_td_files"], 201) 202 203gentbl_cc_library( 204 name = "hlo_ops_pattern_gen", 205 compatible_with = get_compatible_with_cloud(), 206 strip_include_prefix = "lib/Dialect/mhlo/IR/", 207 tbl_outs = [ 208 ( 209 ["-gen-rewriters"], 210 "lib/Dialect/mhlo/IR/hlo_patterns.cc.inc", 211 ), 212 ], 213 tblgen = "@llvm-project//mlir:mlir-tblgen", 214 td_file = "lib/Dialect/mhlo/IR/hlo_patterns.td", 215 deps = [ 216 ":hlo_ops_td_files", 217 "@llvm-project//mlir:StdOpsTdFiles", 218 "@llvm-project//mlir:TensorOpsTdFiles", 219 ], 220) 221 222gentbl_cc_library( 223 name = "lhlo_ops_structs_inc_gen", 224 compatible_with = get_compatible_with_cloud(), 225 strip_include_prefix = "include", 226 tbl_outs = [ 227 ( 228 ["-gen-struct-attr-decls"], 229 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops_structs.h.inc", 230 ), 231 ( 232 ["-gen-struct-attr-defs"], 233 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops_structs.cc.inc", 234 ), 235 ], 236 tblgen = "@llvm-project//mlir:mlir-tblgen", 237 td_file = "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops_structs.td", 238 deps = [":hlo_ops_td_files"], 239) 240 241gentbl_cc_library( 242 name = "lhlo_ops_inc_gen", 243 compatible_with = get_compatible_with_cloud(), 244 strip_include_prefix = "include", 245 tbl_outs = [ 246 ( 247 ["-gen-op-decls"], 248 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops.h.inc", 249 ), 250 ( 251 ["-gen-op-defs"], 252 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops.cc.inc", 253 ), 254 ], 255 tblgen = "@llvm-project//mlir:mlir-tblgen", 256 td_file = "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops.td", 257 deps = [":hlo_ops_td_files"], 258) 259 260gentbl_cc_library( 261 name = "lhlo_gpu_ops_structs_inc_gen", 262 compatible_with = get_compatible_with_cloud(), 263 strip_include_prefix = "include", 264 tbl_outs = [ 265 ( 266 ["-gen-struct-attr-decls"], 267 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_structs.h.inc", 268 ), 269 ( 270 ["-gen-struct-attr-defs"], 271 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_structs.cc.inc", 272 ), 273 ], 274 tblgen = "@llvm-project//mlir:mlir-tblgen", 275 td_file = "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_structs.td", 276 deps = [":hlo_ops_td_files"], 277) 278 279gentbl_cc_library( 280 name = "lhlo_gpu_ops_enums_inc_gen", 281 compatible_with = get_compatible_with_cloud(), 282 strip_include_prefix = "include", 283 tbl_outs = [ 284 ( 285 ["-gen-enum-decls"], 286 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_enums.h.inc", 287 ), 288 ( 289 ["-gen-enum-defs"], 290 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_enums.cc.inc", 291 ), 292 ], 293 tblgen = "@llvm-project//mlir:mlir-tblgen", 294 td_file = "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_enums.td", 295 deps = [":hlo_ops_td_files"], 296) 297 298gentbl_filegroup( 299 name = "hlo_ops_doc_gen", 300 compatible_with = get_compatible_with_cloud(), 301 tbl_outs = [ 302 ( 303 ["-gen-dialect-doc"], 304 "g3doc/hlo_ops.md", 305 ), 306 ], 307 tblgen = "@llvm-project//mlir:mlir-tblgen", 308 td_file = "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.td", 309 deps = [":hlo_ops_td_files"], 310) 311 312gentbl_filegroup( 313 name = "lhlo_ops_doc_gen", 314 compatible_with = get_compatible_with_cloud(), 315 tbl_outs = [ 316 ( 317 ["-gen-dialect-doc"], 318 "g3doc/lhlo_ops.md", 319 ), 320 ], 321 tblgen = "@llvm-project//mlir:mlir-tblgen", 322 td_file = "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops.td", 323 deps = [":hlo_ops_td_files"], 324) 325 326cc_library( 327 name = "hlo_ops_common", 328 srcs = ["lib/Dialect/mhlo/IR/hlo_ops_common.cc"], 329 hdrs = ["include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_common.h"], 330 includes = ["include"], 331 deps = [ 332 "@llvm-project//llvm:Support", 333 "@llvm-project//mlir:IR", 334 "@llvm-project//mlir:Support", 335 ], 336) 337 338cc_library( 339 name = "lhlo_gpu_ops_structs", 340 srcs = [ 341 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_structs.cc.inc", 342 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_structs.h.inc", 343 "lib/Dialect/mhlo/IR/lhlo_gpu_ops_structs.cc", 344 ], 345 hdrs = [ 346 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_structs.h", 347 ], 348 includes = ["include"], 349 deps = [ 350 ":lhlo_gpu_ops_structs_inc_gen", 351 "@llvm-project//mlir:IR", 352 "@llvm-project//mlir:Support", 353 ], 354) 355 356cc_library( 357 name = "lhlo_gpu_ops_enums", 358 srcs = [ 359 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_enums.cc.inc", 360 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_enums.h.inc", 361 "lib/Dialect/mhlo/IR/lhlo_gpu_ops_enums.cc", 362 ], 363 hdrs = [ 364 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops_enums.h", 365 ], 366 includes = ["include"], 367 deps = [ 368 ":lhlo_gpu_ops_enums_inc_gen", 369 "@llvm-project//llvm:Support", 370 ], 371) 372 373gentbl_cc_library( 374 name = "lhlo_gpu_ops_inc_gen", 375 compatible_with = get_compatible_with_cloud(), 376 strip_include_prefix = "include", 377 tbl_outs = [ 378 ( 379 ["-gen-op-decls"], 380 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops.h.inc", 381 ), 382 ( 383 ["-gen-op-defs"], 384 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops.cc.inc", 385 ), 386 ], 387 tblgen = "@llvm-project//mlir:mlir-tblgen", 388 td_file = "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops.td", 389 deps = [":hlo_ops_td_files"], 390) 391 392#TODO(aminim): revisit the naming and grouping of these rules post-move. 393gentbl_cc_library( 394 name = "canonicalize_inc_gen", 395 compatible_with = get_compatible_with_cloud(), 396 strip_include_prefix = "lib/Dialect/mhlo/IR/", 397 tbl_outs = [ 398 ( 399 ["-gen-rewriters"], 400 "lib/Dialect/mhlo/IR/mhlo_canonicalize.inc", 401 ), 402 ], 403 tblgen = "@llvm-project//mlir:mlir-tblgen", 404 td_file = "lib/Dialect/mhlo/IR/mhlo_canonicalize.td", 405 deps = [":hlo_ops_td_files"], 406) 407 408gentbl_cc_library( 409 name = "infer_fusibility_op_interface_gen", 410 compatible_with = get_compatible_with_cloud(), 411 tbl_outs = [ 412 ( 413 ["-gen-op-interface-decls"], 414 "include/mlir-hlo/Dialect/mhlo/IR/infer_fusibility_op_interface.h.inc", 415 ), 416 ( 417 ["-gen-op-interface-defs"], 418 "include/mlir-hlo/Dialect/mhlo/IR/infer_fusibility_op_interface.cpp.inc", 419 ), 420 ], 421 tblgen = "@llvm-project//mlir:mlir-tblgen", 422 td_file = "include/mlir-hlo/Dialect/mhlo/IR/infer_fusibility_op_interface.td", 423 deps = [":hlo_ops_td_files"], 424) 425 426cc_library( 427 name = "infer_fusibility_op_interface", 428 srcs = [ 429 "lib/Dialect/mhlo/IR/infer_fusibility_op_interface.cc", 430 ], 431 hdrs = [ 432 "include/mlir-hlo/Dialect/mhlo/IR/infer_fusibility_op_interface.h", 433 "include/mlir-hlo/Dialect/mhlo/IR/infer_fusibility_op_interface.h.inc", 434 ], 435 includes = ["include"], 436 deps = [ 437 ":infer_fusibility_op_interface_gen", 438 "@llvm-project//mlir:IR", 439 "@llvm-project//mlir:Support", 440 ], 441 alwayslink = 1, 442) 443 444gentbl_cc_library( 445 name = "lhlo_structured_interface_gen", 446 compatible_with = get_compatible_with_cloud(), 447 tbl_outs = [ 448 ( 449 ["-gen-op-interface-decls"], 450 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_structured_interface.h.inc", 451 ), 452 ( 453 ["-gen-op-interface-defs"], 454 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_structured_interface.cpp.inc", 455 ), 456 ], 457 tblgen = "@llvm-project//mlir:mlir-tblgen", 458 td_file = "include/mlir-hlo/Dialect/mhlo/IR/lhlo_structured_interface.td", 459 deps = [":hlo_ops_td_files"], 460) 461 462cc_library( 463 name = "lhlo_structured_interface", 464 srcs = [ 465 "lib/Dialect/mhlo/IR/lhlo_structured_interface.cc", 466 ], 467 hdrs = [ 468 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_structured_interface.h", 469 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_structured_interface.h.inc", 470 ], 471 includes = ["include"], 472 deps = [ 473 ":lhlo_structured_interface_gen", 474 "@llvm-project//mlir:IR", 475 "@llvm-project//mlir:Support", 476 ], 477) 478 479cc_library( 480 name = "hlo_ops_base_structs", 481 srcs = [ 482 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_structs.h.inc", 483 "lib/Dialect/mhlo/IR/hlo_ops_base_structs.cc", 484 ], 485 hdrs = [ 486 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_structs.h", 487 ], 488 includes = ["include"], 489 deps = [ 490 ":hlo_ops_base_structs_inc_gen", 491 "@llvm-project//mlir:IR", 492 "@llvm-project//mlir:Support", 493 ], 494) 495 496cc_library( 497 name = "hlo_ops_base_enums", 498 srcs = [ 499 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_enums.h.inc", 500 "lib/Dialect/mhlo/IR/hlo_ops_base_enums.cc", 501 ], 502 hdrs = [ 503 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base_enums.h", 504 ], 505 includes = ["include"], 506 deps = [ 507 ":hlo_ops_base_enums_inc_gen", 508 "@llvm-project//llvm:Support", 509 "@llvm-project//mlir:IR", 510 ], 511) 512 513cc_library( 514 name = "convert_op_folder", 515 srcs = ["lib/utils/convert_op_folder.cc"], 516 hdrs = ["include/mlir-hlo/utils/convert_op_folder.h"], 517 includes = ["include"], 518 deps = [ 519 "@llvm-project//mlir:IR", 520 ], 521) 522 523cc_library( 524 name = "hlo", 525 srcs = [ 526 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.cc.inc", 527 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.h.inc", 528 "lib/Dialect/mhlo/IR/chlo_ops.cc", 529 "lib/Dialect/mhlo/IR/hlo_ops.cc", 530 "lib/utils/broadcast_utils.cc", 531 "lib/utils/hlo_utils.cc", 532 ], 533 hdrs = [ 534 "include/mlir-hlo/Dialect/mhlo/IR/chlo_ops.h", 535 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops.h", 536 "include/mlir-hlo/Dialect/mhlo/IR/hlo_ops_base.h", 537 "include/mlir-hlo/utils/broadcast_utils.h", 538 "include/mlir-hlo/utils/hlo_utils.h", 539 ], 540 includes = ["include"], 541 deps = [ 542 ":canonicalize_inc_gen", 543 ":chlo_ops_inc_gen", 544 ":convert_op_folder", 545 ":hlo_ops_base_enums", 546 ":hlo_ops_base_inc_gen", 547 ":hlo_ops_base_structs", 548 ":hlo_ops_common", 549 ":hlo_ops_inc_gen", 550 ":hlo_ops_pattern_gen", 551 ":infer_fusibility_op_interface", 552 "@llvm-project//llvm:Support", 553 "@llvm-project//mlir:Analysis", 554 "@llvm-project//mlir:ControlFlowInterfaces", 555 "@llvm-project//mlir:IR", 556 "@llvm-project//mlir:InferTypeOpInterface", 557 "@llvm-project//mlir:MemRefDialect", 558 "@llvm-project//mlir:Pass", 559 "@llvm-project//mlir:Shape", 560 "@llvm-project//mlir:SideEffects", 561 "@llvm-project//mlir:StandardOps", 562 "@llvm-project//mlir:Support", 563 "@llvm-project//mlir:TensorDialect", 564 "@llvm-project//mlir:TransformUtils", 565 "@llvm-project//mlir:Transforms", 566 ], 567 alwayslink = 1, 568) 569 570cc_library( 571 name = "lhlo", 572 srcs = [ 573 "lib/Dialect/mhlo/IR/lhlo_ops.cc", 574 "lib/Dialect/mhlo/IR/lhlo_ops_structs.cc", 575 ], 576 hdrs = [ 577 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops.h", 578 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_ops_structs.h", 579 "include/mlir-hlo/utils/lhlo_utils.h", 580 ], 581 includes = ["include"], 582 deps = [ 583 ":hlo_ops_base_enums", 584 ":hlo_ops_base_inc_gen", 585 ":hlo_ops_base_structs", 586 ":hlo_ops_common", 587 ":lhlo_ops_inc_gen", 588 ":lhlo_ops_structs_inc_gen", 589 ":lhlo_structured_interface", 590 "@llvm-project//llvm:Support", 591 "@llvm-project//mlir:Analysis", 592 "@llvm-project//mlir:ControlFlowInterfaces", 593 "@llvm-project//mlir:CopyOpInterface", 594 "@llvm-project//mlir:IR", 595 "@llvm-project//mlir:LoopLikeInterface", 596 "@llvm-project//mlir:MemRefDialect", 597 "@llvm-project//mlir:Pass", 598 "@llvm-project//mlir:SideEffects", 599 "@llvm-project//mlir:StandardOps", 600 "@llvm-project//mlir:Support", 601 "@llvm-project//mlir:TransformUtils", 602 "@llvm-project//mlir:Transforms", 603 "@llvm-project//mlir:ViewLikeInterface", 604 ], 605 alwayslink = 1, 606) 607 608cc_library( 609 name = "lhlo_gpu", 610 srcs = [ 611 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops.cc.inc", 612 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops.h.inc", 613 "lib/Dialect/mhlo/IR/lhlo_gpu_ops.cc", 614 ], 615 hdrs = [ 616 "include/mlir-hlo/Dialect/mhlo/IR/lhlo_gpu_ops.h", 617 ], 618 includes = ["include"], 619 deps = [ 620 ":hlo", 621 ":hlo_ops_base_enums", 622 ":hlo_ops_base_structs", 623 ":hlo_ops_common", 624 ":infer_fusibility_op_interface", 625 ":lhlo", 626 ":lhlo_gpu_ops_enums", 627 ":lhlo_gpu_ops_inc_gen", 628 ":lhlo_gpu_ops_structs", 629 "@llvm-project//llvm:Support", 630 "@llvm-project//mlir:Analysis", 631 "@llvm-project//mlir:ControlFlowInterfaces", 632 "@llvm-project//mlir:CopyOpInterface", 633 "@llvm-project//mlir:IR", 634 "@llvm-project//mlir:InferTypeOpInterface", 635 "@llvm-project//mlir:LoopLikeInterface", 636 "@llvm-project//mlir:Pass", 637 "@llvm-project//mlir:SideEffects", 638 "@llvm-project//mlir:StandardOps", 639 "@llvm-project//mlir:Support", 640 "@llvm-project//mlir:TransformUtils", 641 "@llvm-project//mlir:Transforms", 642 "@llvm-project//mlir:ViewLikeInterface", 643 ], 644 alwayslink = 1, 645) 646 647gentbl_cc_library( 648 name = "DiscRalPassIncGen", 649 compatible_with = get_compatible_with_cloud(), 650 strip_include_prefix = "include", 651 tbl_outs = [ 652 ( 653 [ 654 "-gen-pass-decls", 655 "-name=RAL", 656 ], 657 "include/mlir-hlo/Dialect/mhlo/transforms/disc_ral_passes.h.inc", 658 ), 659 ], 660 tblgen = "@llvm-project//mlir:mlir-tblgen", 661 td_file = "include/mlir-hlo/Dialect/mhlo/transforms/disc_ral_passes.td", 662 deps = [ 663 "@llvm-project//mlir:PassBaseTdFiles", 664 ], 665) 666 667gentbl_cc_library( 668 name = "disc_ral_ops_inc_gen", 669 compatible_with = get_compatible_with_cloud(), 670 strip_include_prefix = "include", 671 tbl_outs = [ 672 ( 673 ["-gen-op-decls"], 674 "include/mlir-hlo/Dialect/mhlo/IR/disc_ral_ops.h.inc", 675 ), 676 ( 677 ["-gen-op-defs"], 678 "include/mlir-hlo/Dialect/mhlo/IR/disc_ral_ops.cc.inc", 679 ), 680 ], 681 tblgen = "@llvm-project//mlir:mlir-tblgen", 682 td_file = "include/mlir-hlo/Dialect/mhlo/IR/disc_ral_ops.td", 683 deps = [":hlo_ops_td_files"], 684) 685 686cc_library( 687 name = "disc_ral", 688 srcs = [ 689 "include/mlir-hlo/Dialect/mhlo/IR/disc_ral_ops.cc.inc", 690 "include/mlir-hlo/Dialect/mhlo/IR/disc_ral_ops.h.inc", 691 "lib/Dialect/mhlo/IR/disc_ral_ops.cc", 692 ], 693 hdrs = [ 694 "include/mlir-hlo/Dialect/mhlo/IR/disc_ral_ops.h", 695 ], 696 includes = ["include"], 697 deps = [ 698 ":disc_ral_ops_inc_gen", 699 "@llvm-project//llvm:Support", 700 "@llvm-project//mlir:Analysis", 701 "@llvm-project//mlir:ControlFlowInterfaces", 702 "@llvm-project//mlir:CopyOpInterface", 703 "@llvm-project//mlir:IR", 704 "@llvm-project//mlir:InferTypeOpInterface", 705 "@llvm-project//mlir:LoopLikeInterface", 706 "@llvm-project//mlir:MemRefDialect", 707 "@llvm-project//mlir:Pass", 708 "@llvm-project//mlir:SideEffects", 709 "@llvm-project//mlir:StandardOps", 710 "@llvm-project//mlir:Support", 711 "@llvm-project//mlir:TransformUtils", 712 "@llvm-project//mlir:Transforms", 713 "@llvm-project//mlir:ViewLikeInterface", 714 ], 715 alwayslink = 1, 716) 717 718cc_library( 719 name = "ral_inject_execution_context", 720 srcs = ["lib/Dialect/mhlo/transforms/ral_inject_execution_context.cc"], 721 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 722 deps = [ 723 ":disc_ral", 724 ":pass_details", 725 "@llvm-project//llvm:Support", 726 "@llvm-project//mlir:IR", 727 "@llvm-project//mlir:Pass", 728 "@llvm-project//mlir:SCFDialect", 729 "@llvm-project//mlir:Shape", 730 "@llvm-project//mlir:StandardOps", 731 "@llvm-project//mlir:TensorDialect", 732 "@llvm-project//mlir:Transforms", 733 ], 734 alwayslink = 1, 735) 736 737cc_library( 738 name = "ral_lower_to_library_call", 739 srcs = ["lib/Dialect/mhlo/transforms/ral_lower_to_library_call.cc"], 740 hdrs = [ 741 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 742 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 743 ], 744 deps = [ 745 ":disc_ral", 746 ":pass_details", 747 "@llvm-project//llvm:Support", 748 "@llvm-project//llvm:TransformUtils", 749 "@llvm-project//mlir:IR", 750 "@llvm-project//mlir:Pass", 751 "@llvm-project//mlir:Shape", 752 "@llvm-project//mlir:StandardOps", 753 "@llvm-project//mlir:Support", 754 "@llvm-project//mlir:TensorDialect", 755 "@llvm-project//mlir:TensorTransforms", 756 "@llvm-project//mlir:Transforms", 757 ], 758 alwayslink = 1, 759) 760 761cc_library( 762 name = "ral_legalize_to_llvm", 763 srcs = ["lib/Dialect/mhlo/transforms/ral_legalize_to_llvm.cc"], 764 hdrs = [ 765 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 766 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 767 ], 768 deps = [ 769 ":disc_ral", 770 ":pass_details", 771 "@llvm-project//llvm:Support", 772 "@llvm-project//llvm:TransformUtils", 773 "@llvm-project//mlir:Affine", 774 "@llvm-project//mlir:AllPassesAndDialects", 775 "@llvm-project//mlir:Analysis", 776 "@llvm-project//mlir:GPUDialect", 777 "@llvm-project//mlir:GPUToGPURuntimeTransforms", 778 "@llvm-project//mlir:IR", 779 "@llvm-project//mlir:LLVMCommonConversion", 780 "@llvm-project//mlir:LLVMDialect", 781 "@llvm-project//mlir:LLVMTransforms", 782 "@llvm-project//mlir:MathDialect", 783 "@llvm-project//mlir:MemRefDialect", 784 "@llvm-project//mlir:Pass", 785 "@llvm-project//mlir:StandardOps", 786 "@llvm-project//mlir:StandardOpsTransforms", 787 "@llvm-project//mlir:Support", 788 "@llvm-project//mlir:ToLLVMIRTranslation", 789 "@llvm-project//mlir:Transforms", 790 ], 791 alwayslink = 1, 792) 793 794cc_library( 795 name = "hlo_dialect_registration", 796 srcs = ["lib/Dialect/mhlo/IR/init.cc"], 797 hdrs = ["include/mlir-hlo/Dialect/mhlo/IR/register.h"], 798 deps = [ 799 ":disc_ral", 800 ":hlo", 801 ":lhlo", 802 ":lhlo_gpu", 803 "@llvm-project//mlir:IR", 804 ], 805) 806 807cc_library( 808 name = "sink_constants_to_control_flow", 809 srcs = [ 810 "lib/Dialect/mhlo/transforms/sink_constants_to_control_flow.cc", 811 ], 812 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 813 deps = [ 814 ":hlo", 815 ":pass_details", 816 "@llvm-project//llvm:Support", 817 "@llvm-project//mlir:IR", 818 "@llvm-project//mlir:Pass", 819 "@llvm-project//mlir:SCFDialect", 820 "@llvm-project//mlir:StandardOps", 821 "@llvm-project//mlir:Support", 822 "@llvm-project//mlir:Transforms", 823 ], 824 alwayslink = 1, 825) 826 827cc_library( 828 name = "mhlo_control_flow_to_scf", 829 srcs = ["lib/Dialect/mhlo/transforms/mhlo_control_flow_to_scf.cc"], 830 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 831 deps = [ 832 ":hlo", 833 ":pass_details", 834 "@llvm-project//llvm:Support", 835 "@llvm-project//mlir:IR", 836 "@llvm-project//mlir:Pass", 837 "@llvm-project//mlir:SCFDialect", 838 "@llvm-project//mlir:StandardOps", 839 "@llvm-project//mlir:Support", 840 "@llvm-project//mlir:TensorDialect", 841 ], 842) 843 844cc_library( 845 name = "mhlo_mark_shape_calc", 846 srcs = ["lib/Dialect/mhlo/transforms/mhlo_mark_shape_calc.cc"], 847 deps = [ 848 ":hlo", 849 ":pass_details", 850 "@llvm-project//llvm:Support", 851 "@llvm-project//mlir:IR", 852 "@llvm-project//mlir:Pass", 853 "@llvm-project//mlir:StandardOps", 854 "@llvm-project//mlir:Transforms", 855 ], 856) 857 858cc_library( 859 name = "type_conversion", 860 srcs = ["lib/Dialect/mhlo/transforms/type_conversion.cc"], 861 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/type_conversion.h"], 862 includes = ["include"], 863 deps = [ 864 "@llvm-project//mlir:IR", 865 "@llvm-project//mlir:Transforms", 866 ], 867) 868 869cc_library( 870 name = "map_lmhlo_to_scalar_op", 871 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/map_lmhlo_to_scalar_op.h"], 872 deps = [ 873 ":hlo", 874 ":lhlo", 875 ":map_hlo_to_lhlo_op", 876 "@llvm-project//llvm:Support", 877 "@llvm-project//mlir:ComplexDialect", 878 "@llvm-project//mlir:IR", 879 "@llvm-project//mlir:MathDialect", 880 "@llvm-project//mlir:SCFDialect", 881 "@llvm-project//mlir:StandardOps", 882 ], 883) 884 885cc_library( 886 name = "map_chlo_to_hlo_op", 887 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/map_chlo_to_hlo_op.h"], 888 deps = [ 889 ":hlo", 890 "@llvm-project//mlir:IR", 891 ], 892) 893 894cc_library( 895 name = "map_hlo_to_lhlo_op", 896 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/map_hlo_to_lhlo_op.h"], 897 deps = [ 898 ":hlo", 899 ":lhlo", 900 ], 901) 902 903cc_library( 904 name = "lhlo_legalize_to_affine", 905 srcs = ["lib/Dialect/mhlo/transforms/lhlo_legalize_to_affine.cc"], 906 deps = [ 907 ":hlo", 908 ":lhlo", 909 ":map_lmhlo_to_scalar_op", 910 ":pass_details", 911 "@llvm-project//llvm:Support", 912 "@llvm-project//mlir:Affine", 913 "@llvm-project//mlir:IR", 914 "@llvm-project//mlir:Pass", 915 "@llvm-project//mlir:StandardOps", 916 "@llvm-project//mlir:TransformUtils", 917 ], 918 alwayslink = 1, 919) 920 921cc_library( 922 name = "lhlo_legalize_to_parallel_loops", 923 srcs = ["lib/Dialect/mhlo/transforms/lhlo_legalize_to_parallel_loops.cc"], 924 deps = [ 925 ":lhlo", 926 ":pass_details", 927 "@llvm-project//llvm:Support", 928 "@llvm-project//mlir:IR", 929 "@llvm-project//mlir:LinalgOps", 930 "@llvm-project//mlir:MemRefDialect", 931 "@llvm-project//mlir:Pass", 932 "@llvm-project//mlir:SCFDialect", 933 "@llvm-project//mlir:StandardOps", 934 "@llvm-project//mlir:Transforms", 935 ], 936 alwayslink = 1, 937) 938 939cc_library( 940 name = "codegen_utils", 941 srcs = ["lib/utils/codegen_utils.cc"], 942 hdrs = ["include/mlir-hlo/utils/codegen_utils.h"], 943 includes = ["include"], 944 deps = [ 945 "@llvm-project//llvm:Support", 946 "@llvm-project//mlir:IR", 947 "@llvm-project//mlir:LLVMDialect", 948 "@llvm-project//mlir:MemRefDialect", 949 "@llvm-project//mlir:Pass", 950 "@llvm-project//mlir:StandardOps", 951 "@llvm-project//mlir:Support", 952 ], 953) 954 955cc_library( 956 name = "placement_utils", 957 hdrs = ["include/mlir-hlo/utils/placement_utils.h"], 958 includes = ["include"], 959 deps = [ 960 "@llvm-project//llvm:Support", 961 "@llvm-project//mlir:Support", 962 ], 963) 964 965cc_library( 966 name = "lhlo_elemental_utils", 967 srcs = ["lib/Dialect/mhlo/transforms/lhlo_elemental_utils.cc"], 968 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/lhlo_elemental_utils.h"], 969 deps = [ 970 ":codegen_utils", 971 ":hlo", 972 ":lhlo", 973 ":map_lmhlo_to_scalar_op", 974 "@com_google_absl//absl/memory", 975 "@llvm-project//llvm:Support", 976 "@llvm-project//mlir:GPUDialect", 977 "@llvm-project//mlir:IR", 978 "@llvm-project//mlir:MemRefDialect", 979 "@llvm-project//mlir:Pass", 980 "@llvm-project//mlir:SCFDialect", 981 "@llvm-project//mlir:StandardOps", 982 "@llvm-project//mlir:Transforms", 983 ], 984) 985 986cc_library( 987 name = "fusion_utils", 988 srcs = ["lib/Dialect/mhlo/transforms/fusion_utils.cc"], 989 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/fusion_utils.h"], 990 deps = [ 991 ":lhlo", 992 "@llvm-project//llvm:Core", 993 "@llvm-project//llvm:Support", 994 "@llvm-project//mlir:IR", 995 "@llvm-project//mlir:Shape", 996 "@llvm-project//mlir:StandardOps", 997 "@llvm-project//mlir:Support", 998 ], 999) 1000 1001cc_library( 1002 name = "disc_supported_list", 1003 hdrs = ["include/mlir-hlo/utils/disc_supported_list.h.inc"], 1004) 1005 1006cc_library( 1007 name = "lhlo_legalize_roots_to_loops", 1008 srcs = ["lib/Dialect/mhlo/transforms/lhlo_legalize_roots_to_loops.cc"], 1009 deps = [ 1010 ":LmhloPassIncGen", 1011 ":codegen_utils", 1012 ":disc_supported_list", 1013 ":fusion_utils", 1014 ":hlo", 1015 ":lhlo", 1016 ":lhlo_elemental_utils", 1017 ":map_lmhlo_to_scalar_op", 1018 ":placement_utils", 1019 "@com_google_absl//absl/memory", 1020 "@llvm-project//llvm:Support", 1021 "@llvm-project//mlir:GPUDialect", 1022 "@llvm-project//mlir:IR", 1023 "@llvm-project//mlir:MemRefDialect", 1024 "@llvm-project//mlir:Pass", 1025 "@llvm-project//mlir:SCFDialect", 1026 "@llvm-project//mlir:StandardOps", 1027 "@llvm-project//mlir:Support", 1028 "@llvm-project//mlir:Transforms", 1029 ], 1030 alwayslink = 1, 1031) 1032 1033cc_library( 1034 name = "input_inline_fusion", 1035 srcs = ["lib/Dialect/mhlo/transforms/input_inline_fusion_pass.cc"], 1036 deps = [ 1037 ":LmhloPassIncGen", 1038 ":disc_supported_list", 1039 ":hlo", 1040 ":lhlo", 1041 ":lhlo_elemental_utils", 1042 ":map_lmhlo_to_scalar_op", 1043 "@com_google_absl//absl/memory", 1044 "@llvm-project//llvm:Support", 1045 "@llvm-project//mlir:Analysis", 1046 "@llvm-project//mlir:IR", 1047 "@llvm-project//mlir:MemRefDialect", 1048 "@llvm-project//mlir:Pass", 1049 "@llvm-project//mlir:SCFDialect", 1050 "@llvm-project//mlir:StandardOps", 1051 "@llvm-project//mlir:Transforms", 1052 ], 1053 alwayslink = 1, 1054) 1055 1056cc_library( 1057 name = "legalize_to_linalg", 1058 srcs = ["lib/Dialect/mhlo/transforms/legalize_to_linalg.cc"], 1059 hdrs = [ 1060 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1061 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1062 ], 1063 deps = [ 1064 ":hlo", 1065 ":lhlo", 1066 ":map_lmhlo_to_scalar_op", 1067 ":pass_details", 1068 ":type_conversion", 1069 "@llvm-project//llvm:Support", 1070 "@llvm-project//mlir:Affine", 1071 "@llvm-project//mlir:IR", 1072 "@llvm-project//mlir:LinalgOps", 1073 "@llvm-project//mlir:MathDialect", 1074 "@llvm-project//mlir:MemRefDialect", 1075 "@llvm-project//mlir:Pass", 1076 "@llvm-project//mlir:SCFDialect", 1077 "@llvm-project//mlir:Shape", 1078 "@llvm-project//mlir:StandardOps", 1079 "@llvm-project//mlir:Support", 1080 "@llvm-project//mlir:TensorDialect", 1081 "@llvm-project//mlir:Transforms", 1082 ], 1083 alwayslink = 1, 1084) 1085 1086cc_library( 1087 name = "broadcast_propagation", 1088 srcs = ["lib/Dialect/mhlo/transforms/broadcast_propagation.cc"], 1089 hdrs = [ 1090 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1091 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1092 ], 1093 deps = [ 1094 ":hlo", 1095 ":map_chlo_to_hlo_op", 1096 ":pass_details", 1097 "@llvm-project//llvm:Support", 1098 "@llvm-project//mlir:IR", 1099 "@llvm-project//mlir:InferTypeOpInterface", 1100 "@llvm-project//mlir:Pass", 1101 "@llvm-project//mlir:SCFDialect", 1102 "@llvm-project//mlir:Shape", 1103 "@llvm-project//mlir:StandardOps", 1104 "@llvm-project//mlir:TensorDialect", 1105 "@llvm-project//mlir:Transforms", 1106 ], 1107 alwayslink = 1, 1108) 1109 1110cc_library( 1111 name = "rank_specialization", 1112 srcs = ["lib/Dialect/mhlo/transforms/rank_specialization.cc"], 1113 hdrs = [ 1114 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1115 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1116 ], 1117 deps = [ 1118 ":hlo", 1119 ":pass_details", 1120 "@llvm-project//llvm:Support", 1121 "@llvm-project//mlir:IR", 1122 "@llvm-project//mlir:InferTypeOpInterface", 1123 "@llvm-project//mlir:Pass", 1124 "@llvm-project//mlir:SCFDialect", 1125 "@llvm-project//mlir:Shape", 1126 "@llvm-project//mlir:StandardOps", 1127 "@llvm-project//mlir:TensorDialect", 1128 "@llvm-project//mlir:Transforms", 1129 ], 1130 alwayslink = 1, 1131) 1132 1133cc_library( 1134 name = "lhlo_legalize_to_gpu", 1135 srcs = ["lib/Dialect/mhlo/transforms/lhlo_legalize_to_gpu.cc"], 1136 deps = [ 1137 ":hlo", 1138 ":lhlo", 1139 ":map_lmhlo_to_scalar_op", 1140 ":pass_details", 1141 "@llvm-project//llvm:Support", 1142 "@llvm-project//mlir:Affine", 1143 "@llvm-project//mlir:GPUDialect", 1144 "@llvm-project//mlir:IR", 1145 "@llvm-project//mlir:LinalgOps", 1146 "@llvm-project//mlir:MemRefDialect", 1147 "@llvm-project//mlir:Pass", 1148 "@llvm-project//mlir:SCFDialect", 1149 "@llvm-project//mlir:StandardOps", 1150 "@llvm-project//mlir:Transforms", 1151 ], 1152 alwayslink = 1, 1153) 1154 1155cc_library( 1156 name = "lhlo_fuse_linalg", 1157 srcs = ["lib/Dialect/mhlo/transforms/lhlo_fuse_linalg.cc"], 1158 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 1159 deps = [ 1160 ":lhlo", 1161 ":pass_details", 1162 "@llvm-project//llvm:Support", 1163 "@llvm-project//mlir:Affine", 1164 "@llvm-project//mlir:IR", 1165 "@llvm-project//mlir:LinalgTransforms", 1166 "@llvm-project//mlir:MemRefDialect", 1167 "@llvm-project//mlir:Pass", 1168 "@llvm-project//mlir:SCFDialect", 1169 "@llvm-project//mlir:StandardOps", 1170 "@llvm-project//mlir:Support", 1171 "@llvm-project//mlir:TensorDialect", 1172 "@llvm-project//mlir:TransformUtils", 1173 "@llvm-project//mlir:ViewLikeInterface", 1174 ], 1175 alwayslink = 1, 1176) 1177 1178cc_library( 1179 name = "mhlo_canonicalize_reduction", 1180 srcs = ["lib/Dialect/mhlo/transforms/mhlo_canonicalize_reduction.cc"], 1181 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 1182 deps = [ 1183 ":hlo", 1184 ":pass_details", 1185 "@llvm-project//llvm:Support", 1186 "@llvm-project//mlir:TensorDialect", 1187 ], 1188) 1189 1190cc_library( 1191 name = "hlo_legalize_to_lhlo", 1192 srcs = ["lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc"], 1193 hdrs = [ 1194 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1195 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1196 ], 1197 deps = [ 1198 ":hlo", 1199 ":lhlo", 1200 ":map_hlo_to_lhlo_op", 1201 ":pass_details", 1202 "@llvm-project//llvm:Support", 1203 "@llvm-project//mlir:IR", 1204 "@llvm-project//mlir:MemRefDialect", 1205 "@llvm-project//mlir:Pass", 1206 "@llvm-project//mlir:Shape", 1207 "@llvm-project//mlir:ShapeTransforms", 1208 "@llvm-project//mlir:StandardOps", 1209 "@llvm-project//mlir:StandardOpsTransforms", 1210 "@llvm-project//mlir:Support", 1211 "@llvm-project//mlir:TensorDialect", 1212 "@llvm-project//mlir:Transforms", 1213 ], 1214 alwayslink = 1, 1215) 1216 1217cc_library( 1218 name = "hlo_legalize_to_memref", 1219 srcs = ["lib/Dialect/mhlo/transforms/hlo_legalize_to_memref.cc"], 1220 hdrs = [ 1221 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1222 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1223 ], 1224 deps = [ 1225 ":hlo", 1226 ":pass_details", 1227 ":type_conversion", 1228 "@llvm-project//llvm:Support", 1229 "@llvm-project//mlir:IR", 1230 "@llvm-project//mlir:MemRefDialect", 1231 "@llvm-project//mlir:Pass", 1232 "@llvm-project//mlir:Shape", 1233 "@llvm-project//mlir:ShapeTransforms", 1234 "@llvm-project//mlir:StandardOps", 1235 "@llvm-project//mlir:StandardOpsTransforms", 1236 "@llvm-project//mlir:Support", 1237 "@llvm-project//mlir:TensorDialect", 1238 "@llvm-project//mlir:Transforms", 1239 ], 1240 alwayslink = 1, 1241) 1242 1243cc_library( 1244 name = "cycle_detector", 1245 srcs = ["lib/utils/cycle_detector.cc"], 1246 hdrs = ["include/mlir-hlo/utils/cycle_detector.h"], 1247 includes = ["include"], 1248 deps = [ 1249 "@llvm-project//llvm:Support", 1250 ], 1251 alwayslink = 1, 1252) 1253 1254tf_cc_test( 1255 name = "cycle_detector_test", 1256 srcs = ["lib/utils/cycle_detector_test.cc"], 1257 deps = [ 1258 ":cycle_detector", 1259 # TODO(b/160617323): Decouple MLIR HLO from TensorFlow/XLA 1260 "//tensorflow/compiler/xla:test", 1261 "//tensorflow/core:test_main", 1262 ], 1263) 1264 1265cc_library( 1266 name = "mhlo_fusion", 1267 srcs = ["lib/Dialect/mhlo/transforms/mhlo_fusion.cc"], 1268 deps = [ 1269 ":cycle_detector", 1270 ":hlo", 1271 ":pass_details", 1272 "@llvm-project//llvm:Core", 1273 "@llvm-project//llvm:Support", 1274 "@llvm-project//mlir:IR", 1275 "@llvm-project//mlir:Pass", 1276 "@llvm-project//mlir:StandardOps", 1277 "@llvm-project//mlir:Support", 1278 "@llvm-project//mlir:TransformUtils", 1279 ], 1280 alwayslink = 1, 1281) 1282 1283gentbl_cc_library( 1284 name = "legalize_to_standard_inc_gen", 1285 compatible_with = get_compatible_with_cloud(), 1286 strip_include_prefix = "lib/Dialect/mhlo/transforms/", 1287 tbl_outs = [ 1288 ( 1289 ["-gen-rewriters"], 1290 "lib/Dialect/mhlo/transforms/generated_legalize_to_standard.inc", 1291 ), 1292 ], 1293 tblgen = "@llvm-project//mlir:mlir-tblgen", 1294 td_file = "lib/Dialect/mhlo/transforms/legalize_to_standard_patterns.td", 1295 deps = [ 1296 ":hlo_ops_td_files", 1297 "@llvm-project//mlir:StdOpsTdFiles", 1298 ], 1299) 1300 1301cc_library( 1302 name = "legalize_control_flow", 1303 srcs = ["lib/Dialect/mhlo/transforms/legalize_control_flow.cc"], 1304 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 1305 deps = [ 1306 ":hlo", 1307 ":pass_details", 1308 "@llvm-project//llvm:Support", 1309 "@llvm-project//mlir:IR", 1310 "@llvm-project//mlir:Pass", 1311 "@llvm-project//mlir:StandardOps", 1312 "@llvm-project//mlir:Support", 1313 "@llvm-project//mlir:TensorDialect", 1314 ], 1315 alwayslink = 1, 1316) 1317 1318cc_library( 1319 name = "legalize_to_standard", 1320 srcs = ["lib/Dialect/mhlo/transforms/legalize_to_standard.cc"], 1321 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 1322 deps = [ 1323 ":hlo", 1324 ":legalize_to_standard_inc_gen", 1325 ":legalize_trigonometric_to_approximation", 1326 ":pass_details", 1327 "@llvm-project//llvm:Support", 1328 "@llvm-project//mlir:IR", 1329 "@llvm-project//mlir:Pass", 1330 "@llvm-project//mlir:StandardOps", 1331 "@llvm-project//mlir:Support", 1332 "@llvm-project//mlir:TransformUtils", 1333 ], 1334 alwayslink = 1, 1335) 1336 1337cc_library( 1338 name = "legalize_einsum_to_dot_general", 1339 srcs = ["lib/Dialect/mhlo/transforms/legalize_einsum_to_dot_general.cc"], 1340 hdrs = [ 1341 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1342 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1343 ], 1344 deps = [ 1345 ":hlo", 1346 ":pass_details", 1347 "@llvm-project//llvm:Support", 1348 "@llvm-project//mlir:IR", 1349 "@llvm-project//mlir:Pass", 1350 "@llvm-project//mlir:StandardOps", 1351 "@llvm-project//mlir:Support", 1352 "@llvm-project//mlir:Transforms", 1353 ], 1354 alwayslink = 1, 1355) 1356 1357cc_library( 1358 name = "legalize_gather_to_torch_index_select", 1359 srcs = ["lib/Dialect/mhlo/transforms/legalize_gather_to_torch_index_select.cc"], 1360 hdrs = [ 1361 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1362 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1363 ], 1364 deps = [ 1365 ":hlo", 1366 ":pass_details", 1367 "@llvm-project//llvm:Support", 1368 "@llvm-project//mlir:IR", 1369 "@llvm-project//mlir:Pass", 1370 "@llvm-project//mlir:StandardOps", 1371 "@llvm-project//mlir:Support", 1372 "@llvm-project//mlir:Transforms", 1373 ], 1374 alwayslink = 1, 1375) 1376 1377cc_library( 1378 name = "legalize_trigonometric_to_approximation", 1379 srcs = ["lib/Dialect/mhlo/transforms/legalize_trigonometric_to_approximation.cc"], 1380 hdrs = [ 1381 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1382 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1383 ], 1384 includes = ["include"], 1385 deps = [ 1386 ":pass_details", 1387 "@llvm-project//llvm:Support", 1388 "@llvm-project//mlir:IR", 1389 "@llvm-project//mlir:MathDialect", 1390 "@llvm-project//mlir:Pass", 1391 "@llvm-project//mlir:StandardOps", 1392 "@llvm-project//mlir:Support", 1393 "@llvm-project//mlir:Transforms", 1394 ], 1395 alwayslink = 1, 1396) 1397 1398gentbl_cc_library( 1399 name = "lower_complex_inc_gen", 1400 compatible_with = get_compatible_with_cloud(), 1401 strip_include_prefix = "lib/Dialect/mhlo/transforms/", 1402 tbl_outs = [ 1403 ( 1404 ["-gen-rewriters"], 1405 "lib/Dialect/mhlo/transforms/generated_lower_complex.inc", 1406 ), 1407 ], 1408 tblgen = "@llvm-project//mlir:mlir-tblgen", 1409 td_file = "lib/Dialect/mhlo/transforms/lower_complex_patterns.td", 1410 deps = [ 1411 ":hlo_ops_td_files", 1412 "@llvm-project//mlir:StdOpsTdFiles", 1413 ], 1414) 1415 1416cc_library( 1417 #TODO(aminim): find a better name here? 1418 name = "mhlo_to_mhlo_lowering_patterns", 1419 srcs = [ 1420 "lib/Dialect/mhlo/transforms/lower_complex.cc", 1421 "lib/Dialect/mhlo/transforms/lower_general_dot.cc", 1422 "lib/Dialect/mhlo/transforms/optimize_mhlo.cc", 1423 ], 1424 hdrs = [ 1425 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1426 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1427 ], 1428 deps = [ 1429 ":hlo", 1430 ":lower_complex_inc_gen", 1431 ":pass_details", 1432 "@llvm-project//llvm:Support", 1433 "@llvm-project//mlir:Analysis", 1434 "@llvm-project//mlir:IR", 1435 "@llvm-project//mlir:Pass", 1436 "@llvm-project//mlir:StandardOps", 1437 "@llvm-project//mlir:Support", 1438 "@llvm-project//mlir:Transforms", 1439 ], 1440 alwayslink = 1, 1441) 1442 1443cc_library( 1444 name = "materialize_broadcasts", 1445 srcs = [ 1446 "lib/Dialect/mhlo/transforms/materialize_broadcasts.cc", 1447 ], 1448 hdrs = [ 1449 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1450 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1451 ], 1452 deps = [ 1453 ":hlo", 1454 "@llvm-project//llvm:Support", 1455 "@llvm-project//mlir:IR", 1456 "@llvm-project//mlir:StandardOps", 1457 "@llvm-project//mlir:Transforms", 1458 ], 1459) 1460 1461cc_library( 1462 name = "unfuse_batch_norm", 1463 srcs = ["lib/Dialect/mhlo/transforms/unfuse_batch_norm.cc"], 1464 hdrs = [ 1465 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1466 ], 1467 deps = [ 1468 ":hlo", 1469 "@llvm-project//llvm:Support", 1470 "@llvm-project//mlir:IR", 1471 "@llvm-project//mlir:MemRefDialect", 1472 "@llvm-project//mlir:StandardOps", 1473 "@llvm-project//mlir:TensorDialect", 1474 "@llvm-project//mlir:Transforms", 1475 ], 1476) 1477 1478cc_library( 1479 name = "legalize_tensor_load_op", 1480 srcs = ["lib/Dialect/mhlo/transforms/legalize_tensor_load_op.cc"], 1481 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/passes.h"], 1482 deps = [ 1483 ":lhlo", 1484 ":pass_details", 1485 "@llvm-project//llvm:Support", 1486 "@llvm-project//mlir:IR", 1487 "@llvm-project//mlir:MemRefDialect", 1488 "@llvm-project//mlir:Pass", 1489 "@llvm-project//mlir:Shape", 1490 "@llvm-project//mlir:StandardOps", 1491 "@llvm-project//mlir:Support", 1492 "@llvm-project//mlir:TensorDialect", 1493 "@llvm-project//mlir:Transforms", 1494 ], 1495) 1496 1497cc_library( 1498 name = "mhlo_flatten_tuple", 1499 srcs = ["lib/Dialect/mhlo/transforms/mhlo_flatten_tuple.cc"], 1500 hdrs = [ 1501 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1502 ], 1503 deps = [ 1504 ":hlo", 1505 ":pass_details", 1506 ":transforms_pass_details", 1507 "@llvm-project//llvm:Support", 1508 "@llvm-project//mlir:IR", 1509 "@llvm-project//mlir:MemRefDialect", 1510 "@llvm-project//mlir:StandardOps", 1511 "@llvm-project//mlir:TensorDialect", 1512 "@llvm-project//mlir:Transforms", 1513 ], 1514) 1515 1516cc_library( 1517 name = "lhlo_fusion", 1518 srcs = ["lib/Dialect/mhlo/transforms/lhlo_fusion.cc"], 1519 deps = [ 1520 ":cycle_detector", 1521 ":fusion_utils", 1522 ":lhlo", 1523 ":pass_details", 1524 "@llvm-project//llvm:Core", 1525 "@llvm-project//llvm:Support", 1526 "@llvm-project//mlir:IR", 1527 "@llvm-project//mlir:Pass", 1528 "@llvm-project//mlir:Shape", 1529 "@llvm-project//mlir:StandardOps", 1530 "@llvm-project//mlir:Support", 1531 "@llvm-project//mlir:TransformUtils", 1532 ], 1533 alwayslink = 1, 1534) 1535 1536cc_library( 1537 name = "lhlo_fusion_inliner", 1538 srcs = ["lib/Dialect/mhlo/transforms/lhlo_fusion_inliner.cc"], 1539 deps = [ 1540 ":lhlo", 1541 ":pass_details", 1542 "@llvm-project//mlir:Pass", 1543 ], 1544 alwayslink = 1, 1545) 1546 1547cc_library( 1548 name = "chlo_legalize_to_hlo", 1549 srcs = ["lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo.cc"], 1550 hdrs = ["include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h"], 1551 deps = [ 1552 ":chlo_legalize_to_hlo_inc_gen", 1553 ":hlo", 1554 ":map_chlo_to_hlo_op", 1555 "@llvm-project//llvm:Support", 1556 "@llvm-project//mlir:IR", 1557 "@llvm-project//mlir:SCFDialect", 1558 "@llvm-project//mlir:Shape", 1559 "@llvm-project//mlir:StandardOps", 1560 "@llvm-project//mlir:TensorDialect", 1561 "@llvm-project//mlir:Transforms", 1562 ], 1563) 1564 1565gentbl_cc_library( 1566 name = "chlo_legalize_to_hlo_inc_gen", 1567 compatible_with = get_compatible_with_cloud(), 1568 strip_include_prefix = "lib/Dialect/mhlo/transforms/", 1569 tbl_outs = [ 1570 ( 1571 ["-gen-rewriters"], 1572 "lib/Dialect/mhlo/transforms/generated_chlo_legalize_to_hlo.inc", 1573 ), 1574 ], 1575 tblgen = "@llvm-project//mlir:mlir-tblgen", 1576 td_file = "lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo_patterns.td", 1577 deps = [":hlo_ops_td_files"], 1578) 1579 1580cc_library( 1581 name = "expand_hlo_tuples", 1582 srcs = [ 1583 "lib/Dialect/mhlo/transforms/expand_hlo_tuples.cc", 1584 ], 1585 hdrs = [ 1586 "include/mlir-hlo/Dialect/mhlo/transforms/passes.h", 1587 ], 1588 deps = [ 1589 ":hlo", 1590 ":pass_details", 1591 "@com_google_absl//absl/strings", 1592 "@llvm-project//llvm:Support", 1593 "@llvm-project//mlir:IR", 1594 "@llvm-project//mlir:Pass", 1595 "@llvm-project//mlir:StandardOps", 1596 ], 1597) 1598 1599cc_library( 1600 name = "pass_details", 1601 hdrs = [ 1602 "include/mlir-hlo/Dialect/mhlo/transforms/PassDetail.h", 1603 ], 1604 visibility = [ 1605 "//visibility:private", # This target is a private detail of pass implementations 1606 ], 1607 deps = [ 1608 ":DiscRalPassIncGen", 1609 ":LmhloPassIncGen", 1610 ":MhloPassIncGen", 1611 "@llvm-project//mlir:Pass", 1612 ], 1613) 1614 1615cc_library( 1616 name = "test_passes", 1617 srcs = [ 1618 "include/mlir-hlo/Dialect/mhlo/transforms/rewriters.h", 1619 "lib/Analysis/test_userange_analysis.cc", 1620 "lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo_pass.cc", 1621 "lib/Dialect/mhlo/transforms/materialize_broadcasts_pass.cc", 1622 "lib/Dialect/mhlo/transforms/optimize_mhlo_pass.cc", 1623 "lib/Dialect/mhlo/transforms/test_infer_shaped_type_pass.cc", 1624 "lib/Dialect/mhlo/transforms/unfuse_batch_norm_pass.cc", 1625 ], 1626 deps = [ 1627 ":chlo_legalize_to_hlo", # build-cleaner: keep 1628 ":hlo", 1629 ":lhlo", 1630 ":materialize_broadcasts", # build-cleaner: keep 1631 ":pass_details", 1632 ":transforms_pass_details", 1633 ":unfuse_batch_norm", # build-cleaner: keep 1634 ":userange_analysis", 1635 "@llvm-project//mlir:Analysis", 1636 "@llvm-project//mlir:IR", 1637 "@llvm-project//mlir:InferTypeOpInterface", 1638 "@llvm-project//mlir:LLVMDialect", 1639 "@llvm-project//mlir:LLVMTransforms", 1640 "@llvm-project//mlir:MemRefDialect", 1641 "@llvm-project//mlir:Pass", 1642 "@llvm-project//mlir:SCFDialect", 1643 "@llvm-project//mlir:Shape", 1644 "@llvm-project//mlir:StandardOps", 1645 "@llvm-project//mlir:TensorDialect", 1646 "@llvm-project//mlir:Transforms", 1647 ], 1648 alwayslink = 1, 1649) 1650 1651cc_library( 1652 name = "all_passes", 1653 hdrs = [ 1654 "include/mlir-hlo/Dialect/mhlo/transforms/register_passes.h", 1655 "include/mlir-hlo/Transforms/register_passes.h", 1656 ], 1657 visibility = [ 1658 ":friends", 1659 ], 1660 deps = [ 1661 ":DiscRalPassIncGen", 1662 ":LmhloPassIncGen", 1663 ":MhloPassIncGen", 1664 ":broadcast_propagation", 1665 ":buffer_reuse", 1666 ":chlo_legalize_to_hlo", 1667 ":expand_hlo_tuples", 1668 ":hlo_legalize_to_lhlo", 1669 ":hlo_legalize_to_memref", 1670 ":input_inline_fusion", 1671 ":legalize_control_flow", 1672 ":legalize_einsum_to_dot_general", 1673 ":legalize_gather_to_torch_index_select", 1674 ":legalize_tensor_load_op", 1675 ":legalize_to_linalg", 1676 ":legalize_to_standard", 1677 ":legalize_trigonometric_to_approximation", 1678 ":lhlo", 1679 ":lhlo_fuse_linalg", 1680 ":lhlo_fusion", 1681 ":lhlo_fusion_inliner", 1682 ":lhlo_legalize_roots_to_loops", 1683 ":lhlo_legalize_to_affine", 1684 ":lhlo_legalize_to_gpu", 1685 ":lhlo_legalize_to_parallel_loops", 1686 ":mhlo_canonicalize_reduction", 1687 ":mhlo_control_flow_to_scf", 1688 ":mhlo_flatten_tuple", 1689 ":mhlo_fusion", 1690 ":mhlo_mark_shape_calc", 1691 ":mhlo_to_mhlo_lowering_patterns", 1692 ":ral_inject_execution_context", 1693 ":ral_legalize_to_llvm", 1694 ":ral_lower_to_library_call", 1695 ":rank_specialization", 1696 ":sink_constants_to_control_flow", 1697 ":test_passes", 1698 ":transforms_pass_details", 1699 ":transforms_pass_inc_gen", 1700 ":userange_analysis", 1701 "@llvm-project//mlir:Pass", 1702 ], 1703) 1704 1705gentbl_cc_library( 1706 name = "transforms_pass_inc_gen", 1707 compatible_with = get_compatible_with_cloud(), 1708 strip_include_prefix = "include", 1709 tbl_outs = [ 1710 ( 1711 [ 1712 "-gen-pass-decls", 1713 "-name=LMHLOTransforms", 1714 ], 1715 "include/mlir-hlo/Transforms/passes.h.inc", 1716 ), 1717 ], 1718 tblgen = "@llvm-project//mlir:mlir-tblgen", 1719 td_file = "include/mlir-hlo/Transforms/passes.td", 1720 deps = [ 1721 "@llvm-project//mlir:PassBaseTdFiles", 1722 ], 1723) 1724 1725cc_library( 1726 name = "transforms_pass_details", 1727 hdrs = [ 1728 "include/mlir-hlo/Transforms/PassDetail.h", 1729 "include/mlir-hlo/Transforms/passes.h", 1730 ], 1731 visibility = [ 1732 "//visibility:private", # This target is a private detail of pass implementations 1733 ], 1734 deps = [ 1735 ":transforms_pass_inc_gen", 1736 "@llvm-project//mlir:Pass", 1737 ], 1738) 1739 1740cc_library( 1741 name = "userange_analysis", 1742 srcs = ["lib/Analysis/userange_analysis.cc"], 1743 hdrs = [ 1744 "include/mlir-hlo/Analysis/userange_analysis.h", 1745 ], 1746 includes = ["include"], 1747 deps = [ 1748 ":hlo", 1749 ":transforms_pass_inc_gen", 1750 "@llvm-project//llvm:Support", 1751 "@llvm-project//mlir:Analysis", 1752 "@llvm-project//mlir:IR", 1753 "@llvm-project//mlir:LoopLikeInterface", 1754 "@llvm-project//mlir:Transforms", 1755 ], 1756) 1757 1758cc_library( 1759 name = "buffer_reuse", 1760 srcs = ["lib/Transforms/buffer_reuse.cc"], 1761 hdrs = [ 1762 "include/mlir-hlo/Analysis/userange_analysis.h", 1763 "include/mlir-hlo/Transforms/PassDetail.h", 1764 "include/mlir-hlo/Transforms/passes.h", 1765 ], 1766 deps = [ 1767 ":hlo", 1768 ":transforms_pass_inc_gen", 1769 "@llvm-project//mlir:Analysis", 1770 "@llvm-project//mlir:IR", 1771 "@llvm-project//mlir:LoopLikeInterface", 1772 "@llvm-project//mlir:MemRefDialect", 1773 "@llvm-project//mlir:Pass", 1774 "@llvm-project//mlir:Transforms", 1775 ], 1776) 1777 1778cc_library( 1779 name = "CAPI", 1780 srcs = [ 1781 "lib/CAPI/Dialects.cpp", 1782 ], 1783 hdrs = [ 1784 "include/mlir-hlo-c/Dialects.h", 1785 ], 1786 deps = [ 1787 ":hlo", 1788 "@llvm-project//mlir:CAPIIR", 1789 ], 1790) 1791 1792cc_binary( 1793 name = "mlir-hlo-opt", 1794 srcs = [ 1795 "tools/mlir-hlo-opt/mlir-hlo-opt.cpp", 1796 ], 1797 deps = [ 1798 ":all_passes", 1799 ":disc_ral", 1800 ":hlo", 1801 ":lhlo", 1802 ":lhlo_gpu", 1803 "@llvm-project//llvm:Support", 1804 "@llvm-project//mlir:AllPassesAndDialects", 1805 "@llvm-project//mlir:IR", 1806 "@llvm-project//mlir:MlirOptLib", 1807 "@llvm-project//mlir:Pass", 1808 "@llvm-project//mlir:Support", 1809 ], 1810) 1811 1812# Python library. 1813 1814td_library( 1815 name = "MhloOpsPyTdFiles", 1816 srcs = [ 1817 "@llvm-project//mlir:include/mlir/Bindings/Python/Attributes.td", 1818 ], 1819 includes = ["include"], 1820 deps = [ 1821 ":hlo_ops_td_files", 1822 "@llvm-project//mlir:OpBaseTdFiles", 1823 ], 1824) 1825 1826gentbl_filegroup( 1827 name = "MhloOpsPyGen", 1828 tbl_outs = [ 1829 ( 1830 [ 1831 "-gen-python-op-bindings", 1832 "-bind-dialect=mhlo", 1833 ], 1834 "python/mlir/dialects/_mhlo_ops_gen.py", 1835 ), 1836 ], 1837 tblgen = "@llvm-project//mlir:mlir-tblgen", 1838 td_file = "python/mlir/dialects/MhloOps.td", 1839 deps = [ 1840 ":MhloOpsPyTdFiles", 1841 ], 1842) 1843 1844gentbl_filegroup( 1845 name = "ChloOpsPyGen", 1846 tbl_outs = [ 1847 ( 1848 [ 1849 "-gen-python-op-bindings", 1850 "-bind-dialect=chlo", 1851 ], 1852 "python/mlir/dialects/_chlo_ops_gen.py", 1853 ), 1854 ], 1855 tblgen = "@llvm-project//mlir:mlir-tblgen", 1856 td_file = "python/mlir/dialects/ChloOps.td", 1857 deps = [ 1858 ":MhloOpsPyTdFiles", 1859 ], 1860) 1861 1862filegroup( 1863 name = "MhloOpsPyFiles", 1864 srcs = [ 1865 "python/mlir/dialects/chlo.py", 1866 "python/mlir/dialects/mhlo.py", 1867 ":ChloOpsPyGen", 1868 ":MhloOpsPyGen", 1869 ], 1870) 1871