)]}'
{
  "commit": "79183cb79cb0feaf65dae0750798d982c797a3c7",
  "tree": "abd850b4a5a25d7aa21ed8a78332175ccaacbf0e",
  "parents": [
    "4bd3742b0e2a2d7842e2adc1ecaa99bf066c7842"
  ],
  "author": {
    "name": "RattataKing",
    "email": "amilywu2@amd.com",
    "time": "Wed Apr 22 13:54:40 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 22 17:54:40 2026 +0000"
  },
  "message": "[Bazel] Move HAL materializeConstant to break IR/HALDialect circular dependency (#24203)\n\nThe previous IREE has a hidden circular reference at link time:\n```\n:HALDialect --depends on--\u003e :IR\n:IR (vtable in HALAttrs.o) --references--\u003e :HALDialect (materializeConstant in HALDialect.o)\n```\nThis becomes a problem for build targets that intend to depend only on\n`:IR`:\n1. They must add `:HALDialect` to Bazel deps to resolve:\n```\ncmake linker error: undefined symbol: mlir::iree_compiler::IREE::HAL::HALDialect::materializeConstant(mlir::OpBuilder\u0026, mlir::Attribute, mlir::Type, mlir::Location)\n\u003e\u003e\u003e referenced by HALAttrs.cpp\n\u003e\u003e\u003e               lib/libiree_compiler_Dialect_HAL_IR_IR.a(lib/../compiler/src/iree/compiler/Dialect/HAL/IR/CMakeFiles/iree_compiler_Dialect_HAL_IR_IR.objects.dir/HALAttrs.cpp.o)\n```\n2. Bazel then sorted `:HALDialect` before `:IR` and result in:\n```\nld.lld: error: backward reference detected: _ZN4mlir13iree_compiler4IREE3HAL10HALDialect19materializeConstantERNS_9OpBuilderENS_9AttributeENS_4TypeENS_8LocationE in bazel-out/k8-opt/bin/compiler/src/iree/compiler/Dialect/HAL/IR/_objs/IR/HALAttrs.pic.o refers to bazel-out/k8-opt/bin/compiler/src/iree/compiler/Dialect/HAL/IR/_objs/HALDialect/HALDialect.pic.o\n```\n\nThis PR moves `materializeConstant` to `HALAttrs.cpp`, which is included\nin `:IR` srcs, breaking the reference cycle.\n\n---------\n\nCo-authored-by: Bangtian Liu \u003cliubangtian@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cac7679b823261a25ec6968b38af7ebad586a487",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/BUILD.bazel",
      "new_id": "b5a041da63e1459b44afa790bdf1a48fd876dd44",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "789cf822397863c4b39b2f088a20b585c239dadf",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/CMakeLists.txt",
      "new_id": "801893ec27d7dd4d2227f39923ed5daeb4c1a1f7",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7aec08cee33cd1d13425d5083718c71850c42bef",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALAttrs.cpp",
      "new_id": "8e8aeb675eb7fa683158af1e1b7d8e21178d7c6e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALAttrs.cpp"
    },
    {
      "type": "modify",
      "old_id": "70e5611fd7476a4a75e33eb414d438eac006f4e5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALDialect.cpp",
      "new_id": "1234b2c27c166182132b766bb12b9c5b120b691c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALDialect.cpp"
    }
  ]
}
