)]}'
{
  "commit": "c15b610542b538f468d7249a645be16a6def3c18",
  "tree": "ef6ffab4f75df46a27246b72dd85344c242813ca",
  "parents": [
    "1d7fb8e1eb696b1cf450b62496208bec170263a5"
  ],
  "author": {
    "name": "Simon Camphausen",
    "email": "simon.camphausen@iml.fraunhofer.de",
    "time": "Fri Feb 23 06:01:18 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Feb 22 21:01:18 2024 -0800"
  },
  "message": "[EmitC] Remove the forked emitter and generate all the code in the conversion pass (#16357)\n\nThis resolves the longstanding painpoint of having a custom fork of the\r\nEmitC dialect to C emitter infrastructure in IREE. This is done by\r\ngenerating `emitc.verbatim` ops for the missing pieces in the\r\nconversion.\r\n\r\nThings that need to be addressed:\r\n- Move `createModuleStructure` into a separate file. Skipped for now as\r\nit introduces hundreds lines of diff noise\r\n- The creation of the descriptor arrays are a 1:1 copy from the old\r\nCModuleTarget. Helper structs/functions around these would help\r\nreadability.\r\n- Convert the `vm.module` to a `builtin.module` in the conversion.\r\n(Would need to make the conversion pass run on the outer\r\n`builtin.module` and nest the pass manager correctly, I think?)\r\n- The `FuncAnalysis` became kind of a sink where different pieces of\r\ninformation are mashed together with subtle bugs around uninitialized\r\nvariables from the different constructos.\r\n\r\n---------\r\n\r\nCo-authored-by: Marius Brehler \u003cmarius.brehler@iml.fraunhofer.de\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ca276f5b79b6b36a47c51c9490798774cc56f159",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp",
      "new_id": "a4cb660be195806068a44d3b1a42fe500520b09e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/ConvertVMToEmitC.cpp"
    },
    {
      "type": "modify",
      "old_id": "f8b770dc22c070e9cf8ceafa6400b13fda4621ca",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/EmitCBuilders.cpp",
      "new_id": "84babe5ccf46843747ba5cda6695fd7be30a1bf9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/EmitCBuilders.cpp"
    },
    {
      "type": "modify",
      "old_id": "cc8ec721af64b83672ab2d2ae1263352ba4256ad",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/EmitCBuilders.h",
      "new_id": "ab107bcaf0d327aebf734e4cc4b705abf037e747",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/EmitCBuilders.h"
    },
    {
      "type": "modify",
      "old_id": "ca29cb18355c9d600cff994d10465a1b3a4b7d81",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/EmitCTypeConverter.cpp",
      "new_id": "b2ae62b3d47cc7434271237651c3226cd90e022e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/EmitCTypeConverter.cpp"
    },
    {
      "type": "modify",
      "old_id": "0230ab8657bff81a8857c0bb52727de2764469e5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/VMAnalysis.h",
      "new_id": "e90592061f12e319943ee13f4e305bb6928a216c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/VMAnalysis.h"
    },
    {
      "type": "modify",
      "old_id": "48dd30471ae3a89232043b4cff15438480cd20f0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/arithmetic_ops.mlir",
      "new_id": "3f0bdda3a0049e84129c25d9e2016814ba72fa1c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/arithmetic_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "9518a2b9d2019f5b0095f58682da0e7c89ace85a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/arithmetic_ops_f32.mlir",
      "new_id": "ce95840af992ab6084e384f8e1d87825f31d4e47",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/arithmetic_ops_f32.mlir"
    },
    {
      "type": "modify",
      "old_id": "63f6546c5055d4e0dace1ff41dd526ef3fd57867",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/arithmetic_ops_i64.mlir",
      "new_id": "a5bb597eec63d31f0ef0ab07df543b2f4d014293",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/arithmetic_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "32ce78c5e1253676ab29d8f2d7b8058341ae9cf5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/assignment_ops.mlir",
      "new_id": "2dc2274acba5e3602b4c52d00a5c9383191c86f2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/assignment_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "4d279e60fcbc3914140a19a25f4900b64e054f5d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/assignment_ops_f32.mlir",
      "new_id": "4c636987d8b6e320849c7218f11913d999a5e707",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/assignment_ops_f32.mlir"
    },
    {
      "type": "modify",
      "old_id": "ba1a5db74701c9fe8cf8543e2317b397738aefb7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/assignment_ops_i64.mlir",
      "new_id": "a1afb2704e07c13b413469fd7f497fb59b78237f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/assignment_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "0517fe0cc9d790b31440a58c28cdb5577c30ece5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops.mlir",
      "new_id": "33a7db896b96f01174fc7fcad2afd7933623c04a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "1ada44e712625e0d56c95f9182c4aa13776be4e7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops_f32.mlir",
      "new_id": "4b598acf3935e00568ad2abd8ca4a4fb6cbbad55",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops_f32.mlir"
    },
    {
      "type": "modify",
      "old_id": "697cc6693d0f1f824bf822ee6489aee24edb0ea7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops_f64.mlir",
      "new_id": "2184c8c2a0a5854805d35d723e15a3702ebfabde",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops_f64.mlir"
    },
    {
      "type": "modify",
      "old_id": "431dcede6971adda9a5e2281e1c5763d7471c4ef",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops_i64.mlir",
      "new_id": "394f414365242d2b68368bf3cc3a9d9668bddc8b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/buffer_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "244c37e656e81ca6fcc534fa5eff6759025b8352",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/comparison_ops.mlir",
      "new_id": "31c5ece6d2c2978b97cb40084e45a1dfc50ff3a6",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/comparison_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "27559358307390d747ca2df37eb6c32b44bca764",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/comparison_ops_f32.mlir",
      "new_id": "825fe8bf5ff2d35b56933ab05079fa66c1061f15",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/comparison_ops_f32.mlir"
    },
    {
      "type": "modify",
      "old_id": "357efcb9f9dffa3795b590dcc59561e036ab83a0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/comparison_ops_i64.mlir",
      "new_id": "dcf6ee3b06fdb2912bab0a4c461aad67d32c6c4c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/comparison_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "0a28e03036c9edfe01333ece10942ffa12195a9c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops.mlir",
      "new_id": "eaf8656620d3c9b7296722fccc6240e0e7ad9f40",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "8dcd455dc273bfce06f500e84389d92ccdb86d93",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops_f32.mlir",
      "new_id": "7622fd15f053697e7e2919c8278fd6044e0e3a2e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops_f32.mlir"
    },
    {
      "type": "modify",
      "old_id": "5b4ede3d2a93d4df616967e9355bd4ed28bbd89b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops_i64.mlir",
      "new_id": "f0c689bd27ea89abfd2a93bdd79614329f436b53",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/const_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "fb58ef9d65a761d5ef22f2c4094603da662eecdc",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/control_flow_ops.mlir",
      "new_id": "2f4b938606e7292388d60af97fdfa90d9403c0d9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/control_flow_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "7c6409a629c8f3a423408e8a6ee9946e746f86b3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/conversion_ops.mlir",
      "new_id": "871cb09cb8d4f35b2ef69b058e21e461442917c3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/conversion_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "e4bea00bd4dc7ee668e75a24aaa199e4f1c5abc0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/conversion_ops_f32.mlir",
      "new_id": "2c1c11eceaf572ea3d1b702f79979273819538c2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/conversion_ops_f32.mlir"
    },
    {
      "type": "modify",
      "old_id": "b4c1ed1cf0235c399007ed96f16a70ae603d7fc2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/conversion_ops_i64.mlir",
      "new_id": "6d17f592cabe13b63b5bfc42087a0edb6fbbe17f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/conversion_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "47a06db32006691de663690c36b96e168e7c1dc3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/func_op.mlir",
      "new_id": "8529504533d66df604e1eefde2e8e3199a952d1b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/func_op.mlir"
    },
    {
      "type": "modify",
      "old_id": "3dc77e0fd7a7ef8eaeaaad3e3599633844d86cdb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/global_ops.mlir",
      "new_id": "2bc89b739544ffbc5fd31e5225d3144069e62b8a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/global_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "5a0b6cca9669b8a79cc917a58c8a41349e06bab6",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/global_ops_f32.mlir",
      "new_id": "cdfef0dfe677d3214b1de766529fae531d3af0a2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/global_ops_f32.mlir"
    },
    {
      "type": "modify",
      "old_id": "49ada1ded600a761a425d014d61d988cd7a0c750",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/global_ops_i64.mlir",
      "new_id": "16b6199bb2a5dc29d49b386a75cdfd0ede4fac4d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/global_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "07f34400f74bbce2d02033438457f0249e7449ea",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/list_ops.mlir",
      "new_id": "92526fd6656197b1c2ba46f6c80f310df2823ca3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/list_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "2dc4997f37248f5023d11659acef90b0b1609a40",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/list_ops_i64.mlir",
      "new_id": "37847f575c97d6d33bff5df9abe795bdf31e455b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/list_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "fb0c42d17234aae68edb48909a0820196e221505",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/shift_ops.mlir",
      "new_id": "ae54f6e72855669579120378b98c9364e43f778f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/shift_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "ed130dc73f5e8a76bd9ab8797184de0ae95ab842",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/shift_ops_i64.mlir",
      "new_id": "75192f24dd2644cbbdf0ea9a79f39fff4c051362",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/shift_ops_i64.mlir"
    },
    {
      "type": "modify",
      "old_id": "d63b717f0f644c4cacdb2a5df421c635d2cead1a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/type_conversion.mlir",
      "new_id": "2329053c46724f104430eada489f32ce78cc196e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Conversion/VMToEmitC/test/type_conversion.mlir"
    },
    {
      "type": "modify",
      "old_id": "264974f76c060948bf8d0fa5286a06fe7a393018",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/BUILD.bazel",
      "new_id": "071ff09ccc0013ce00f74b480999dcf1c231a3aa",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "98dd7344ed0fdcb8a35217c63d4102639a57c549",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/CMakeLists.txt",
      "new_id": "695de19541ac335da12dbe2da7b0b8589e7b8f6a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "0617e807a6e9e3ad88bea1d601083ba2a609dc51",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/CModuleTarget.cpp",
      "new_id": "1f01cd0903529a99f7a582093acedc9aa04e73a5",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/CModuleTarget.cpp"
    },
    {
      "type": "delete",
      "old_id": "a5163c2145909234b3bfa51107f8e2b32cc4db27",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/TranslateToCpp.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "d70a583941b84ea22d19be7e0206973cdbba7bdc",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/add.mlir",
      "new_id": "20aa59459782080f8a17b5ab03e2f15b07862f8a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/add.mlir"
    },
    {
      "type": "modify",
      "old_id": "54881dabb977d224a1e1a3275bc26d89d29f9557",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/calling_convention.mlir",
      "new_id": "d8e8861e6527d8bedd478327170cfb2b3a4170cf",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/calling_convention.mlir"
    },
    {
      "type": "modify",
      "old_id": "f79cf0c2bf34cda228cef8f02e6cc147b89f784e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/constant_ops.mlir",
      "new_id": "3f58fe8b99d5c69032eb4803cdfa96601fe94666",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/constant_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "3e76198721b405d6b3c93ebe0ff296b1d72e2647",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/control_flow.mlir",
      "new_id": "c00e50db5444d9c008fa3bebe5b9aafaad5afd47",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/control_flow.mlir"
    },
    {
      "type": "modify",
      "old_id": "ddb731d4510381c73f84ab0cd3f1b8bc0f29cd8f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/global_ops.mlir",
      "new_id": "fd5674134c94dc7e5a0add8e6f8ff2f028dc6318",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/VM/Target/C/test/global_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "4ae8c8e109a4bd76f121dc622b248c2acd0285e3",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/ops_emitc.h",
      "new_id": "1bacdddcf77215f336bed9511878fa4d34c71dcb",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/ops_emitc.h"
    }
  ]
}
