)]}'
{
  "log": [
    {
      "commit": "4964ebe26335822fde24682f154eeb3c8f6e73a6",
      "tree": "e81660a773400ddec7455ae01d13a40858cbc43c",
      "parents": [
        "fe8484e4d3da5a4628ea59a66ed2d2e9664b96a1"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sun Jul 26 12:03:53 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 26 12:03:53 2026 -0500"
      },
      "message": "GCP cache julia action if on relevant machine (#3006)\n\n* GCP cache julia action if on relevant machine\n\n* Update enzyme-julia.yml\n\n* Fix indentation in enzyme-julia.yml\n\n* Update enzyme-julia.yml\n\n* Update cache action version in workflow"
    },
    {
      "commit": "fe8484e4d3da5a4628ea59a66ed2d2e9664b96a1",
      "tree": "e0a54e34eca7013229ae05b90567ed2031469be5",
      "parents": [
        "89a43ef9c3decfc1c0c26fb7af33d510444eb097"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jul 25 23:17:14 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 23:17:14 2026 -0500"
      },
      "message": "Mark profile counter as integral (#3000)"
    },
    {
      "commit": "89a43ef9c3decfc1c0c26fb7af33d510444eb097",
      "tree": "14a1e6b244f4bd4ccc2b2530a6b6bac548d6696c",
      "parents": [
        "6449825dcb25d12d7d44ac1f72290f975dc80325"
      ],
      "author": {
        "name": "Pierre Walker",
        "email": "51711288+pw0908@users.noreply.github.com",
        "time": "Sat Jul 25 10:06:24 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 12:06:24 2026 -0500"
      },
      "message": "Add AIR compatibility (#2934)\n\n* Add AIR compatibility\n\n* Fix air-atan2 test\n\n* Fix clang error\n\n* Add metal to list of uses\n\n* Add utility function to identify GPU architecture\n\n* Fix make issue.\n\n* Logic fix\n\n* Fix build error"
    },
    {
      "commit": "6449825dcb25d12d7d44ac1f72290f975dc80325",
      "tree": "59507ef27fe4da627ae0c38e7db3ec091a47d88b",
      "parents": [
        "2149a476e7134d3115b8bc555d68f8fd631dfafb"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jul 25 11:47:11 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 25 11:47:11 2026 -0500"
      },
      "message": "Disable enzyme lit test ci for macos debug (#2997)\n\nwe test in release and have limited macos jobs"
    },
    {
      "commit": "2149a476e7134d3115b8bc555d68f8fd631dfafb",
      "tree": "5f439f875557e6dce5e2a29f33b21ac020a6e50d",
      "parents": [
        "ec99c5686080b4b2ef6299ee18640eb501539963"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Thu Jul 23 18:16:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 17:16:33 2026 -0500"
      },
      "message": "mlir: support non-index IVs in loops (#2993)"
    },
    {
      "commit": "ec99c5686080b4b2ef6299ee18640eb501539963",
      "tree": "88d6f7b11f1eefba6b2e8f045bd250a07b5cbe3c",
      "parents": [
        "ff7e39b8ad95ae535b817b8388f96acccfa97ca6"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Thu Jul 23 16:31:04 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 16:31:04 2026 -0500"
      },
      "message": "Mark custream capture as inactive (#2992)"
    },
    {
      "commit": "ff7e39b8ad95ae535b817b8388f96acccfa97ca6",
      "tree": "76ce4a74fd50a8e26839f2fc91528cc5cf70eb79",
      "parents": [
        "d2c1869e0dcbbf9536e2c4268f1da2c6adf19f04"
      ],
      "author": {
        "name": "Valentin Churavy",
        "email": "v.churavy@gmail.com",
        "time": "Thu Jul 23 19:49:19 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 23 17:49:19 2026 +0000"
      },
      "message": "[MLIR] Split registerCoreDialectAutodiffInterfaces into its own TU; trim pass deps (#2988)\n\n* Split registerCoreDialectAutodiffInterfaces into its own TU; trim pass deps\n\nTwo dialect-agnostic, non-Fortran registration changes, factored out so they can\nland independently of the FIR/HLFIR autodiff work that motivated them.\n\n  * Move registerCoreDialectAutodiffInterfaces (the aggregate that force-links\n    every core-dialect autodiff model, Linalg/NVVM included) out of\n    CoreDialectsAutoDiffImplementations.cpp into a dedicated translation unit,\n    CoreDialectsAutoDiffRegistration.cpp. That old TU also defines the\n    memory-identity handler the FIR/HLFIR models depend on, so anything linking\n    those models used to drag in the whole aggregate. Isolating it lets a\n    consumer that only wants a subset of dialects (e.g. a lean `flang -fc1`\n    plugin that must not pull in Linalg symbols flang does not export) link the\n    individual register*DialectAutoDiffInterface entry points and never reference\n    the aggregate TU.\n\n  * Drop the stale linalg and tensor entries from the `enzyme` / `enzyme-wrap`\n    pass dependentDialects. Neither pass creates linalg ops; tensor is only\n    needed for vector-mode concat and every in-tree tool registers it itself.\n    These were the last undefined dialect symbols that blocked dlopen\u0027ing the\n    plugin against a host that does not export Linalg/Tensor TypeIDs.\n\nNo behavior change for the existing tools (enzymemlir-opt still calls the\naggregate). Full MLIR suite green except the 2 pre-existing LLVM-24 failures\n(complex_create_im, affine_parallel_mincut).\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nClaude-Session: https://claude.ai/code/session_01BkvJByk8nTti2GiF4RudNG\n\n* Address #2988 review: keep tensor pass dep; drop NOTE comment\n\n- Restore tensor::TensorDialect in the `enzyme` pass dependentDialects\n  (Passes.td) and the DifferentiatePass registry.insert override\n  (EnzymeMLIRPass.cpp). The pass batches scalar ops into tensors by\n  default (ArithConstantOpBatchInterface), so tensor must be loaded.\n  Only the stale linalg entry is dropped.\n- Remove the explanatory NOTE comment left where\n  registerCoreDialectAutodiffInterfaces used to live.\n- Add trailing newline to CoreDialectsAutoDiffRegistration.cpp.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n* apply clang-format\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n---------\n\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "d2c1869e0dcbbf9536e2c4268f1da2c6adf19f04",
      "tree": "6e123316fd41f8515806c2047ef9c47c245544a8",
      "parents": [
        "a9975371a5e8b3f509df8ffdabe7494eb979b72c"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Thu Jul 23 00:10:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 23:10:05 2026 -0500"
      },
      "message": "mlir: upstream interface implementations (#2983)\n\n* Upstream interface implementations\n\n* fix\n\n* fmt\n\n* continue\n\n* fix fmt\n\n---------\n\nCo-authored-by: Billy Moses \u003cwmoses@google.com\u003e\nCo-authored-by: William Moses \u003cgh@wsmoses.com\u003e"
    },
    {
      "commit": "a9975371a5e8b3f509df8ffdabe7494eb979b72c",
      "tree": "1d7c3c8f781313ef44684dff1ae0b93b37597daa",
      "parents": [
        "018d9990fee51167d8a5ad78e853db4f0a69ff01"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 23:27:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 22:27:20 2026 -0500"
      },
      "message": "[mlir] Support multi-dim dynamic memref caches (#2982)\n\n* [mlir] Support multi-dim dynamic memref caches\n\n* update tests\n* incorporate MultidimensionalAllocInterface\n\n* fix\n\n* fix2\n\n* fix bug with index calculation, add test\n\n---------\n\nCo-authored-by: William S. Moses \u003cgh@wsmoses.com\u003e"
    },
    {
      "commit": "018d9990fee51167d8a5ad78e853db4f0a69ff01",
      "tree": "3ee9224c534f04ddfdc9b7d18ad452bd17d0639f",
      "parents": [
        "d072970413099369cb805243bc44d03e560a4e0d"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 22 20:20:32 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 20:20:32 2026 -0500"
      },
      "message": "Use gcp-cache for MLIR build cache (#2981)\n\n* Use gcp-cache for MLIR build cache\n\n* Use gcp-cache in MLIR and Rust CI with trailing slash prefixes\n\n* Update enzyme-mlir.yml\n\n* Update enzyme-rust.yml"
    },
    {
      "commit": "d072970413099369cb805243bc44d03e560a4e0d",
      "tree": "96e5bac734ddca84d828d912572cf446b6278d22",
      "parents": [
        "5a54a4abba0cc4d2becf788d00b2835ae0e06bb5"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 19:53:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 18:53:17 2026 -0500"
      },
      "message": "mlir: support multi-dim gpu allocations in ForLikeEnzymeOpsRemover (#2980)\n\n* Support multi-dim gpu allocations in ForLikeEnzymeOpsRemover\n\n* fixup\n\n* Add test for multi-dim GPU allocation hoisting\n\n* Add gpu_hoist.mlir test for remove-unnecessary-enzyme-ops pass\n\n* Remove dealloc from forward loop in gpu_hoist.mlir\n\n* Apply clang-format fixes\n\n* Fix default memref alloc/dealloc fallbacks in RemovalUtils.h and update FileCheck order in gpu_hoist.mlir\n\n* Remove unused dynamicDims vector from pop handling in RemovalUtils.h\n\n* Fix subview inferRankReducedResultType source type and update gpu_hoist test\n\n* Remove outdated comment from RemovalUtils.h\n\n* Apply clang-format fix to inferRankReducedResultType call in RemovalUtils.h\n\n* Fix multiDim pop detection in RemovalUtils.h and CHECK-DAG in gpu_hoist.mlir\n\n* Fix space before open parenthesis in gpu.alloc FileCheck pattern in gpu_hoist.mlir\n\n* Add test.use to prevent DCE of second loop in gpu_hoist.mlir\n\n* Add --allow-unregistered-dialect flag to RUN line in gpu_hoist.mlir\n\n* Preserve memorySpace for pop side newType in RemovalUtils.h\n\n* Update FileCheck pattern for memref.dim in gpu_hoist.mlir\n\n---------\n\nCo-authored-by: Billy Moses \u003cwmoses@google.com\u003e"
    },
    {
      "commit": "5a54a4abba0cc4d2becf788d00b2835ae0e06bb5",
      "tree": "737c63ae62ceceeeefa302fcfe12b36e780a6985",
      "parents": [
        "7e553beeb27a4f87badb2cc166792ae88d2244a8"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 18:14:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 17:14:08 2026 -0500"
      },
      "message": "mlir: pass to split ifs with multi-results into separate ops (#2975)"
    },
    {
      "commit": "7e553beeb27a4f87badb2cc166792ae88d2244a8",
      "tree": "ff048b05e66affaa857bc04655c81894acd0d28c",
      "parents": [
        "ab7e324ebab25896abaffd041c7156bf316923f9"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 22 17:12:11 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 17:12:11 2026 -0500"
      },
      "message": "No more linalg dep for enzyme pass (now lowering to fill op) (#2976)"
    },
    {
      "commit": "ab7e324ebab25896abaffd041c7156bf316923f9",
      "tree": "74fd27f463b56134fed1181966b232178ad64dc4",
      "parents": [
        "50ab10555d2d98a9b0de04d06eda59771d30a02d"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 18:08:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 17:08:48 2026 -0500"
      },
      "message": "mlir: add atomic_add attribute to enzyme.autodiff and autodiff_region ops (#2974)\n\n* add atomicadd attribute to enzyme.autodiff and autodiff_region ops\n\n* fix\n\n---------\n\nCo-authored-by: William S. Moses \u003cgh@wsmoses.com\u003e"
    },
    {
      "commit": "50ab10555d2d98a9b0de04d06eda59771d30a02d",
      "tree": "eb1236b62850dfd92e367d9782430c4bb27d20e0",
      "parents": [
        "b419bc8c012782ca63bfa50698cb7ccedc581279"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 17:53:28 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 16:53:28 2026 -0500"
      },
      "message": "mlir: sink constants into autodiff_region when outlining (#2977)"
    },
    {
      "commit": "b419bc8c012782ca63bfa50698cb7ccedc581279",
      "tree": "2a40788905e90348ef25ee41dd1943375fae8c33",
      "parents": [
        "16716514dded67325e8a1b43f6d813a6c328604a"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 17:29:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 16:29:45 2026 -0500"
      },
      "message": "mlir: derivative for maxnumf, pointer handling for arith.select (#2971)\n\n* mlir: derivative for maxnumf, pointer handling for arith.select\n\n* fix\n\n* fix\n\n* tests\n\n* fix\n\n---------\n\nCo-authored-by: William S. Moses \u003cgh@wsmoses.com\u003e\nCo-authored-by: Billy Moses \u003cwmoses@google.com\u003e"
    },
    {
      "commit": "16716514dded67325e8a1b43f6d813a6c328604a",
      "tree": "b5cb9beef4d28a0e687b532d06b59efb61227b1c",
      "parents": [
        "0aa636e52ff483167e9867966991e73268458448"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 17:16:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 16:16:47 2026 -0500"
      },
      "message": "mlir: remove dependency on linalg with enzyme.fill_zero op (#2973)"
    },
    {
      "commit": "0aa636e52ff483167e9867966991e73268458448",
      "tree": "e04c717e0cf5198c2f1239b66f054b839ca5f33e",
      "parents": [
        "2c315534d7363754bd8c6e821b7153c2a80c1e56"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 17:04:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 16:04:52 2026 -0500"
      },
      "message": "mlir: llvm.select activity interface, zeroInPlace for llvm.alloca (#2972)\n\n* mlir: llvm.select activity interface, zeroInPlace for llvm.alloca\n\n* add test\n\n* fix\n\n* fmt\n\n* fill out array\n\n* fmt\n\n* fix\n\n---------\n\nCo-authored-by: Billy Moses \u003cwmoses@google.com\u003e\nCo-authored-by: William S. Moses \u003cgh@wsmoses.com\u003e"
    },
    {
      "commit": "2c315534d7363754bd8c6e821b7153c2a80c1e56",
      "tree": "46de1df50f44c8a18abef7d91a54a967cf0684d0",
      "parents": [
        "f19caab96ad8a0beb1020f91a148c4c39ee7f249"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 14:34:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 13:34:18 2026 -0500"
      },
      "message": "mlir: integrate dataflow activity analysis (#2970)\n\n* mlir: integrate dataflow activity analysis\n\n* move solver into logic\n\n---------\n\nCo-authored-by: William S. Moses \u003cgh@wsmoses.com\u003e"
    },
    {
      "commit": "f19caab96ad8a0beb1020f91a148c4c39ee7f249",
      "tree": "b4391017cd7d459106fd979900910b6d9211e0f9",
      "parents": [
        "eb4f9cfccf7a13ea6cc4e60150fe8caa7a2e6a8b"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Wed Jul 22 14:34:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 13:34:08 2026 -0500"
      },
      "message": "mlir: add enzyme.atomic_rmw op with ordering attribute (#2950)"
    },
    {
      "commit": "eb4f9cfccf7a13ea6cc4e60150fe8caa7a2e6a8b",
      "tree": "9c16946ff937d8167b110a37922eff97ed1ddbcb",
      "parents": [
        "53e195b4262f7b208fd6468b5d8f85101d8955a9"
      ],
      "author": {
        "name": "Valentin Churavy",
        "email": "v.churavy@gmail.com",
        "time": "Wed Jul 22 19:58:55 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 12:58:55 2026 -0500"
      },
      "message": "add link to fortran bindings (#2967)\n\n* add link to fortran bindings\n\n* Apply suggestion from @vchuravy"
    },
    {
      "commit": "53e195b4262f7b208fd6468b5d8f85101d8955a9",
      "tree": "2cead642f2f2421afe90cae5536f36c4873bc723",
      "parents": [
        "53358c5a344fb97e806306fcad5330c17fab030e"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jul 21 20:18:22 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 20:18:22 2026 -0500"
      },
      "message": "Use atomic for memcpy (#2964)\n\n* Use atomic for memcpy\n\n* fix\n\n* Update Utils.cpp\n\n* fmt"
    },
    {
      "commit": "53358c5a344fb97e806306fcad5330c17fab030e",
      "tree": "3eef5408d594fc3d2d1a1ad131eda2ed9fb257e7",
      "parents": [
        "5903f8f8877ab6aaf20884db2aa371ba34a24d72"
      ],
      "author": {
        "name": "Penelope Yong",
        "email": "penelopeysm@gmail.com",
        "time": "Wed Jul 22 01:41:55 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 22 00:41:55 2026 +0000"
      },
      "message": "Return log-densities + divergent transition info from `impulse.infer` (#2958)\n\n* Collect log-densities in infer()\n\n* Return sample divergence info as well\n\n* clang-format\n\n* Update tests"
    },
    {
      "commit": "5903f8f8877ab6aaf20884db2aa371ba34a24d72",
      "tree": "7758e2db7490e7f905761c40649934308d86f620",
      "parents": [
        "931412847208df9ad340044738d252d1ef2affa0"
      ],
      "author": {
        "name": "Valentin Churavy",
        "email": "v.churavy@gmail.com",
        "time": "Mon Jul 20 17:38:13 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 15:38:13 2026 +0000"
      },
      "message": "Add more ifx 2023 versions to CI (#2875)\n\n* Add many more ifx versions to CI\n\n* update the versions to match the package names\n\n* fixup! update the versions to match the package names\n\n* switch the axis of the matrix\n\n* Pin ifx 2023.1.0 to LLVM 15\n\nifx 2023.1.0\u0027s LTO linker still defaults to typed-pointer mode and\nrejects the opaque-pointer bitcode that opt 17 emits. Intel flipped\nthe default in 2023.2.x, so only 2023.0.0 and 2023.1.0 need the\nLLVM 15 pin.\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Apply suggestion from @vchuravy\n\n* Tweak LLVM versions for later IFX versions\n\n* Put list of ifx versions back in\n\n* Bump LLVM version for ifx 2026.0\n\n* Restrict to 2023 releases of IFX\n\n* Add note in Fortran bindings README\n\n* Tweak 2023.2 version\n\n* Drop ifx 2023.2\n\n* Print llvm version\n\n* Add 2023.2.4 back in\n\n* Enumerate llvm versions\n\n* Fix IFX CI (#2903)\n\n* Create separate jobs for flang and ifx\n* Fix IFX 2023.1.0 + LLVM 16: add %oflags substitution to preserve typed pointer IR\n\n* Add missing fortran requirement and drop loadFortran when not needed\n\n* Revert changes to test files\n\n---------\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Joe Wallwork \u003cjw2423@cam.ac.uk\u003e\nCo-authored-by: Joe Wallwork \u003c22053413+joewallwork@users.noreply.github.com\u003e"
    },
    {
      "commit": "931412847208df9ad340044738d252d1ef2affa0",
      "tree": "3fd6007aa756a3282bef1aaf442a88d701f7a780",
      "parents": [
        "1362bf158275878ea5a63ae943f95ea97892a775"
      ],
      "author": {
        "name": "Joe Wallwork",
        "email": "22053413+joewallwork@users.noreply.github.com",
        "time": "Mon Jul 20 13:00:17 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 12:00:17 2026 +0000"
      },
      "message": "Fix Flang CI (#2935)\n\n* Raise error if installs fail\n\n* Try -eo pipefail"
    },
    {
      "commit": "1362bf158275878ea5a63ae943f95ea97892a775",
      "tree": "2bcb62a3eb327db02e1ce06e177426c02b753690",
      "parents": [
        "d6a97f700b9638228439abe84f7c484bd919366c"
      ],
      "author": {
        "name": "Paul Berg",
        "email": "naydex.mc+github@gmail.com",
        "time": "Mon Jul 20 08:49:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 08:49:36 2026 +0200"
      },
      "message": "Support binomial (Revolve) checkpointing for scf.for (#2943)"
    },
    {
      "commit": "d6a97f700b9638228439abe84f7c484bd919366c",
      "tree": "cfe0a4bc0aa36003833a7f2943c2a113e87261ea",
      "parents": [
        "131e53fdffb9e14ced203e6f6df0bd85777546fa"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sun Jul 19 20:41:59 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 20:41:59 2026 -0500"
      },
      "message": "Fix iteration through insert value types (#2960)\n\n* Fix iteration through insert value types\n\n* fix\n\n* fix"
    },
    {
      "commit": "131e53fdffb9e14ced203e6f6df0bd85777546fa",
      "tree": "a79c45ad87515bae9dec9811aef95b20667c2f93",
      "parents": [
        "5d67d542cca780ec66e2ac92f3251164711b5498"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sun Jul 19 11:31:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 19 10:31:17 2026 -0500"
      },
      "message": "Fix insertvalue type metadata bounds check (#2959)"
    },
    {
      "commit": "5d67d542cca780ec66e2ac92f3251164711b5498",
      "tree": "44cf6614042486ba4de6735de94367330b448053",
      "parents": [
        "77c8dbc78040f1f5cde3635f215cc885d32fd511"
      ],
      "author": {
        "name": "Zachary Whitley",
        "email": "zachary.whitley@gmail.com",
        "time": "Sat Jul 18 21:05:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 20:05:12 2026 -0500"
      },
      "message": "Utils: use target IntPtrType for CreateAllocation\u0027s malloc size arg (#2945)\n\n* Utils: cast oversized Count to IntPtrType before CreateMalloc\n\n* Address review: CreateTrunc + wasm32 regression test\n\nTwo follow-ups on the malloc-size fix, per @wsmoses:\n\n1. `CreateZExtOrTrunc` -\u003e `CreateTrunc`. The guard above only enters the\n   branch when Count is *wider* than IntPtrTy, so the zext leg was dead.\n   Trunc conveys intent directly and drops the impossible-branch cost.\n\n2. Regression test at\n   `enzyme/test/Enzyme/ReverseMode/wasm32_malloc_size.ll`. Reverse-mode\n   over a two-level accumulation (reduced from the MSE reproducer in\n   the PR description), targeting `wasm32-unknown-wasi`. The inner\n   accumulator\u0027s LCSSA lift into the outer loop forces per-outer-iter\n   tape caching, which is the CreateAllocation path we\u0027re gating. The\n   test asserts:\n\n   * a `trunc i64 ... to i32` is emitted (the cast this patch adds),\n   * every Enzyme-emitted `@malloc(...)` cache call takes an i32 size,\n   * NO `@malloc(i64 ...)` slips through (the failure mode the trap\n     reports as `signature_mismatch:malloc` under wasmtime),\n   * the malloc declaration is `declare ... @malloc(i32)`.\n\n   Verified locally against LLVM 22 with the LLVMEnzyme-22 plugin\n   built against this branch. On 64-bit hosts the CHECK-NOT wouldn\u0027t\n   catch anything (existing tests still emit `@malloc(i64 ...)`), so\n   the wasm32 triple is load-bearing."
    },
    {
      "commit": "77c8dbc78040f1f5cde3635f215cc885d32fd511",
      "tree": "bc151aa7bbd07d039122276f1e3eadd1256f6fcf",
      "parents": [
        "862d040cfa45f58f6f53d6383750c2177c5a87cb"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jul 18 20:18:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 19:18:21 2026 -0500"
      },
      "message": "Add sret undef crash (#2956)\n\n* Add sret undef crash\n\n* Update sret_undef_crash.ll\n\n* fix\n\n* Fix store into sret null\n\n* fix\n\n* fmt\n\n* tmp fix\n\n* no fwd nowrite\n\n* fix\n\n* fix\n\n* fix\n\n* fix"
    },
    {
      "commit": "862d040cfa45f58f6f53d6383750c2177c5a87cb",
      "tree": "1d686e4f5b3c33f4b4e741d29d51bef0f927f784",
      "parents": [
        "05ca762d3f025ab5dc879eded800976611636e16"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jul 18 16:46:28 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 15:46:28 2026 -0500"
      },
      "message": "Support enzyme_truetype for insertvalue (#2957)\n\n* Support enzyme_truetype for insertvalue\n\n* fmt"
    },
    {
      "commit": "05ca762d3f025ab5dc879eded800976611636e16",
      "tree": "2bdb5c4503a7390c1dbe9c2dd6f01c1803600dc0",
      "parents": [
        "6882b799d5aac80c5da7a4ef4e1b199e49509508"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vimarsh.sathia@gmail.com",
        "time": "Fri Jul 17 23:43:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 18 03:43:08 2026 +0000"
      },
      "message": "Bazel upgrades and fixes (#2946)\n\n- Updated Bazel to 8.7.0\n- Moved core dependencies to MODULE.bazel\n- Moved hedron to `third_party`, downstream deps can reuse it now"
    },
    {
      "commit": "6882b799d5aac80c5da7a4ef4e1b199e49509508",
      "tree": "c87d47fe15fd440cae47eaefda8b57ecbbfd48c9",
      "parents": [
        "f2f3ccb34f11a1adb2318dbc1a6436f7d9fd3bf1"
      ],
      "author": {
        "name": "Nikita Popov",
        "email": "github@npopov.com",
        "time": "Fri Jul 17 04:01:04 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 21:01:04 2026 -0500"
      },
      "message": "Fix compatibility with LLVM 23 (#2951)"
    },
    {
      "commit": "f2f3ccb34f11a1adb2318dbc1a6436f7d9fd3bf1",
      "tree": "5999cff4768a14c3920ec87431f340f69e6fe276",
      "parents": [
        "b38484e3ddcb5eb843c5a349e1e8c33a41441aa8"
      ],
      "author": {
        "name": "Julian Andrej",
        "email": "5412886+jandrej@users.noreply.github.com",
        "time": "Thu Jul 16 12:27:49 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 15:27:49 2026 -0400"
      },
      "message": "added option to use a file for inactive functions (#2948)"
    },
    {
      "commit": "b38484e3ddcb5eb843c5a349e1e8c33a41441aa8",
      "tree": "47a07cc7f2f1ed6d76f8dd59141c5afaade8ca47",
      "parents": [
        "5189d192726538bde27eb7140f5f1c42ee0fbb11"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 15 23:30:40 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 22:30:40 2026 -0500"
      },
      "message": "Consider local allocation and shadow malloc/free behavior (#2949)\n\n* Consider local allocation and shadow malloc/free behavior\n\n* fix\n\n* fmt\n\n* Add test\n\n* fixup\n\n* op"
    },
    {
      "commit": "5189d192726538bde27eb7140f5f1c42ee0fbb11",
      "tree": "36a7c7fb9ebc8a0ac18586c569acb8be1b7e3a33",
      "parents": [
        "cd3e577d132f8161d8a0d2b88ca23b96532da2af"
      ],
      "author": {
        "name": "William S. Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 15 21:21:02 2026 -0500"
      },
      "committer": {
        "name": "William S. Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 15 21:21:02 2026 -0500"
      },
      "message": "fix fmt\n"
    },
    {
      "commit": "cd3e577d132f8161d8a0d2b88ca23b96532da2af",
      "tree": "6cbc514fd1a47a17a1aac2b2a80630a9a15ca7cf",
      "parents": [
        "3c65e661f643c1594e293e1e796e577beb18dd32"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 15 14:10:53 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 13:10:53 2026 -0500"
      },
      "message": "Remove mistaken constant type or (#2947)\n\n* Remove mistaken constant type or\n\n* Fix ConstantDataSequential type poisoning and refine MixedActivityError check for constant aggregates with pointers"
    },
    {
      "commit": "3c65e661f643c1594e293e1e796e577beb18dd32",
      "tree": "3e4c094d34e90335c20d6145b9e0c21fc7183102",
      "parents": [
        "2fe294ed482a955dd570547812e791edc789dfda"
      ],
      "author": {
        "name": "William S. Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 15 10:29:42 2026 -0500"
      },
      "committer": {
        "name": "William S. Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 15 10:29:42 2026 -0500"
      },
      "message": "Fix format\n"
    },
    {
      "commit": "2fe294ed482a955dd570547812e791edc789dfda",
      "tree": "f5838764976581590323855b79c11171ab706e0b",
      "parents": [
        "7be5247eb207215f04a1d8e3150d6a7394b7a85d"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vimarsh.sathia@gmail.com",
        "time": "Tue Jul 14 18:29:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 18:29:23 2026 -0400"
      },
      "message": "Fix indexing bug in EnzymeBatchDiffPass (#2944)\n\nThe op\u0027s index was being used to index into primal inputs"
    },
    {
      "commit": "7be5247eb207215f04a1d8e3150d6a7394b7a85d",
      "tree": "b5554f87d992c817f82afed09fb3cd5c4ac1ef83",
      "parents": [
        "93668c4497e32d81b81bbe3df6dcb1fae192eb42"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jul 13 18:26:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 18:26:07 2026 -0400"
      },
      "message": "LLVM integration (#2942)"
    },
    {
      "commit": "93668c4497e32d81b81bbe3df6dcb1fae192eb42",
      "tree": "f89945a5a08cc9f571437925a0699a4fadbda294",
      "parents": [
        "8137b8347040b1c824802b4defcfb99defcb1741"
      ],
      "author": {
        "name": "Jared Frazier",
        "email": "72281389+jfdev001@users.noreply.github.com",
        "time": "Tue Jul 14 00:22:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 18:22:36 2026 -0400"
      },
      "message": "chore: remove unused intel oneapi MPI install (#2941)"
    },
    {
      "commit": "8137b8347040b1c824802b4defcfb99defcb1741",
      "tree": "40f790168d55e3eea88954c80955913d465d0e48",
      "parents": [
        "e181366ce7fcd798ac4e04fcc87bf716eb9b5f95"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jul 13 16:40:10 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 13 16:40:10 2026 -0500"
      },
      "message": "Add missing operator overloads to EnzymeLogic.cpp"
    },
    {
      "commit": "e181366ce7fcd798ac4e04fcc87bf716eb9b5f95",
      "tree": "677339df74d8e56197664485b0b2b69d9c800658",
      "parents": [
        "32722e135d5fced4734d6b2129bfc13e3eba4605"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jul 11 15:16:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 14:16:49 2026 -0500"
      },
      "message": "Fix activity analysis on int store (#2938)\n\n* Fix activity analysis on int store\n\n* fix\n\n* Fix TypeResults::query assertion when analyzing global variable users in other functions\n\n* opq\n\n* fix\n\n* Format ActivityAnalysis.cpp using clang-format"
    },
    {
      "commit": "32722e135d5fced4734d6b2129bfc13e3eba4605",
      "tree": "bd3517fd58bedb5b3a6ed54de639bdfe4f4f50fa",
      "parents": [
        "04b80f673d801e7632f6569645277080d8e71f0a"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jul 11 15:15:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 11 14:15:55 2026 -0500"
      },
      "message": "32-bit zero loop iteration (#2939)\n\n* 32-bit zero loop iteration\n\n* fix\n\n* fix\n\n* fix\n\n* fix"
    },
    {
      "commit": "04b80f673d801e7632f6569645277080d8e71f0a",
      "tree": "21a14f908ef2c9a4711ebd09eebf2ecdf564c370",
      "parents": [
        "d43c9e3851778f98628b700d96e9890362f3bfba"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Fri Jul 10 14:43:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 13:43:12 2026 -0500"
      },
      "message": "LCSSA ficticious phi (#2937)\n\n* LCSSA ficticious phi\n\n* Update lcssa-fictitious-phi.ll\n\n* fix\n\n* Convert loopy reduction preheader helpers to non-lambda functions for easier debugging"
    },
    {
      "commit": "d43c9e3851778f98628b700d96e9890362f3bfba",
      "tree": "a6f2ef28cb2f76e7621cb27815b2df441dd7123f",
      "parents": [
        "d7dd2e064b27511f10869d57201929b976756c9a"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Thu Jul 09 16:40:51 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 15:40:51 2026 -0500"
      },
      "message": "Add failing pointer alignment lit test (#2936)\n\n* Add failing pointer alignment lit test\n\n* Fix and against constant pointer"
    },
    {
      "commit": "d7dd2e064b27511f10869d57201929b976756c9a",
      "tree": "97ebf6fa4dd432da08b2c15f54064224e5c18865",
      "parents": [
        "36837cd9e587034b22c89be0235c9e909b5249dc"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jul 08 18:07:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 17:07:20 2026 -0500"
      },
      "message": "More jlinstsimplify alias compare fixes (#2932)\n\n* More jlinstsimplify alias compare fixes\n\n* fix\n\n* op"
    },
    {
      "commit": "36837cd9e587034b22c89be0235c9e909b5249dc",
      "tree": "8abdac52c59809b9f8ac5a8264fed60148da2107",
      "parents": [
        "1eb6dbd0fa0f11500d721c971a803700e910d935"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jul 07 16:52:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 15:52:15 2026 -0500"
      },
      "message": "Use better illegal type analysis error for constants (#2926)"
    },
    {
      "commit": "1eb6dbd0fa0f11500d721c971a803700e910d935",
      "tree": "9562441dd7599d7ce1b5ecca89e04793c3307039",
      "parents": [
        "b4b8c3984ce99c659481d9babfca6f0ced5f917b"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vimarsh.sathia@gmail.com",
        "time": "Mon Jul 06 14:45:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 18:45:49 2026 +0000"
      },
      "message": "Remove typo in filename (#2923)"
    },
    {
      "commit": "b4b8c3984ce99c659481d9babfca6f0ced5f917b",
      "tree": "d22f0f98ac4aa47fdf1c9bc216ba0eb02d61b783",
      "parents": [
        "3db6c0b4abc57617227ee381c9b93f29350b1120"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jul 06 11:22:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 10:22:54 2026 -0500"
      },
      "message": "Multityped forward store (#2921)\n\n* Multityped forward store\n\n* Add lit test for multi-typed forward mode store of constant value\n\n* clang-format\n\n* Update CHECK lines in multistore_const.ll"
    },
    {
      "commit": "3db6c0b4abc57617227ee381c9b93f29350b1120",
      "tree": "da41cf343f7fbc6ee1a7c9543652eb285830adeb",
      "parents": [
        "c61e01160f12143bdbc888e0bb810015c6e6bc1c"
      ],
      "author": {
        "name": "Joe Wallwork",
        "email": "22053413+joewallwork@users.noreply.github.com",
        "time": "Mon Jul 06 09:15:24 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 08:15:24 2026 +0000"
      },
      "message": "Add variant of square test with activity descriptor (#2917)"
    },
    {
      "commit": "c61e01160f12143bdbc888e0bb810015c6e6bc1c",
      "tree": "b3971f53b04a6789e1c1bde985d52b0d27b2fbf6",
      "parents": [
        "189b5384be680c4c7ba7a727bd8ca400d1aea7c6"
      ],
      "author": {
        "name": "Valentin Churavy",
        "email": "v.churavy@gmail.com",
        "time": "Mon Jul 06 06:42:36 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 05 23:42:36 2026 -0500"
      },
      "message": "Fix unsound icmp fold for loads from fresh allocations in jl-inst-simplify (#2919)\n\n* Fix unsound icmp fold for loads from fresh allocations in jl-inst-simplify\n\narePointersGuaranteedNoAlias treated a pointer loaded from a fresh\nallocation as unequal to any other pointer, scanning for clobbering\nwrites only between the load and the compare. That interval is wrong:\nthe loaded SSA value is fixed at load time, and a store INTO the\nallocation before the load (e.g. julia lowering a captured, reassigned\nlocal into a Core.Box) makes the loaded value an arbitrary captured\npointer. jl-inst-simplify then folded `x !\u003d\u003d nothing` to true for\nx \u003d\u003d\u003d nothing whenever x round-tripped through a Core.Box, e.g. in\nEnzyme.jl\u0027s own lower_convention when compiled into a differentiated\nmodule via nested_codegen! of a custom rule (EnzymeAD/Enzyme.jl CUDA\n\"Reverse Kernel\" CI failure:\n  AssertionError: codegen_i\u003d2 \u003e length(codegen_types)\u003d1 ...).\n\nScan for clobbers between the allocation and the load instead: if\nnothing wrote to the loaded location in that interval, the loaded value\nis undef or an allocator-installed fresh pointer and the fold is legal;\notherwise bail. All existing JLSimplify tests produce identical output.\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n\n* Fixup\n\n* Update boxedroundtrip.ll\n\n* Add check for AllocaInst in isNoAlias function\n\n* fix\n\n* fix\n\n* fix\n\n* no cap test\n\n* w test\n\n* more\n\n* continue\n\n* continue\n\n* fixup\n\n* fmt\n\n* fix\n\n* Fmt\n\n---------\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: William S. Moses \u003cgh@wsmoses.com\u003e\nCo-authored-by: Billy Moses \u003cwmoses@google.com\u003e"
    },
    {
      "commit": "189b5384be680c4c7ba7a727bd8ca400d1aea7c6",
      "tree": "4b5b8032b07ed30553b71c68d86dbf27b07f8762",
      "parents": [
        "933dd0b4f22e1370e363a0bfa3107b6e594668bd"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sun Jul 05 19:46:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 05 19:46:55 2026 -0400"
      },
      "message": "Improve legal recompute internal error message (#2920)"
    },
    {
      "commit": "933dd0b4f22e1370e363a0bfa3107b6e594668bd",
      "tree": "85e87c83b414d60e9c7b9746e06bdd3920c3ae80",
      "parents": [
        "f5c6bc5c69edf4812d144f5c3fefa2488572a2e6"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vimarsh.sathia@gmail.com",
        "time": "Fri Jul 03 01:16:45 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 04:16:45 2026 -0400"
      },
      "message": "Activity analysis based optimization for reverse mode AD (#2918)"
    },
    {
      "commit": "f5c6bc5c69edf4812d144f5c3fefa2488572a2e6",
      "tree": "ce8a649bbb9bf05770de3b1bd1aa3791dffec550",
      "parents": [
        "ef60feb7e59d95b8efacb485a3a4463ad8b00ffa"
      ],
      "author": {
        "name": "Nicholson Koukpaizan",
        "email": "72402802+nkoukpaizan@users.noreply.github.com",
        "time": "Thu Jul 02 17:21:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 17:21:56 2026 -0400"
      },
      "message": "GridKit integration test (#2911)\n\n* GridKit integration test.\n\n* Add PWD to Enzyme path argument.\n\n* Fix GridKit commit.\n\n* Exclude gridkit+gpu.\n\n* Use https to clone GridKit.\n\n* Fix PWD.\n\n* Specify GridKit build type.\n\n* ls ENZYME_DIR and try searching in a directory abobve.\n\n* Better check for directory above.\n\n* Fix ENZYME_DIR passed to integration tests.\n\n* Back to using ENZYME_DIR directly for GridKit test.\n\n* Update GridKit submodules before building."
    },
    {
      "commit": "ef60feb7e59d95b8efacb485a3a4463ad8b00ffa",
      "tree": "72d6e53e81d6257a959e9642b6da2daae6f36f24",
      "parents": [
        "84f56fc1e69634fc0cf4969d70bd00d3cc2d76a2"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vimarsh.sathia@gmail.com",
        "time": "Thu Jul 02 14:54:55 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 14:54:55 2026 -0400"
      },
      "message": "Fwddiff op activity optimization (#2849)\n\nActivity optimization which requires running activity analysis"
    },
    {
      "commit": "84f56fc1e69634fc0cf4969d70bd00d3cc2d76a2",
      "tree": "ff70d631078617737fafbafd97d799009236f359",
      "parents": [
        "cc724cb2b8697c22a6a84332a1b74042d28f98b9"
      ],
      "author": {
        "name": "Acake",
        "email": "scharfrichterq@gmail.com",
        "time": "Wed Jul 01 19:23:28 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 00:23:28 2026 +0000"
      },
      "message": "fix (#2915)"
    },
    {
      "commit": "cc724cb2b8697c22a6a84332a1b74042d28f98b9",
      "tree": "f369812c3740664ed35e6aa966c808464ff6de81",
      "parents": [
        "d033ef5ef2f120607ddb4fc306e4914f3bda54d2"
      ],
      "author": {
        "name": "Paul Berg",
        "email": "naydex.mc+github@gmail.com",
        "time": "Wed Jul 01 12:08:45 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 01 10:08:45 2026 +0000"
      },
      "message": "Mark llvm exxt operation with alloc / free side effects (#2913)"
    },
    {
      "commit": "d033ef5ef2f120607ddb4fc306e4914f3bda54d2",
      "tree": "2e38b232c79c6413d397a37019fd08551f84bdeb",
      "parents": [
        "04864e12696e4ecef71dd10da078a54a7777b2fe"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jun 29 19:07:11 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 19:07:11 2026 -0500"
      },
      "message": "Add JLL cache configuration to .bazelrc"
    },
    {
      "commit": "04864e12696e4ecef71dd10da078a54a7777b2fe",
      "tree": "b69757652efff17c434efa9c4653e4c72385115e",
      "parents": [
        "8be2b505110e7e3053bb00ef02209ab256106bac"
      ],
      "author": {
        "name": "Sergio Sánchez Ramírez",
        "email": "mofeing@gmail.com",
        "time": "Mon Jun 29 20:03:08 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 18:03:08 2026 +0000"
      },
      "message": "update to recent LLVM/MLIR changes (#2907)\n\n* replace `RegionSuccessor::isParent` calls for `RegionSuccessor::isOperation`\n\n* change one more line\n\n* format\n\n* format with clang-format v16\n\n* replace `LLVM::LLVMTokenType` for `mlir::TokenType`\n\n* replace `std::complex\u003cAPFloat\u003e` with `mlir::Complex\u003cAPFloat\u003e`\n\n* update call to `RegionSuccessor::parent`\n\n* add LLVM version conditional code\n\n* bump llvm commit\n\n* Revert \"add LLVM version conditional code\"\n\nThis reverts commit d4c4f391839bd22fafb6fb7050eacd7d5fc5b464.\n\n* format\n\n* pull zlib-ng, zstd from Bazel registry\n\n* cast result of `IRBuilderBase::CreateIntrinsic` to `llvm::CallInst`\n\n* update call to `llvm::DebugLoc` constructor\n\n* fix bazel workflow\n\n* format\n\n* remove unused variable\n\n* force execute test on external shell\n\n* fix LLVM version conditional\n\n* Revert \"fix bazel workflow\"\n\nThis reverts commit 3791ab13f9d0af1933e2ee64b534fd3963de98bb."
    },
    {
      "commit": "8be2b505110e7e3053bb00ef02209ab256106bac",
      "tree": "f7537d995b670ee0c933ca4e5a4a6dda8ee14fea",
      "parents": [
        "6bba472ef2137a451a329ad3d206721799478435"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sun Jun 28 03:25:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 28 02:25:05 2026 -0500"
      },
      "message": "Fix allocation for zero-sized array (#2910)\n\n* Fix allocation for zero-sized array\n\n* Update tests to expect nsw instead of nuw for reconstructed loop limits\n\n* Update reverse pass checks to expect nsw instead of nuw\n\n* Update triangular.ll to expect nsw instead of nuw for iv.next"
    },
    {
      "commit": "6bba472ef2137a451a329ad3d206721799478435",
      "tree": "906fa939b96e49bfb96a7cb1a34aebcd483d14f2",
      "parents": [
        "8244d9cab6cf8ae77b1f2bc17580ed978bb2acc9"
      ],
      "author": {
        "name": "Valentin Churavy",
        "email": "v.churavy@gmail.com",
        "time": "Fri Jun 26 18:13:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 12:13:34 2026 -0400"
      },
      "message": "Handle gc-transition bundle from Julia v1.12 (#2906)\n\n* Handle gc-transition bundle from Julia v1.12\n\n* Treat gc-transition bundle equal to jl_roots\n\nUnify the gc-transition and jl_roots handling in getInvertedBundles and\nusedInRooting so gc-transition bundles preserve both primals and shadows,\nand hoist the loop-invariant primal/shadow computation out of the input\nloop.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n\n* simplify getInvertedBundles\n\n* simplify usedInRooting\n\n---------\n\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "8244d9cab6cf8ae77b1f2bc17580ed978bb2acc9",
      "tree": "64194ee06dbfe03a782dd9894136f12b2107b4e3",
      "parents": [
        "54e1ffb27a2317c609fce15fdfda50df63fc646e"
      ],
      "author": {
        "name": "June",
        "email": "kimjune01@gmail.com",
        "time": "Fri Jun 26 05:47:01 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 12:47:01 2026 +0000"
      },
      "message": "[MLIR] fix: complex.create reverse mode flips imaginary-operand gradient sign (#2899)\n\n* [MLIR] test: reverse-mode coverage for complex.create -\u003e complex.im\n\nf(t) \u003d im(create(0, t)) \u003d t is a smooth real identity, so df/dt must be +1.\nThe existing complex.mlir covers re/im standalone and create in the forward\nposition, but not the consumer path where create feeds im. Adds that case;\nasserts no arith.negf survives (im\u0027s adjoint negation cancels the Wirtinger\nconj wrap when the gradient is correct).\n\n* [MLIR] sharpen check: assert returned cotangent is +seed\n\nThe prior CHECK-NOT: arith.negf was a poor discriminator: im\u0027s adjoint\nlegitimately emits a negf even when correct. Assert the actual return is the\npositive seed (df/dt\u003d+1) so a failure pins the sign flip and dumps the return.\n\n* [MLIR] fix: complex.create reverse rule flips imaginary-operand gradient\n\nThe MLIR reverse wrap conjugates the incoming cotangent of every\ncomplex-result op (enzyme-tblgen.cpp, createConjOp on diffe). For holomorphic\nops this cancels against the per-contribution conj; for complex.create (R^2-\u003eC)\nit does not: the rule extracted ComplexIm(DiffeRet) \u003d Im(conj(z_bar)) \u003d -Im(z_bar),\nnegating the gradient flowing to the imaginary operand. So f(t) \u003d im(create(0,t))\n\u003d t differentiated to -1 instead of +1.\n\nNegate the imaginary-operand contribution to compensate, mirroring the existing\nNegF compensation in the ImOp rule. Only complex.create in primal position is\naffected (no existing lit test exercises it; complex.mlir uses create only in\nthe adjoint). Covered by complex_create_im.mlir.\n\n* [MLIR] fix test check to match canonicalized IR\n\nCI confirmed the fix flips the gradient to +seed, but canonicalize does not\nfold the corrected chain to \u0027return %arg1\u0027 (it leaves the negf/conj chain and\nreturns %8 \u003d +seed). Assert the fix\u0027s signature instead: a negf of the\ncomplex.im result. Without the fix, complex.im is the returned cotangent (-seed)\nwith no following negf, so this still discriminates the bug."
    },
    {
      "commit": "54e1ffb27a2317c609fce15fdfda50df63fc646e",
      "tree": "51f58f389cf8b9679bc31620a385ab3a2866d586",
      "parents": [
        "a8668c7ca3579c3304d628bca518bafc0fcc62d1"
      ],
      "author": {
        "name": "Joe Wallwork",
        "email": "22053413+joewallwork@users.noreply.github.com",
        "time": "Fri Jun 26 12:38:03 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 11:38:03 2026 +0000"
      },
      "message": "IFX bugfix (take 3) (#2905)\n\n* Skip second opt step; always require fortran; drop unnecessary loadFortran\n\n* Avoid module name collision\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "a8668c7ca3579c3304d628bca518bafc0fcc62d1",
      "tree": "976b527f455c2042d63d6f1ace303115ba4aec8f",
      "parents": [
        "cc298212ff6a1de679d5bd347eb1e9a068a634b7"
      ],
      "author": {
        "name": "sgasho",
        "email": "142221789+sgasho@users.noreply.github.com",
        "time": "Fri Jun 26 00:14:05 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 10:14:05 2026 -0500"
      },
      "message": "Fix tablegen path in cross builds (#2856)\n\n* Fix tablegen path in cross builds\n\n* fix Enzyme_TABLEGEN_EXE"
    },
    {
      "commit": "cc298212ff6a1de679d5bd347eb1e9a068a634b7",
      "tree": "24eb805cc9e49952a89c5758d7c0d069b45d4c7d",
      "parents": [
        "5a4245e1c4edb9e0ac6126f3438ee7a017295fe2"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Thu Jun 25 10:26:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 09:26:14 2026 -0500"
      },
      "message": "SimpleGVN: handle load load from call (#2901)\n\n* SimpleGVN: handle load load from call\n\n* fixup\n\n* SimpleGVN: restore hard continue in Step 6 and update no_noalias test expectations\n\n* SimpleGVN: add intervening call test cases for noalias vs non-noalias comparison\n\n* SimpleGVN: apply clang-format"
    },
    {
      "commit": "5a4245e1c4edb9e0ac6126f3438ee7a017295fe2",
      "tree": "43e7d00cc58df62bcd947665adfa37f115b08bbc",
      "parents": [
        "4ede0bd74228687d79d8cbb30454c26aa766d6ce"
      ],
      "author": {
        "name": "Julian Andrej",
        "email": "5412886+jandrej@users.noreply.github.com",
        "time": "Wed Jun 24 13:25:05 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 16:25:05 2026 -0400"
      },
      "message": "mfem integration testing (#2896)\n\n* mfem integration testing\n\n* missing ++\n\n* switch to nprocs\n\n* fixes\n\n* change metis dir\n\n* typo\n\n* try again\n\n* try again\n\n* and again\n\n* typo\n\n* typo\n\n* remove patch\n\n* Update integration.yml\n\n* Update integration test job name format\n\n* try gpu\n\n* again\n\n* add cuda dir\n\n* use CUDAToolkit_ROOT\n\n* list cuda\n\n* brute force\n\n* cuda check\n\n* test cuda install\n\n* ff\n\n* mh\n\n* guard cuda install\n\n* don\u0027t install runtime\n\n* oops\n\n---------\n\nCo-authored-by: William Moses \u003cgh@wsmoses.com\u003e"
    },
    {
      "commit": "4ede0bd74228687d79d8cbb30454c26aa766d6ce",
      "tree": "df8c93b66b60b2ea76760a6f0c46180958e4d8f0",
      "parents": [
        "6b1f9caba3e224f3d1fb7833b35222406b033174"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jun 23 19:16:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 18:16:59 2026 -0500"
      },
      "message": "Change intType/firstPointer error to nicer error handler (#2897)\n\n* Change intType/firstPointer error to nicer error handler\n\n* fix\n\n* fmt\n\n* further improve error\n\n* fmt\n\n* fix\n\n* context info\n\n* ctx"
    },
    {
      "commit": "6b1f9caba3e224f3d1fb7833b35222406b033174",
      "tree": "770613ac5d47de4d98598c06cf8e3adb7b55e8f0",
      "parents": [
        "a4f45c4f0aecd8de15ecade1dc3100e90b2755d0"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jun 23 11:22:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 10:22:59 2026 -0500"
      },
      "message": "Integration testing (#2895)\n\n* Integration testing\n\n* fix\n\n* fix\n\n* no julia\n\n* Add to curl\n\n* apt rep\n\n* Update integration.yml"
    },
    {
      "commit": "a4f45c4f0aecd8de15ecade1dc3100e90b2755d0",
      "tree": "f4e2d7c34bd8cb7061731600b21400998acda06f",
      "parents": [
        "898949b3f73771e9d43b7a7b83ebc93bff4091f5"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jun 22 17:39:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 16:39:14 2026 -0500"
      },
      "message": "Add custom undef store (#2894)\n\n* Add custom undef store\n\n* fix\n\n* fmt"
    },
    {
      "commit": "898949b3f73771e9d43b7a7b83ebc93bff4091f5",
      "tree": "128bd65797ab3b4f7d1cb772df6dc383a3866cec",
      "parents": [
        "e77d4f857a0dd92b0ac925ddee5532d46a36d8bc"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jun 22 13:50:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 12:50:23 2026 -0500"
      },
      "message": "Fix partial store (#2893)\n\n* Fix partial store\n\n* fix\n\n* restore partial accumulate fallback and print addingType\n\n* add names to allocas, GEPs, and loads\n\n* fixerr\n\n* fix\n\n* fmt\n\n* fix"
    },
    {
      "commit": "e77d4f857a0dd92b0ac925ddee5532d46a36d8bc",
      "tree": "ffda1a638f2fb0d21bcc14efb476d7a4c45bb3ed",
      "parents": [
        "52e9fe4dacfcb2bcd71f768354d82a2817c89361"
      ],
      "author": {
        "name": "Joe Wallwork",
        "email": "22053413+joewallwork@users.noreply.github.com",
        "time": "Mon Jun 22 16:48:55 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 15:48:55 2026 +0000"
      },
      "message": "Set up Flang CI (#2837)\n\n* Add enzyme_mod containing activity descriptor bindings\n\n* Hook Fortran bindings up in build system\n\n* Rename enzyme_mod-\u003eenzyme\n\n* Use implicit interface in square example\n\n* Add bindings for __enzyme_autodiff and __enzyme_fwddiff to the Fortran module\n\n* Use __enzyme_autodiff binding in square example\n\n* Prepend function hooks with f\n\n* Trigger Fortran CI on changes to enzyme/Fortran\n\n* Reorder to compile Fortran module before tests\n\n* Drop duplicate option\n\n* Build with ENZYME_FORTRAN\u003dON in CI\n\n* Only build Fortran tests if ENZYME_FORTRAN\n\n* Remove CMake commands not needed\n\n* Use enzyme.mod in Fortran square test\n\n* Add back in CMake from Fortran subdir\n\n* Drop unrelated editor changes\n\n* Fixes for root CMakeLists\n\n* Add messages for building Fortran bindings and tests\n\n* Move message into Fortran subdir\n\n* Make EnzymeFortran a shared object\n\n* Try putting module in modules dir\n\n* Introduce another module for function hooks to facilitate aliasing\n\n* Add EnzymeFortran to test dependencies\n\n* Apply suggestions from code review\n\nCo-authored-by: Valentin Churavy \u003cv.churavy@gmail.com\u003e\n\n* Set CMake Fortran compiler in test suite\n\n* Hook Fortran compiler up in test suite\n\n* Allow Fortran CI to run on PRs not merging into main\n\n* Add Flang CI with LLVM version 21\n\n* Add notes in tests\n\n* Add explicit interface case back in\n\n* Add variants of tests\n\n* Fix for allocatable array with bindings\n\n* Fix for forward mode version, too\n\n* Revert to f__enzyme_autodiff\n\n* Use f__enzyme_autodiff\n\n* Use f__enzyme_\u003cX\u003e in other tests\n\n* Try running all tests with ifx at -O1, -O2, -O3\n\n* Revert 57855fae9cb71c56bcf18383c6b92e009f2b522c\n\n* Disable -O0 test for now\n\n* Drop unnecessary semicolon\n\n* Add README for Fortran bindings\n\n* Revert function hook syntax\n\n* Convert TODO to NOTE\n\n* Introduce fortran feature to avoid querying llvmver in tests\n\n* Introduce ifx feature to allow further use of REQUIRES\n\n---------\n\nCo-authored-by: Valentin Churavy \u003cv.churavy@gmail.com\u003e"
    },
    {
      "commit": "52e9fe4dacfcb2bcd71f768354d82a2817c89361",
      "tree": "5124c487402b44b5cc732c18295d0ac2ae179f09",
      "parents": [
        "2dc31291bc4876e67383c7704f7642b291748bac"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jun 20 18:02:28 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 20 19:02:28 2026 -0500"
      },
      "message": "MLIR: Fix forward mode setdiffe (#2892)\n\n* MLIR: Fix forward mode setdiffe\n\n* fix"
    },
    {
      "commit": "2dc31291bc4876e67383c7704f7642b291748bac",
      "tree": "07afffd326172b8afa3090f759e250d3404d8363",
      "parents": [
        "0201e11059a6d430d980917a11840e181c23706b"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jun 20 15:11:31 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 20 16:11:31 2026 -0500"
      },
      "message": "Improve noaccumulate error (#2891)"
    },
    {
      "commit": "0201e11059a6d430d980917a11840e181c23706b",
      "tree": "49feb1634c2aa59afa3823aec6830844207155ac",
      "parents": [
        "fcc5c16d0ae1568a87ee09587ec7cac2c979f49a"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jun 20 14:48:33 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 20 15:48:33 2026 -0500"
      },
      "message": "Recursively replace icmp (#2890)"
    },
    {
      "commit": "fcc5c16d0ae1568a87ee09587ec7cac2c979f49a",
      "tree": "8b815ebe2bcea67969f01dc9248ef93517ace3fc",
      "parents": [
        "2dcc196c9067aff27bde6c7722d6a1731158254f"
      ],
      "author": {
        "name": "Acake",
        "email": "scharfrichterq@gmail.com",
        "time": "Fri Jun 19 23:14:46 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 20 05:14:46 2026 +0000"
      },
      "message": "save (#2882)"
    },
    {
      "commit": "2dcc196c9067aff27bde6c7722d6a1731158254f",
      "tree": "c25cd332870c78ac702f8cd4648a50bfd317c114",
      "parents": [
        "969fbec206ffe252da2ccb568216f4980ebe513a"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Thu Jun 18 13:34:14 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 14:34:14 2026 -0500"
      },
      "message": "Multi replace addresss space (#2889)"
    },
    {
      "commit": "969fbec206ffe252da2ccb568216f4980ebe513a",
      "tree": "b59c98a64fe5a278df608a4e46c061256fe52dbd",
      "parents": [
        "983af788489b7a96305611edae6f1c719bf134df"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jun 17 21:05:15 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 22:05:15 2026 -0500"
      },
      "message": "Fix subarray return type (#2888)\n\n* Fix subarray return type\n\n* fix\n\n* test\n\n* test\n\n* test\n\n* test\n\n* return known\n\n* fix\n\n* fmt"
    },
    {
      "commit": "983af788489b7a96305611edae6f1c719bf134df",
      "tree": "e60e9c5ff2c21123ce915bd935f425935c5843d4",
      "parents": [
        "41b6c734483d62764381194aeb15b8690f8c99ee"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Wed Jun 17 15:11:53 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 17 16:11:53 2026 -0500"
      },
      "message": "Fix sret alloca (#2884)\n\n* Fix sret alloca\n\n* fix\n\n* fix"
    },
    {
      "commit": "41b6c734483d62764381194aeb15b8690f8c99ee",
      "tree": "8dbcbb1fb23da0f08766f69db5bb188a1ac3bcc1",
      "parents": [
        "a14078ac2dc10cbfb2af410adacd9f2b9e9b978d"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jun 16 18:46:20 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 18:46:20 2026 -0600"
      },
      "message": "InvertPointer: fix typetree anyFloat/Pointer helpers (#2881)\n\n* InvertPointer: fix typetree anyFloat/Pointer helpers\n\n* fix\n\n* fix\n\n* fix constant struct\n\n* fix clearing\n\n* fix\n\n* newtest\n\n* rm\n\n* Save\n\n* fix"
    },
    {
      "commit": "a14078ac2dc10cbfb2af410adacd9f2b9e9b978d",
      "tree": "06e49b7ec43b2c58a89acbd43c41d62233562c85",
      "parents": [
        "2af4812b7ee18a3d6ffe186aa74104823bd58912"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jun 16 15:59:09 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 16:59:09 2026 -0500"
      },
      "message": "Fix RegSize calculation using argument type (#2883)\n\n* Fix RegSize calculation using argument type\n\n* Update TypeAnalysis.cpp"
    },
    {
      "commit": "2af4812b7ee18a3d6ffe186aa74104823bd58912",
      "tree": "a1d6b79840aa5b007825ab70436bb0543a753334",
      "parents": [
        "c96508349d9f121957292308c646b4a1fd53c507"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jun 15 11:37:35 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 11:37:35 2026 -0600"
      },
      "message": "Add non-blocking inactive attribute (#2879)\n\n* Add non-blocking inactive attribute\n\n* add test\n\n* callbase\n\n* fix"
    },
    {
      "commit": "c96508349d9f121957292308c646b4a1fd53c507",
      "tree": "8cae2dd067d991e3e31ce44d3ff2c699f6e64674",
      "parents": [
        "8a8ce88d19642346a5b73f0291e896f2cfdd20b8"
      ],
      "author": {
        "name": "Joe Wallwork",
        "email": "22053413+joewallwork@users.noreply.github.com",
        "time": "Fri Jun 12 09:08:07 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 08:08:07 2026 +0000"
      },
      "message": "Add implicit interfaces for function hooks in Fortran module (#2809)\n\n* Add enzyme_mod containing activity descriptor bindings\n\n* Hook Fortran bindings up in build system\n\n* Rename enzyme_mod-\u003eenzyme\n\n* Use implicit interface in square example\n\n* Add bindings for __enzyme_autodiff and __enzyme_fwddiff to the Fortran module\n\n* Use __enzyme_autodiff binding in square example\n\n* Prepend function hooks with f\n\n* Trigger Fortran CI on changes to enzyme/Fortran\n\n* Reorder to compile Fortran module before tests\n\n* Drop duplicate option\n\n* Build with ENZYME_FORTRAN\u003dON in CI\n\n* Only build Fortran tests if ENZYME_FORTRAN\n\n* Remove CMake commands not needed\n\n* Use enzyme.mod in Fortran square test\n\n* Add back in CMake from Fortran subdir\n\n* Drop unrelated editor changes\n\n* Fixes for root CMakeLists\n\n* Add messages for building Fortran bindings and tests\n\n* Move message into Fortran subdir\n\n* Make EnzymeFortran a shared object\n\n* Try putting module in modules dir\n\n* Introduce another module for function hooks to facilitate aliasing\n\n* Add EnzymeFortran to test dependencies\n\n* Apply suggestions from code review\n\nCo-authored-by: Valentin Churavy \u003cv.churavy@gmail.com\u003e\n\n* Set CMake Fortran compiler in test suite\n\n* Hook Fortran compiler up in test suite\n\n* Revert to f__enzyme_autodiff\n\n* Revert 57855fae9cb71c56bcf18383c6b92e009f2b522c\n\n* Disable -O0 test for now\n\n* Drop unnecessary semicolon\n\n* Add README for Fortran bindings\n\n---------\n\nCo-authored-by: Valentin Churavy \u003cv.churavy@gmail.com\u003e"
    },
    {
      "commit": "8a8ce88d19642346a5b73f0291e896f2cfdd20b8",
      "tree": "94288f188fcd7046af4c4676a5d6562078d2b17c",
      "parents": [
        "62f6ea3865d7026f85b4eb50c78766b5630f19ea"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Thu Jun 11 16:56:27 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 15:56:27 2026 -0500"
      },
      "message": "Handle constant users (#2877)\n\n* Handle constant users\n\n* fix\n\n* fmt"
    },
    {
      "commit": "62f6ea3865d7026f85b4eb50c78766b5630f19ea",
      "tree": "2412a31e174ab3badc3041a8347ca4c419f690cc",
      "parents": [
        "ded150ad3eec8e395fff65e8df087acd4e232523"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Thu Jun 11 16:56:19 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 15:56:19 2026 -0500"
      },
      "message": "MTI double replacement fix (#2878)\n\n* MTI double replacement fix\n\n* fix\n\n* fmt"
    },
    {
      "commit": "ded150ad3eec8e395fff65e8df087acd4e232523",
      "tree": "c227aab537335aeb7c8ef6daebc6bd664b0a9199",
      "parents": [
        "b38ebc6195f47e79c15f76ddbf855b8540cd357d"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Thu Jun 11 15:46:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 14:46:48 2026 -0500"
      },
      "message": "Fix nested ad cache preservation (#2876)\n\n* Add nested free example\n\n* Fix nested ad cache preservation\n\n* fix\n\n* fix\n\n* fix pointer type in test for LLVM 15 compatibility\n\n* Fmt\n\n* fix\n\n* fmt\n\n* fix blas tests"
    },
    {
      "commit": "b38ebc6195f47e79c15f76ddbf855b8540cd357d",
      "tree": "5cb35eece7e9633eee1782e78ae6ee0563e89afb",
      "parents": [
        "b191cfd7108251ea31c938dfa64ff9f1cf94f424"
      ],
      "author": {
        "name": "Valentin Churavy",
        "email": "v.churavy@gmail.com",
        "time": "Thu Jun 11 11:53:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 11:53:00 2026 +0200"
      },
      "message": "Add ifx 2023.2.0 to CI (#2870)\n\nCo-authored-by: Joe Wallwork \u003cjw2423@cam.ac.uk\u003e"
    },
    {
      "commit": "b191cfd7108251ea31c938dfa64ff9f1cf94f424",
      "tree": "dfbdc634e02eeecf124af9d06b51b6b3fdd7754f",
      "parents": [
        "7c0141f133a3592daa12cc6cc07f297a5222a42e"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vsathia2@illinois.edu",
        "time": "Wed Jun 10 17:27:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 17:27:24 2026 -0400"
      },
      "message": "Initialize DenseBackwardActivityAnalysis with ret_activity (#2874)"
    },
    {
      "commit": "7c0141f133a3592daa12cc6cc07f297a5222a42e",
      "tree": "a55f33b8af9fa03a71e6876b37b4fc8fd2557dd0",
      "parents": [
        "8ca23de8c4297977425a6f426e1edc6b4e2009c7"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jun 09 22:15:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 21:15:03 2026 -0500"
      },
      "message": "Revert tablegen handler (#2868)\n\n* Revert \"Optionally check regionBranchOp (#2861)\"\n\nThis reverts commit c47a056a427fdc2b9994cfaed1aaf9943fc0431f.\n\n* Revert \"Add const shadows for forward mode AD on `RegionBranchOpInterface` (#2780)\"\n\nThis reverts commit 9102b259d924f04e40b58c344f82796546a14c61."
    },
    {
      "commit": "8ca23de8c4297977425a6f426e1edc6b4e2009c7",
      "tree": "68398d68bb63dd2a0de4cdbd372a037875b19225",
      "parents": [
        "d184fa220760d1c41bd6a5935e4420f1a89a4edf"
      ],
      "author": {
        "name": "Victor Martins",
        "email": "106573420+VictorMartins3@users.noreply.github.com",
        "time": "Tue Jun 09 22:42:57 2026 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 20:42:57 2026 -0500"
      },
      "message": "feat: add maximumnum/minimumnum intrinsic derivative support (#2867)\n\nCo-authored-by: Victor Martinsd \u003cvictormartinsd@Victors-MacBook-Pro.local\u003e"
    },
    {
      "commit": "d184fa220760d1c41bd6a5935e4420f1a89a4edf",
      "tree": "76f38f4ed90aa7b7668e0bb011e409c5e0677f20",
      "parents": [
        "42f8361d71e313f9cd6115ccfd366fe0e454a9d8"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Tue Jun 09 14:39:07 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 13:39:07 2026 -0500"
      },
      "message": "InvertPointer: Use type tree to determine zeroing behavior (#2865)\n\n* InvertPointer: Use type tree to determine zeroing behavior\n\n* Fix syntax and type parameter errors in invertPointerM\n\n* fmt\n\n* Fix stray character typo in AdjointGenerator.h\n\n* Revert TypeAnalysis changes and rewrite subarray tests using pointer arguments with type trees\n\n* fmt\n\n* more fmt\n\n* Handle scalar/vector float constants and fallbacks in invertPointerM for reverse modes\n\n* fix\n\n* fix\n\n* fix\n\n* rmsize\n\n* tt\n\n* Fix\n\n* fix\n\n* fmt\n\n* change to non opaque ptr\n\n* Type analysis of julia pointers, as pointers\n\n* fmt"
    },
    {
      "commit": "42f8361d71e313f9cd6115ccfd366fe0e454a9d8",
      "tree": "180e367b2563e0ae888409d22a98fb5004b09d45",
      "parents": [
        "9470e77735c8bf2a2ab6f46f18d24eb0aa5fee5e"
      ],
      "author": {
        "name": "Jacob Mai Peng",
        "email": "jacobmpeng@gmail.com",
        "time": "Tue Jun 09 10:57:10 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 15:57:10 2026 +0000"
      },
      "message": "mlir: run mincut for scf.if ops (#2846)"
    },
    {
      "commit": "9470e77735c8bf2a2ab6f46f18d24eb0aa5fee5e",
      "tree": "0a3e1298e86805cf39b5efe0f21e1a4ccb1cee14",
      "parents": [
        "ef160870ba4dc6f5d093b6eb1a12a926aad9c8cb"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vsathia2@illinois.edu",
        "time": "Mon Jun 08 18:17:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 18:17:04 2026 -0400"
      },
      "message": "Add a ValueType declaration for ActivityAttr (#2866)"
    },
    {
      "commit": "ef160870ba4dc6f5d093b6eb1a12a926aad9c8cb",
      "tree": "d0a63851cc46a1f8419277d57689e48d2d872f4c",
      "parents": [
        "6f0b4c9945ada9461d054d7afd6455f78dacaa9f"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Mon Jun 08 12:21:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 12:21:34 2026 -0400"
      },
      "message": "Additional heterogeneous cuda markers [still needs custom derivative rules for push/pop/launch kernel (#2864)"
    },
    {
      "commit": "6f0b4c9945ada9461d054d7afd6455f78dacaa9f",
      "tree": "5236bd27c393ae852300ac26e64878fce570dd6b",
      "parents": [
        "c47a056a427fdc2b9994cfaed1aaf9943fc0431f"
      ],
      "author": {
        "name": "Martin Robinson",
        "email": "martinjrobins@gmail.com",
        "time": "Mon Jun 08 03:56:28 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 22:56:28 2026 -0400"
      },
      "message": "fix: add x\u003d\u003d0 y\u003e0 guard to pow derivatives (#2855)\n\n* fix: add x\u003d0 guard to pow fwd derivative\n\n* fix: update reverse mode pow test for x\u003d\u003d0 guard\n\n* test: add integration tests for pow deriv guard x\u003d\u003d0\n\n* fix(test): ForwardModeSplit \u0026 ForwardModeVector for pow x\u003d\u003d0 guard\n\n* fix: remove y \u003e 0 check"
    },
    {
      "commit": "c47a056a427fdc2b9994cfaed1aaf9943fc0431f",
      "tree": "73747217bee50815fae256ca30d9377b1a932131",
      "parents": [
        "0bcd813fcccb37bba817be6e08a0b529f65c6758"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vsathia2@illinois.edu",
        "time": "Sun Jun 07 21:10:23 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 21:10:23 2026 -0400"
      },
      "message": "Optionally check regionBranchOp (#2861)"
    },
    {
      "commit": "0bcd813fcccb37bba817be6e08a0b529f65c6758",
      "tree": "e45d413f4398b726e22b880d41a7fe654bbb6d81",
      "parents": [
        "073ac9bd71fb6e435af98d0c0441edbda41e86a5"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sun Jun 07 16:11:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 16:11:03 2026 -0400"
      },
      "message": "More memcpy runtime activity, support null (#2860)"
    },
    {
      "commit": "073ac9bd71fb6e435af98d0c0441edbda41e86a5",
      "tree": "2f3d30e0e070c73736d3626b3354e2f3fed4492c",
      "parents": [
        "8a59c949fcf5c301dcc190a2c7c9f08122cde6f4"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jun 06 13:38:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 13:38:47 2026 -0400"
      },
      "message": "Writable and readonly/readnone are incompatible (#2857)"
    },
    {
      "commit": "8a59c949fcf5c301dcc190a2c7c9f08122cde6f4",
      "tree": "4913246a7f324ba03e7690dc8e015927c01cb86a",
      "parents": [
        "cf0dab3d3069a115f42a76595eba0f3a67c00aa1"
      ],
      "author": {
        "name": "William Moses",
        "email": "gh@wsmoses.com",
        "time": "Sat Jun 06 12:05:25 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 12:05:25 2026 -0400"
      },
      "message": "Update build_tarballs.jl for macOS linker flags\n\nAdd linker flags for macOS deployment in build script"
    },
    {
      "commit": "cf0dab3d3069a115f42a76595eba0f3a67c00aa1",
      "tree": "85453aa260a7e76512ef61dc6853307c3566126a",
      "parents": [
        "9102b259d924f04e40b58c344f82796546a14c61"
      ],
      "author": {
        "name": "Vimarsh Sathia",
        "email": "vsathia2@illinois.edu",
        "time": "Fri Jun 05 14:10:47 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 14:10:47 2026 -0400"
      },
      "message": "Expose DataFlowActivityAnalysis to headers (#2854)"
    }
  ],
  "next": "9102b259d924f04e40b58c344f82796546a14c61"
}
