)]}'
{
  "commit": "314b4e64aebcbd36be9a8dcd2ecd6231aaa7cb6b",
  "tree": "816cce399609656ee5b6819bd67723224fe4be79",
  "parents": [
    "d8b6df381a22e2834912db6b6a95ca7b23cee0cc"
  ],
  "author": {
    "name": "Quinn Dawkins",
    "email": "quinn.dawkins@gmail.com",
    "time": "Fri Mar 06 15:12:31 2026 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 06 23:12:31 2026 +0000"
  },
  "message": "[Codegen] Add PipelineAttrInterface and PassPipelineAttr (#23590)\n\nThis change adds an attribute interface for representing pass pipelines\nand a single basic attribute that uses the string based pass interpreter\nto populate a pipeline. The intent of this change is NOT to induce a\nrefactor of all the pass pipelines, instead it\u0027s primarily to make\ntesting structural pipeline changes with partially lowered inputs much\neasier. Today if you want to work on a change that affects later stages\nof a pass pipeline but will also require changes to earlier steps, it\u0027s\nhard to stage those changes since there isn\u0027t a convenient way to jump\ninto the middle of a codegen pass pipeline (unlike the rest of the\ncompiler which offers distinct stages).\n\n---------\n\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ee77447cc8f051ddb7f1ad44bc10a22ccda985fc",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/BUILD.bazel",
      "new_id": "d0c06f7ce14029ab6f02fe7f6dae6598221ba1cf",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "4870a7566c570f980b34d4ba41a8574a5db94435",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/CMakeLists.txt",
      "new_id": "d26c561bcab3042d56ce3fa6977dd42f9d595aa7",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "9488946c6e231544aaaf5877f273d02c90640ff2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenAttrs.cpp",
      "new_id": "441e612b08ecc3b0c092a4414a80971b3c133be6",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenAttrs.cpp"
    },
    {
      "type": "modify",
      "old_id": "ce398096993378b805f7680e202f774a23159942",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenAttrs.td",
      "new_id": "c43a48a29fb4a8f966ad047afb817b8a8cc050f7",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenAttrs.td"
    },
    {
      "type": "modify",
      "old_id": "2b6a1627a5f7f5c423f8aaf13caae38d6db37b9c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenInterfaces.h",
      "new_id": "5c4713ad634f1aff5e22d868a4df90d46294aee9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenInterfaces.h"
    },
    {
      "type": "modify",
      "old_id": "7711c2ba98298de51d9e18409166d132d7934d87",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenInterfaces.td",
      "new_id": "82c747179ead29176eddab612c5810574091cbfe",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenInterfaces.td"
    },
    {
      "type": "modify",
      "old_id": "439bbf240cd3c92dcb412db8a2e1a50c9509c6d9",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/test/lowering_config_attr.mlir",
      "new_id": "7658a73419a4f02f2d37062a649f6f64ca382175",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/test/lowering_config_attr.mlir"
    },
    {
      "type": "modify",
      "old_id": "a9c872ee94ae2b89daefb0c5aba2bfd9faf702b7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp",
      "new_id": "93edf3f94a84dbf83630621838ec963fefbe5678",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/KernelDispatch.cpp"
    },
    {
      "type": "modify",
      "old_id": "1670e6a169887d2fac51b0637f96051bff61dc2a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPULowerExecutableTarget.cpp",
      "new_id": "586429579e566b43cff4bd719416fceecc8764d7",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPULowerExecutableTarget.cpp"
    },
    {
      "type": "modify",
      "old_id": "5948935e3fc56f4df37ce1ca4d6fbab5d57949fd",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPUSelectLoweringStrategy.cpp",
      "new_id": "ccf6397d75479814da21e03265675d9715eb9dda",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/LLVMCPUSelectLoweringStrategy.cpp"
    },
    {
      "type": "modify",
      "old_id": "17995c2f0828b8f12e2c34a4b4dce7866feba619",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/test/BUILD.bazel",
      "new_id": "8ad5b503ebc22ed92ee86087f36b445a471d478b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "fe8cae4b29a4a0b17ac6a256b5238174c820eca4",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/test/CMakeLists.txt",
      "new_id": "a7fdb8f88366da2716121cbdae82e8684b6c1b8a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf1cbcf803cac8ce2305f169ac87b7c8e5dedace",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/test/custom_pass_pipeline.mlir"
    },
    {
      "type": "modify",
      "old_id": "f09091de6ffe7a18c27de85cca3f53fb2ad01cfc",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPULowerExecutableTarget.cpp",
      "new_id": "2c7d003bbb3a828f024b1226973fdd0f9dabff5d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPULowerExecutableTarget.cpp"
    },
    {
      "type": "modify",
      "old_id": "804f4d88ca2f610d372ab57ed08d8b099a372906",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUSelectLoweringStrategy.cpp",
      "new_id": "1a6d6d982b697d786b36d1433632966d3cc05148",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUSelectLoweringStrategy.cpp"
    },
    {
      "type": "modify",
      "old_id": "571162b0349b6f30b4341b7e47ed7d4e39567da8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/BUILD.bazel",
      "new_id": "a4ecee8ed21741d114b9facbda9d93e4afa3a0b7",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "d91bc80ce4bc26299563823ec52277e768c114cc",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/CMakeLists.txt",
      "new_id": "91eb73ee12cff2d20ed3a61e3ae587ed90d2dee8",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "385acee9f0231fe9c468a9949514ec05617a3f49",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/custom_pass_pipeline.mlir"
    },
    {
      "type": "modify",
      "old_id": "969cc289d8451b02a76fe5cfb66198032901e8bb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/SPIRV/SPIRVLowerExecutableTargetPass.cpp",
      "new_id": "4c040c44315940991336505a80029b1c161a103b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/SPIRV/SPIRVLowerExecutableTargetPass.cpp"
    },
    {
      "type": "modify",
      "old_id": "9028aa7ab93c11d250e9852836bc77b7be521c5d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/SPIRV/SPIRVSelectLoweringStrategy.cpp",
      "new_id": "330ac7f62aa0d3f8dbe1c6683760c2ba366dbe30",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/SPIRV/SPIRVSelectLoweringStrategy.cpp"
    },
    {
      "type": "modify",
      "old_id": "47d4524d055d52f4ecc14b6cdf2dc7a7d6d03a74",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/SPIRV/test/BUILD.bazel",
      "new_id": "03374b187af011cc3b74895ae845423dd08cfdc6",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/SPIRV/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "6ce2eccaf52582341b95fce5620bf7c0f085c9f4",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/SPIRV/test/CMakeLists.txt",
      "new_id": "bb7a0ef09e9eb98f284f908f18b18b80db1d320f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/SPIRV/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b26f43bee5bfd8b49905bdb9b896dd0fa453c366",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/SPIRV/test/custom_pass_pipeline.mlir"
    },
    {
      "type": "modify",
      "old_id": "84d4091db4a418ebd89c70742c95c3d7f47632cb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/VMVX/VMVXLowerExecutableTargetPass.cpp",
      "new_id": "aa8299cdf319ad70dc21e823a5d8142e1abab8b2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/VMVX/VMVXLowerExecutableTargetPass.cpp"
    },
    {
      "type": "modify",
      "old_id": "999058052d0721eb86c6343899637467c6206d89",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/VMVX/test/BUILD.bazel",
      "new_id": "a3bfda3d3a8abefedc640123e1f4ff4c533da1fe",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/VMVX/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "0d8c673873841ebed81b54cad0f81486f1d18013",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/VMVX/test/CMakeLists.txt",
      "new_id": "49961cedd1e4f7629e9e18fa5c48cb8136838b69",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/VMVX/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a4e65794b4c63a8c31719a4f76784df18016a3a1",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/VMVX/test/custom_pass_pipeline.mlir"
    }
  ]
}
