)]}'
{
  "commit": "5949f4596ea0f01c8072713c0a082b0e09c459cc",
  "tree": "25349286e70e0fd6e0c58390df9e227ed407faf5",
  "parents": [
    "0d05e55f69426c38f42f911a11ac540896577e06"
  ],
  "author": {
    "name": "Jaden Angella",
    "email": "ajaden@google.com",
    "time": "Mon Jul 28 18:48:26 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 28 18:48:26 2025 -0700"
  },
  "message": "[mlir][EmitC]Expand the MemRefToEmitC pass - Lowering `AllocOp` (#148257)\n\nThis aims to lower `memref.alloc` to `emitc.call_opaque “malloc” ` or\n`emitc.call_opaque “aligned_alloc” `\nFrom:\n```\nmodule{\n  func.func @allocating() {\n  %alloc_5 \u003d memref.alloc() : memref\u003c999xi32\u003e\n  return\n  }\n}\n```\n\nTo:\n```\nmodule {\n  emitc.include \u003c\"stdlib.h\"\u003e\n  func.func @allocating() {\n    %0 \u003d emitc.call_opaque \"sizeof\"() {args \u003d [i32]} : () -\u003e !emitc.size_t\n    %1 \u003d \"emitc.constant\"() \u003c{value \u003d 999 : index}\u003e : () -\u003e index\n    %2 \u003d emitc.mul %0, %1 : (!emitc.size_t, index) -\u003e !emitc.size_t\n    %3 \u003d emitc.call_opaque \"malloc\"(%2) : (!emitc.size_t) -\u003e !emitc.ptr\u003c!emitc.opaque\u003c\"void\"\u003e\u003e\n    %4 \u003d emitc.cast %3 : !emitc.ptr\u003c!emitc.opaque\u003c\"void\"\u003e\u003e to !emitc.ptr\u003ci32\u003e\n    return\n  }\n}\n```\nWhich is then translated as:\n```\n#include \u003cstdlib.h\u003e\nvoid allocating() {\n  size_t v1 \u003d sizeof(int32_t);\n  size_t v2 \u003d 999;\n  size_t v3 \u003d v1 * v2;\n  void* v4 \u003d malloc(v3);\n  int32_t* v5 \u003d (int32_t*) v4;\n  return;\n}\n```",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e2288f518dae1ad8033f2729c196989c4870b135",
      "old_mode": 33188,
      "old_path": "mlir/docs/Dialects/emitc.md",
      "new_id": "6d09e93b895a984788160222a8f76594deb15ec2",
      "new_mode": 33188,
      "new_path": "mlir/docs/Dialects/emitc.md"
    },
    {
      "type": "modify",
      "old_id": "364a70ce6469b83254fab7167365441909745d47",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h",
      "new_id": "b595b6a308bea9b0d8c76f12d89636313d12afcb",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h"
    },
    {
      "type": "modify",
      "old_id": "eb18160ea2eebc80280ad9e67927162e59dd018c",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Conversion/Passes.td",
      "new_id": "cf7596cc8a92883bc3df66518600d83c043ab10c",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Conversion/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "e882845d9d99a97eb3a878bd19900084021deec0",
      "old_mode": 33188,
      "old_path": "mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp",
      "new_id": "6bd0e2d4d4b086128974e9d837e93a2e6ab02109",
      "new_mode": 33188,
      "new_path": "mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp"
    },
    {
      "type": "modify",
      "old_id": "cf25c09a2c2f37f85bbde7eb2da250fa265ec63c",
      "old_mode": 33188,
      "old_path": "mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp",
      "new_id": "e78dd76d6e256a2055ce2a0e4b07dc4325353e98",
      "new_mode": 33188,
      "new_path": "mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e391a893bc44acc621faa28c14341bcaa840fb36",
      "new_mode": 33188,
      "new_path": "mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc.mlir"
    }
  ]
}
