)]}'
{
  "commit": "97a13940bcbb8ab21b8a42044af20cf9dec33c3a",
  "tree": "4a7c7866c47a47f0d0d7b3f07dc37a3df9bd3d53",
  "parents": [
    "446f96eb896dcc5a1d29ff0af3363d8df1fe7021"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Wed Oct 25 09:16:10 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 25 09:16:10 2023 -0700"
  },
  "message": "Adding `vm.br_table` op. (#15286)\n\nThis implements a 0-based dense branch table that can be lowered from\r\n`cf.switch` which is a weird op but what we have and what comes from\r\n`scf.index_switch`. The exact encoding may change in the future to make\r\ninterpreting faster but as structured it should be good for basic JITs.\r\n\r\nThe initial usage of this will come from entirely dense (or mostly\r\ndense) `scf.index_switch` ops so only the most basic optimization for\r\noffseting the base of the table is implemented. There\u0027s no\r\ncanonicalization/folding as `cf.switch` has most of that but we should\r\nprobably add some of the same handlers in the future.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad9c441bb246be4753ce00d1290e1cd961d529c1",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Analysis/RegisterAllocation.cpp",
      "new_id": "1a6082501a943e746c44f80edac520728d653fdc",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Analysis/RegisterAllocation.cpp"
    },
    {
      "type": "modify",
      "old_id": "8dab791c741f457f55a5c43580be724f0573635d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Analysis/RegisterAllocation.h",
      "new_id": "2e345a91c028eecc34cd1c0a5215ef148bb07210",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Analysis/RegisterAllocation.h"
    },
    {
      "type": "modify",
      "old_id": "f025d2a2feba40aa13af77208b561261c9623cf3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/StandardToVM/ConvertStandardToVM.cpp",
      "new_id": "dbafa4587391c1975ac42d0e1725b7b9f5b7da22",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/StandardToVM/ConvertStandardToVM.cpp"
    },
    {
      "type": "modify",
      "old_id": "fa46d3bd562dd7a08bb0ae9e80e20da1a98601cf",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/StandardToVM/test/control_flow_ops.mlir",
      "new_id": "82354faadd5e623e87cd80eb33d3320d6dde144e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/StandardToVM/test/control_flow_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "15847428a7f1c30147a455944fde02bb7b78a50f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp",
      "new_id": "113e12e366bb211bcafe12575b31a747213c15b9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp"
    },
    {
      "type": "modify",
      "old_id": "5ddc33befa7f2149b40e0ae200a112a0725d9394",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/control_flow_ops.mlir",
      "new_id": "3a2e9ec96ec1e11575202259ffe802e1fc7ae1d2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/control_flow_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "93c507a231fb6a07c027d7a979429a454ef7ac34",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMBase.td",
      "new_id": "b7cc789050a8da5cf49259cddad136f26a8ecf66",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMBase.td"
    },
    {
      "type": "modify",
      "old_id": "9c61414ae6483314f611dee3190551b9d40b0b55",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMFuncEncoder.h",
      "new_id": "536eb127ae9a09c55a33867887c2461578ee3c8c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMFuncEncoder.h"
    },
    {
      "type": "modify",
      "old_id": "6667afb4dadb9c716d7e291daf68ae3a18078890",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOpcodesCore.td",
      "new_id": "1757cbd52bc3a9342a78f5edaaab18e2eb94953a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOpcodesCore.td"
    },
    {
      "type": "modify",
      "old_id": "28eb54862e7e15f9d7d2e1513d11d38def7f253d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOps.cpp",
      "new_id": "c7147a8bfee7838255c4834ba89e57cfa2225787",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "8b6cb1aeb3d12920f01038baef1da6cc3e46593d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOps.h",
      "new_id": "768e7786bcac5c317483441b28d1de5330a61c82",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOps.h"
    },
    {
      "type": "modify",
      "old_id": "8340c192a85ebe1559d116b8a768c95518be354d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOps.td",
      "new_id": "c1f03e6e8e9ec40fc8c19e4cccfaa1fad1da0771",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/IR/VMOps.td"
    },
    {
      "type": "modify",
      "old_id": "d834099462e7fa7cbf7f4e90ba546e26b4f0bc54",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/IR/test/control_flow_ops.mlir",
      "new_id": "083862aa24642f7c9fef6bcb16bac3df5d201744",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/IR/test/control_flow_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "2ffe492e2cf1b2f4f4b8294a69a97ac2bd3362b5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/Bytecode/BytecodeEncoder.cpp",
      "new_id": "e648f81274f9819bfe8c043a445bccc0440f9fae",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/Bytecode/BytecodeEncoder.cpp"
    },
    {
      "type": "modify",
      "old_id": "babdbc5377a75f66e7486c02ecc0d6b4eb7580e1",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/disassembler.c",
      "new_id": "039e03711eb0549554cc08d25c9ae0819143c1f4",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/disassembler.c"
    },
    {
      "type": "modify",
      "old_id": "81b773b749016b8eee84a3448c96c4ec3ec3da19",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/dispatch.c",
      "new_id": "84fad05b233001fc23027876fb64a47bfa2e334e",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/dispatch.c"
    },
    {
      "type": "modify",
      "old_id": "d6d377b77bef951b1ffb9d064d56124d38274744",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/dispatch_util.h",
      "new_id": "cf5a09230138323ca06d6e69b29bfed37113d819",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/dispatch_util.h"
    },
    {
      "type": "modify",
      "old_id": "7684b2e56761dfe290035a42c38354eeee3632d3",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/utils/generated/op_table.h",
      "new_id": "5359b22a3ba172d0b67dd69ac8afeaec896028e4",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/utils/generated/op_table.h"
    },
    {
      "type": "modify",
      "old_id": "2b6055d2bebbdd28c8dafdb148b5f6752592b7f6",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/bytecode/verifier.c",
      "new_id": "3122a70d72969041c8baf20480a207b6dc556957",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/bytecode/verifier.c"
    },
    {
      "type": "modify",
      "old_id": "3b857be0448affa514e557d006e658379ced1481",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/test/control_flow_ops.mlir",
      "new_id": "409c445938f3fba9c582dc11df241b06c2e2e453",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/test/control_flow_ops.mlir"
    }
  ]
}
