)]}'
{
  "log": [
    {
      "commit": "7badae36ba1371e55de3d4b029ada41c7ec144c7",
      "tree": "9347a23a55beb090fd12f275ecb638c771e8dc16",
      "parents": [
        "761a8c85f5e3b71d98484d952636fd9b466a23dc"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Feb 18 07:40:57 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 18 07:40:57 2026 -0800"
      },
      "message": "Use the baseline cache for the sampling evaluator (#550)\n\n"
    },
    {
      "commit": "761a8c85f5e3b71d98484d952636fd9b466a23dc",
      "tree": "26f982486523a81cd08816b61a8b381022281dfa",
      "parents": [
        "41e9ea40b7b861f6b7052c536073f31d7cd71b5d"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Tue Feb 17 17:24:25 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 17 17:24:25 2026 -0800"
      },
      "message": "BaselineCache: pass the score getter when asking for scores (#549)\n\n"
    },
    {
      "commit": "41e9ea40b7b861f6b7052c536073f31d7cd71b5d",
      "tree": "87cb1ea7c56516013d0fc91f0c9ca6975dc8a8e4",
      "parents": [
        "bc7e00c5e87e0a3a2da1ae2ab97dd4756ba493c1"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Fri Feb 13 16:23:08 2026 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 13 16:23:08 2026 +1100"
      },
      "message": "Move common evaluator members to base class\n\nAll evaluators care about having a corpus and so on. Moving to base class, and also forcing pass-by-name, to avoid silly arg passing bugs.\n\nReviewers: svkeerthy, boomanaiden154\n\nReviewed By: boomanaiden154\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/548\n"
    },
    {
      "commit": "bc7e00c5e87e0a3a2da1ae2ab97dd4756ba493c1",
      "tree": "6f2be01b1e9d11a6ac7e9836808e4b0417a12435",
      "parents": [
        "9f4f913161ab2cf7a7b985382daf92f3a0c66792"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Fri Feb 13 11:40:09 2026 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 13 11:40:09 2026 +1100"
      },
      "message": "A cache for baseline scores (#545)\n\nA utility for managing baseline scores. Subsequently we can enable\nserialization/deserialization."
    },
    {
      "commit": "9f4f913161ab2cf7a7b985382daf92f3a0c66792",
      "tree": "c1f9599025063839e74ce70c578c2ae1c9905ee0",
      "parents": [
        "7818d0fa72266afac7739f70907ad8e2deb2b1c8"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Fri Feb 13 08:50:50 2026 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 13 08:50:50 2026 +1100"
      },
      "message": "[NFC] `BlackboxEvaluator.get_rewards` is just a future extaction utility (#544)\n\nThis avoids `super().get_rewards`. First, it\u0027s not \"rewards\" that are\nobtained, it\u0027s whatever the measurement we need to form a reward;\nsecond, the responsibilities were whacky - the refactored method isn\u0027t\nreally extended by subclasses, it\u0027s rather used to process futures."
    },
    {
      "commit": "7818d0fa72266afac7739f70907ad8e2deb2b1c8",
      "tree": "8ca1e0ff6df6795838ffa2a94b6c5d614eea8c10",
      "parents": [
        "ef6e6106dd4f6a53df8544c7ad446990ac004faa"
      ],
      "author": {
        "name": "gurusai-voleti",
        "email": "gvoleti@google.com",
        "time": "Tue Feb 10 19:58:07 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 06:28:07 2026 -0800"
      },
      "message": "chore: Migrate gsutil usage to gcloud storage (#543)\n\nAutomated: Migrate {target_path} from gsutil to gcloud storage\n\nThis CL is part of the on going effort to migrate from the legacy\n`gsutil` tool to the new and improved `gcloud storage` command-line\ninterface.\n`gcloud storage` is the recommended and modern tool for interacting with\nGoogle Cloud Storage, offering better performance, unified\nauthentication, and a more consistent command structure with other\n`gcloud` components. 🚀\n\n### Automation Details\n\nThis change was **generated automatically** by an agent that targets\nusers of `gsutil`.\nThe transformations applied are based on the [gsutil to gcloud storage\nmigration guide](http://go/gsutil-gcloud-storage-migration-guide).\n\n### ⚠️ Action Required: Please Review and Test Carefully\n\nWhile we have based the automation on the migration guide, every use\ncase is unique.\n**It is crucial that you thoroughly test these changes in environments\nappropriate to your use-case before merging.**\nBe aware of potential differences between `gsutil` and `gcloud storage`\nthat could impact your workflows.\nFor instance, the structure of command output may have changed,\nrequiring updates to any scripts that parse it. Similarly, command\nbehavior can differ subtly; the `gcloud storage rsync` command has a\ndifferent file deletion logic than `gsutil rsync`, which could lead to\nunintended file deletions.\n\nOur migration guides can help guide you through a list of mappings and\nsome notable differences between the two tools.\n\nStandard presubmit tests are run as part of this CL\u0027s workflow. **If you\nneed to target an additional test workflow or require assistance with\ntesting, please let us know.**\n\nPlease verify that all your Cloud Storage operations continue to work as\nexpected to avoid any potential disruptions in production.\n\n### Support and Collaboration\n\nThe `GCS CLI` team is here to help! If you encounter any issues, have a\ncomplex use case that this automated change doesn\u0027t cover, or face any\nother blockers, please don\u0027t hesitate to reach out.\nWe are happy to work with you to test and adjust these changes as\nneeded.\n\n**Contact:** `gcs-cli-hyd@google.com`\n\nWe appreciate your partnership in this important migration effort!\n\n#gsutil-migration"
    },
    {
      "commit": "ef6e6106dd4f6a53df8544c7ad446990ac004faa",
      "tree": "5ac6cc1aa56ff422a24a44a1cca40ab0b1771296",
      "parents": [
        "c00eebcc23f503f4fb875d0d3e3bdb42d3d1ff1c"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Feb 02 16:00:13 2026 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Feb 02 16:00:13 2026 +0000"
      },
      "message": "Update OS in README.md\n"
    },
    {
      "commit": "c00eebcc23f503f4fb875d0d3e3bdb42d3d1ff1c",
      "tree": "8426fd3b6bdb040f12665a35002811f35e06c37d",
      "parents": [
        "2372e559f7967b586f74973f6c5933f3e7b12a2a"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Jan 13 13:42:00 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 13 13:42:00 2026 -0800"
      },
      "message": "Use .item() before casting single item NP array (#542)\n\nThis is needed for compatibility with numpy 2.4."
    },
    {
      "commit": "2372e559f7967b586f74973f6c5933f3e7b12a2a",
      "tree": "42b528ad117891fec789f1d4328ea40426188d58",
      "parents": [
        "1fdf03811f39404f8b7775d7e577153fe439df52"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Jan 13 11:20:15 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 13 11:20:15 2026 -0800"
      },
      "message": "Assert that an output stream is available when we expect it (#541)\n\nA new version of pytype will begin erroring on this. Add an assertion so\npytype can assume that p.stdout is not None in this case."
    },
    {
      "commit": "1fdf03811f39404f8b7775d7e577153fe439df52",
      "tree": "4f377e519cbd1f38fd13960370ca4cff6a4ab309",
      "parents": [
        "23518165f12553f92f5afd7f293318b152b18a6c"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Mon Jan 05 07:50:32 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 07:50:32 2026 -0800"
      },
      "message": "demo docker (#539)\n\nThis is the initial step. It currently still uses the checked in gin files and it doesn\u0027t yet fix a git hash for this repo (the latter because we need at least this commit to land first). Also, pre-training (warmstart) isn\u0027t implemented yet.\n\nsee also this:\n[RFC](https://discourse.llvm.org/t/rfc-mlgo-open-evaluation-and-new-onboarding-doc-on-llvm/88771)\n\nIssue #540"
    },
    {
      "commit": "23518165f12553f92f5afd7f293318b152b18a6c",
      "tree": "f50d77574b746ad69265078c9e034ef6db9ce559",
      "parents": [
        "07d7ab41428a4a6febc0620ab8106e79b7946453"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Dec 17 20:00:51 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 20:00:51 2025 -0800"
      },
      "message": "[ir2vec] Make the `ir2vec_vocab_path` optional (#537)\n\n"
    },
    {
      "commit": "07d7ab41428a4a6febc0620ab8106e79b7946453",
      "tree": "24ef7342bd17fd9f2e3af6da5bce61a9fd5b4551",
      "parents": [
        "5285826db7cf539040a7e2d8dd9b0c262d924aaa"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Dec 17 17:27:15 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 17:27:15 2025 -0800"
      },
      "message": "[es] policy_saver_function fix; logging weights fix (#538)\n\nMake `policy_saver_function` an actual function to clarify parameter\npassing.\n\nDrive-by logging message fix."
    },
    {
      "commit": "5285826db7cf539040a7e2d8dd9b0c262d924aaa",
      "tree": "8f0640fbafe4a377fcfc39265340331ee46ecac3",
      "parents": [
        "2b5a437fe8e7a7f895e927f0cba50a6701cc59ad"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Dec 17 14:33:15 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 14:33:15 2025 -0800"
      },
      "message": "[buildbot] Clone ml-compiler-opt in /tmp\n\nOtherwise there\u0027s a risk of out of disk space."
    },
    {
      "commit": "2b5a437fe8e7a7f895e927f0cba50a6701cc59ad",
      "tree": "d9d1f7e2e9d1d91286e0c57cbccdd8a046da3f4f",
      "parents": [
        "8220c3ecb797f2f1922ba430aea69ab927719222"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Dec 17 14:22:45 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 14:22:45 2025 -0800"
      },
      "message": "Update buildbot_init.sh to clone ml-compiler-opt (#536)\n\nAfter #535, it\u0027s easier to just clone the repo to install the\ndependencies."
    },
    {
      "commit": "8220c3ecb797f2f1922ba430aea69ab927719222",
      "tree": "ce88b2ec9ab3306038eb74dc0c8e93c72b7dd3a2",
      "parents": [
        "37577eaf8657f1df0f20cd433b05b434ff5ba7be"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Tue Dec 16 21:44:55 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 21:44:55 2025 -0800"
      },
      "message": "Pipfile.lock specific to the python version (#535)\n\nSome packages, e.g. `dm-reverb`, have different hashes between 3.10 and\n3.11. This patch separates `Pipfile.lock` into per-version files, and\nadds a wrapper, `versioned_pipenv`, that uses the version-specific lock\nfile. It does so by copying the version-specific `Pipfile.lock` in the\nrepo root. Note that we gitingore that name, as it becomes a temporary\nartifact of running `versioned_pipenv`.\n\nWe could have made the copy elsewhere, but that makes certain variants\nof `pipenv` subcommands (like `run`) not work."
    },
    {
      "commit": "37577eaf8657f1df0f20cd433b05b434ff5ba7be",
      "tree": "9fbaf9866d7b4240540e53f4a4990021b8d59ced",
      "parents": [
        "2afb6f8d0909173185824b9ded1298da8c39f2d9"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Dec 05 13:33:19 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 05 13:33:19 2025 -0800"
      },
      "message": "Remove use of deprecated np.reshape call (#534)\n\nThe form of the call used was removed in numpy 2.4."
    },
    {
      "commit": "2afb6f8d0909173185824b9ded1298da8c39f2d9",
      "tree": "da8faca6ab50e06e8ea920fb7b2b9a42fd4be27b",
      "parents": [
        "2e9ed78f8f8738068ef98c0b00ad63ddb991e8c9"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Thu Nov 13 09:53:19 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 13 09:53:19 2025 -0800"
      },
      "message": "Follow-up from PR #533"
    },
    {
      "commit": "2e9ed78f8f8738068ef98c0b00ad63ddb991e8c9",
      "tree": "2649029d4663637c41bb4e1fb0f92b07134a30b2",
      "parents": [
        "e35d070b3b6a69a1c175c5ba8e16987cded773b0"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Nov 12 13:43:23 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 12 13:43:23 2025 -0800"
      },
      "message": "Fix file opening method in _get_nr_branch_weights"
    },
    {
      "commit": "e35d070b3b6a69a1c175c5ba8e16987cded773b0",
      "tree": "b62a26312cc6920af83d80ceb84a91f5922ed2d7",
      "parents": [
        "23a3d5b0e6fdbec173d087e9be1287fc7fc3e20f"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Nov 12 10:41:43 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 12 10:41:43 2025 -0800"
      },
      "message": "Profgen: import using the same pattern as in other tools (#533)\n\nWe import relative to the repo root."
    },
    {
      "commit": "23a3d5b0e6fdbec173d087e9be1287fc7fc3e20f",
      "tree": "579527294a410eb31f3b1693995a7d7d7476a24e",
      "parents": [
        "df6c3015103ae970c02271e5681c70956c0c13e4"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Tue Nov 11 16:20:05 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 11 16:20:05 2025 -0800"
      },
      "message": "Profgen - tooling for extracting IR with profile info (#532)\n\n"
    },
    {
      "commit": "df6c3015103ae970c02271e5681c70956c0c13e4",
      "tree": "0f43e1d786800f91c85ca151a9b64358375b84cd",
      "parents": [
        "d200783933197b35d487eeb554123a8f4f094e30"
      ],
      "author": {
        "name": "Haowei",
        "email": "haowei@google.com",
        "time": "Tue Nov 04 15:10:18 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 15:10:18 2025 -0800"
      },
      "message": "[Dockerfile] Update the docker file to include all pipenv dependencies (#531)\n\nThis patch updates the \"Dockerfile\" so it uses the pipenv to install\nall dependencies from the Pipfile."
    },
    {
      "commit": "d200783933197b35d487eeb554123a8f4f094e30",
      "tree": "fca8d14fb44d9e46183c9bd56dc1eb97db0584cf",
      "parents": [
        "cfcdd82a61fee7394a97b16cf8f579208650ccd8"
      ],
      "author": {
        "name": "Chase Naples",
        "email": "cnaples79@gmail.com",
        "time": "Tue Sep 23 00:29:53 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 21:29:53 2025 -0700"
      },
      "message": "[nfc] alias tf_agents.policies.policy_saver as tf_policy_saver (#528)\n\n"
    },
    {
      "commit": "cfcdd82a61fee7394a97b16cf8f579208650ccd8",
      "tree": "b1b1e93585f16e521a468981a3c8080572a923e7",
      "parents": [
        "a2604d09fe347e26f97305946e98a9e0545a2643"
      ],
      "author": {
        "name": "Peter Rong",
        "email": "peterrong96@gmail.com",
        "time": "Wed Sep 17 13:37:09 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 17 13:37:09 2025 -0700"
      },
      "message": "[buildbot] Adjust gemmlowp_INSTALL_LIBDIR based on CMake\u0027s choices (#468)\n\nSome of our servers default installation to `lib64` instead of `lib`.\nThis patch asks CMakeCache which one did it use.\n\n---------\n\nSigned-off-by: Peter Rong \u003cPeterRong@meta.com\u003e"
    },
    {
      "commit": "a2604d09fe347e26f97305946e98a9e0545a2643",
      "tree": "05a1824358a6eb9ea8b85b1092e72b64e11e3c0d",
      "parents": [
        "a075d97cf5a145595a5a54da14383ecc5641c83d"
      ],
      "author": {
        "name": "Harishankar.1",
        "email": "88716735+Harishankar14@users.noreply.github.com",
        "time": "Thu Sep 18 01:19:09 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 17 12:49:09 2025 -0700"
      },
      "message": "Rename policy_saver.PolicySaver to (e.g.) policy_saver.MLGOPolicySaver (#527)\n\nAddresses issue https://github.com/google/ml-compiler-opt/issues/309\nJust a typo within the commit message \nIt is indeed MLGOPolicySaver"
    },
    {
      "commit": "a075d97cf5a145595a5a54da14383ecc5641c83d",
      "tree": "14a43265115542acb6f8d6aa32e6b6a4eaa37117",
      "parents": [
        "72fded3eb906bcd9c09534aac9819d6984f7ccfd"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Aug 21 18:28:54 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 21 18:28:54 2025 -0700"
      },
      "message": "[Buildbot] Update toolchain to clang/lld 20 (#526)\n\n"
    },
    {
      "commit": "72fded3eb906bcd9c09534aac9819d6984f7ccfd",
      "tree": "59010d9df83e3edffea206607ff3ea016992ed80",
      "parents": [
        "323d0c23abe9c5ba72bf54ca114d3535618ff391"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sun Aug 03 19:26:23 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sun Aug 03 19:26:23 2025 +0000"
      },
      "message": "Update buildbot script to bookworm\n\nWe need to update the buildbots to bookworm since bullseye is EOL. This\nscript should contain all the needed fixes.\n"
    },
    {
      "commit": "323d0c23abe9c5ba72bf54ca114d3535618ff391",
      "tree": "099b660934003df80bc74a9b306673746115231b",
      "parents": [
        "a6dfa2507f5e246807b64e0b53acf7d4bc1c3e7d"
      ],
      "author": {
        "name": "S. VenkataKeerthy",
        "email": "31350914+svkeerthy@users.noreply.github.com",
        "time": "Wed Jul 30 10:08:05 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 30 10:08:05 2025 -0700"
      },
      "message": "Integrating IR2Vec with inlining_runner (#525)\n\nOptionally allow using IR2Vec embeddings with inlining runner. IR2Vec\nembeddings would be used upon specifying a valid vocabulary path."
    },
    {
      "commit": "a6dfa2507f5e246807b64e0b53acf7d4bc1c3e7d",
      "tree": "3521fe204f9f5269e22bd2b73d5d36d3c248dc33",
      "parents": [
        "0b8508118258fec566f363e057535e90ab030aa9"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Jul 24 07:44:37 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 07:44:37 2025 -0700"
      },
      "message": "Save models during ES training in a separate thread\n\nThis patch makes it so that blackbox_learner saves models during ES\ntraining in a separate thread. There is a bit of additionaly complexity\nso that we save the models concurrently while waiting for compilation\nresults (when the process will be blocked waiting on IO). If we just\nspawn jobs whenever we run into performance problems due to the GIL and\nare back where we started. We cannot use subprocesses as we cannot\npickle the policy saver function.\n\nThis extra complexity is justified through significant performance gains on\ntraining jobs with relatively short step times (up to 20%, still single digit\npercentages with step times around 5 minutes).\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/524\n"
    },
    {
      "commit": "0b8508118258fec566f363e057535e90ab030aa9",
      "tree": "a8af67d7b0f0c97b16681d2c0842539841885b83",
      "parents": [
        "e5f9308b722f83b69a8abf68d81251aacf05008a"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Jul 24 06:51:26 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 06:51:26 2025 -0700"
      },
      "message": "Make blackbox_learner_test use FS for seeing written policies\n\nThis matches how the policy saver works in production. This is needed to\nensure that the test still works once we move to saving the policy in a\nseparate process.\n\nReviewers: mtrofin, svkeerthy\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/523\n"
    },
    {
      "commit": "e5f9308b722f83b69a8abf68d81251aacf05008a",
      "tree": "52096480abdecfde5c974e7061d5ae93580916ac",
      "parents": [
        "b1aa19a694a6a53ef3541e9b0841d3a716fe3df3"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Jul 23 14:35:34 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 23 14:35:34 2025 -0700"
      },
      "message": "Fix CI post b1aa19a694a6a53ef3541e9b0841d3a716fe3df3 (#522)\n\nI broke a test that I forgot to run locally and then eagerly ran spr\nland instead of actually checking the CI results."
    },
    {
      "commit": "b1aa19a694a6a53ef3541e9b0841d3a716fe3df3",
      "tree": "4f691fd3af84a3612e04c725e08c0e3bf372fe07",
      "parents": [
        "763a1e4a164083ae435356270e6a4e5101c36e0a"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Jul 23 14:19:51 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 23 14:19:51 2025 -0700"
      },
      "message": "Restore best model test functionality\n\nSome of the tests around the \"save best model\" functionality were\nchanged up in 6cf15b30ea80282a7a74e7c07092af2887cc1a86 as it touched\nSamplingBlackboxEvaluator which is used in the tests in a way that made\nthem not work. This patch restores the functionality by changing up how\nthe tests work a bit so they test what they are intended to.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: svkeerthy\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/521\n"
    },
    {
      "commit": "763a1e4a164083ae435356270e6a4e5101c36e0a",
      "tree": "2b935c565871dc4948f2d222dfc7476c0e39437c",
      "parents": [
        "384293436094e15afcda9b42f17605da96b80b11"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat May 31 23:12:12 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 31 16:12:12 2025 -0700"
      },
      "message": "Add -disable-llvm-passes in compile_corpus.py (#519)\n\nThis makes it so that we do not have to remember to add it when running\ntraining by making it correct at the time of construction. This would\nhave prevented me from spawning a bunch of training jobs while\nforgetting the flag."
    },
    {
      "commit": "384293436094e15afcda9b42f17605da96b80b11",
      "tree": "21691fd55027b1df88a4e1b2ea50fae9d6a1a659",
      "parents": [
        "efd3cbe759f11add3e597f8db4379e8967bbb077"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu May 29 04:47:44 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 28 21:47:44 2025 -0700"
      },
      "message": "Split train_locally into a binary and a library (#518)\n\nWe have additional binaries that call into train_eval to take advantage\nof internal infrastructure. The recent flag refactoring change causes\nissues as if we wanted train_eval we previously had to import the binary\nwhich already defined the flags. This patch makes the structure a lot\ncleaner."
    },
    {
      "commit": "efd3cbe759f11add3e597f8db4379e8967bbb077",
      "tree": "e0306e65ae914a2bdb473979d4bcd606b44316a8",
      "parents": [
        "79c7a68d0d5fc6bbe64d3c8bd92cb783289d5fea"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu May 29 04:25:45 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu May 29 04:27:43 2025 +0000"
      },
      "message": "Use flag required arguments\n\nSet required at the flag definition time rather than later on using a\ncall to flags.mark_flag_as_required to keep in line with the rest of the\ncode and to make things a bit more clear.\n"
    },
    {
      "commit": "79c7a68d0d5fc6bbe64d3c8bd92cb783289d5fea",
      "tree": "211e179cfa6ca83942bb9efb6107b857619ee2b6",
      "parents": [
        "6e270bc0f21ef81e39665a49a54cdf4efa4b9901"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue May 27 16:47:41 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 27 16:47:41 2025 +0000"
      },
      "message": "Delete benchmarking utilities\n\nI have not used these at all over the past couple of years. I don\u0027t\nthink they are particularly useful in general and if I need to run\nbenchmarks today I am likely to do builds and benchmarks manually than\ntrying to use these scripts.\n\nWe can resurrect them if something comes up where they would be\nconvenient to use.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/517\n"
    },
    {
      "commit": "6e270bc0f21ef81e39665a49a54cdf4efa4b9901",
      "tree": "1b9b26f3d2b78b57936d7d9d12306825cf95b117",
      "parents": [
        "bf1bf47293f6e18f0c6c01b5b2a1be7036d28ec5"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue May 27 16:44:59 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 27 16:44:59 2025 +0000"
      },
      "message": "Remove leftover comments in generate_bc_trajectories_test\n\nThis look leftover from debugging. Remove them given they aren\u0027t doing\nanything.\n\nReviewers: mtrofin, tvmarino\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/515\n"
    },
    {
      "commit": "bf1bf47293f6e18f0c6c01b5b2a1be7036d28ec5",
      "tree": "9b1a0527a2643d609d959499300822c8ed166e75",
      "parents": [
        "1f0230f7736ff745eed6448005760369d178a048"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon May 26 20:18:25 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 26 20:18:25 2025 +0000"
      },
      "message": "Use flag.DEFINE_* return methods\n\nThis enables type checking of flag variables and is the reccomended way\nto consume flag values these days.\n\nFor this who have access, go/python-tips/051#use-return goes into more\ndetail.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: svkeerthy\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/516\n"
    },
    {
      "commit": "1f0230f7736ff745eed6448005760369d178a048",
      "tree": "babcd3ffc6369fa50f43e1191d619b1eab224fd8",
      "parents": [
        "3a7e9dde38cedd46fa6eed1560c5e704a3c8bfde"
      ],
      "author": {
        "name": "S. VenkataKeerthy",
        "email": "31350914+svkeerthy@users.noreply.github.com",
        "time": "Thu May 22 15:55:02 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 22 15:55:02 2025 -0700"
      },
      "message": "Fixing tests due to recent changes (#514)\n\nTests related to es inliner breaks due to recent changes related to\n`command_line` in `ModuleSpec`. This patch fixes that.\n\nCo-authored-by: svkeerthy \u003cvenkatakeerthy@google.com\u003e"
    },
    {
      "commit": "3a7e9dde38cedd46fa6eed1560c5e704a3c8bfde",
      "tree": "42aea6bcbfdcfbf8bcc707fa1e76da43dba58f18",
      "parents": [
        "2b0a74bcdd25bbb3f54fde4b502ea30e26864213"
      ],
      "author": {
        "name": "S. VenkataKeerthy",
        "email": "31350914+svkeerthy@users.noreply.github.com",
        "time": "Thu May 22 12:10:10 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 22 12:10:10 2025 -0700"
      },
      "message": "ES flow for Inlining (#504)\n\nCo-authored-by: svkeerthy \u003cvenkatakeerthy@google.com\u003e"
    },
    {
      "commit": "2b0a74bcdd25bbb3f54fde4b502ea30e26864213",
      "tree": "1237b38e8d4f265d2cffa983f5b5666ed687233d",
      "parents": [
        "02fbddef7412fd5eacfd3d24876a8b7a8d7549df"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 22:10:19 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 22:10:19 2025 +0000"
      },
      "message": "Use proper flag type for chunk_count\n\nchunk_count in group_functions is an integer, but the flag was setup as\na string. Internal type checking caught this and complained about it.\n"
    },
    {
      "commit": "02fbddef7412fd5eacfd3d24876a8b7a8d7549df",
      "tree": "f7a107ba21016423eb39204a03162f8838acded0",
      "parents": [
        "056f22faf81e3c72edd23755a375779711c3f146"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 13:47:51 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 21 13:47:51 2025 -0700"
      },
      "message": "Add group_functions binary\n\nThis patch adds a binary that invokes the functions within the\ngroup_functions_lib library to group the extracted functions.\n\nFunction grouping increases performance significantly as compiling\nindividual functions is typically quite fast, so startup times begin to\ndominate. By batching functions we only pay the startup time for each\nchunk rather than for each function.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/508\n"
    },
    {
      "commit": "056f22faf81e3c72edd23755a375779711c3f146",
      "tree": "bf1b3482cbc4edf404fa8cb5beecc42db5e786bf",
      "parents": [
        "108d6cb7bca691497c8688b850dd0b4d8f2f0faf"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 13:47:14 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 21 13:47:14 2025 -0700"
      },
      "message": "Add group functions library\n\nThis patch adds a library and associated unit tests for grouping\nfunctions emitted from the extract_functions script for more efficient\ncompilation.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/507\n"
    },
    {
      "commit": "108d6cb7bca691497c8688b850dd0b4d8f2f0faf",
      "tree": "3c3bbf72eedf1758c41617ee9c81e6bcc6380407",
      "parents": [
        "bbaba73142a245fcecd6a65319148d2a8b22bea4"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 13:46:25 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 21 13:46:25 2025 -0700"
      },
      "message": "Add construct_cmd_for_compilation flag to corpus\n\nHaving this option makes things a little bit simpler when writing the\ngroup functions library.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/506\n"
    },
    {
      "commit": "bbaba73142a245fcecd6a65319148d2a8b22bea4",
      "tree": "beac3f37fca766535d196ff34cc09e937c1873cb",
      "parents": [
        "520d8e557ba675a359ea53f99ee4d376ac6c1775"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 19:01:40 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 19:06:10 2025 +0000"
      },
      "message": "Reland \"Make create_corpus_for_testing use module_spec command lines\"\n\nThis reverts commit 520d8e557ba675a359ea53f99ee4d376ac6c1775.\n\nThis relands commit 875676efbabd987c593d8aa0c7ac47ab3e79afa0.\n\nThis broke things as some PRs were landed around each other that were\nactually dependent but not accounting for that. This patch fixes that.\n"
    },
    {
      "commit": "520d8e557ba675a359ea53f99ee4d376ac6c1775",
      "tree": "0aebb9d505d03cc5ee4086b07bd5b01b420690e5",
      "parents": [
        "875676efbabd987c593d8aa0c7ac47ab3e79afa0"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 01:44:25 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed May 21 01:44:25 2025 +0000"
      },
      "message": "Revert \"Make create_corpus_for_testing use module_spec command lines\"\n\nThis reverts commit 875676efbabd987c593d8aa0c7ac47ab3e79afa0.\n\nThis is causing CI failures due to flaky tests.\n"
    },
    {
      "commit": "875676efbabd987c593d8aa0c7ac47ab3e79afa0",
      "tree": "d1a0fe12a34f0a25a1a0fe9e7df1839914ac51a2",
      "parents": [
        "aacabbe26fbdf40bf55627afe570a30dbfe7b3a5"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue May 20 13:23:38 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 20 13:23:38 2025 -0700"
      },
      "message": "Make create_corpus_for_testing use module_spec command lines\n\nThis patch makes create_corpus_for_testing use the command lines from\nindividual modle_specs passed in as elements rather than using the same\ncommand line for all the modules. This is needed for testing the group\nfunctions library.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/505\n"
    },
    {
      "commit": "aacabbe26fbdf40bf55627afe570a30dbfe7b3a5",
      "tree": "0aebb9d505d03cc5ee4086b07bd5b01b420690e5",
      "parents": [
        "fcdbebfa3cd378a0285f1fd3b3bc4409e8d035c2"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue May 20 09:59:02 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 20 09:59:02 2025 -0700"
      },
      "message": "Remove act support to simplify github workflow (#512)\n\nThis patch removes act support from the main github actions workflow to\nmake it significantly simpler. This also makes it a little bit faster as\nwe no longer rely on the envvars job. Act is generally a pain to work\nwith given the environment only quasi matches that of Github\u0027s (hence\nall the hacks within this file) and is in general much less convenient\nthan just running the individual commands within a local terminal\nwindow."
    },
    {
      "commit": "fcdbebfa3cd378a0285f1fd3b3bc4409e8d035c2",
      "tree": "e672d43a31995467204883f46e24c163fd80a85b",
      "parents": [
        "f4dc24946638ff46a62d207861b8e1c76a767211"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu May 15 21:20:50 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 15 21:20:50 2025 -0700"
      },
      "message": "Support batched bb traces in TraceBlackboxEvaluator\n\nThis patch makes TraceBlackboxEvaluator support batched bb traces.\nEssentially this means we can split all of the bb traces obtained from a\nsingle memtrace into a bunch of chunks. We can then evaluate only one of\nthese chunks per perturbation. This adds some randomness to the training\nwhich can be good and also massively speeds up evaluation.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/510\n"
    },
    {
      "commit": "f4dc24946638ff46a62d207861b8e1c76a767211",
      "tree": "496e9e23097b5715f3fa2afafbb0eb56cfeb7947",
      "parents": [
        "bdae526eb61893a446ac3e5985a26822855c26d3"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu May 15 21:04:26 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 15 21:04:26 2025 -0700"
      },
      "message": "Use unittest framework tempdirs in blackbox_learner_test\n\nblackbox_learner_test was using the tempdir (ie /tmp) rather than\nabsltest managed temp directories that are cleaned up at the end of the\ntest. This patch fixes it so that we are using the proper temp\ndirectories.\n\nWithout this patch some failures for patches up the stack were not\nemerging due to files that were leftover in /tmp.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/509\n"
    },
    {
      "commit": "bdae526eb61893a446ac3e5985a26822855c26d3",
      "tree": "02f119ccae3b84d46464051aabd9f7f16a032261",
      "parents": [
        "d0f63379eb4a4a9d7a463ee2c91cd0fa7da5120e"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu May 01 14:19:41 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 01 14:19:41 2025 -0700"
      },
      "message": "Save hparams at the beginning of train_bc (#503)\n\nThis patch moves where we save hparams from the end of the train_bc\nscript to before we start training. This means that we can use the\ntensorboard hparams dashboard at the beginning of experiments and as\nthings progress rather than only at the end when all experiments have\nconcluded."
    },
    {
      "commit": "d0f63379eb4a4a9d7a463ee2c91cd0fa7da5120e",
      "tree": "40db0891bfb659a60a31b28e96e2d6f7f5617126",
      "parents": [
        "e37919e40b5839d8b7d89d8f6185aeba6ae8cc6e"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Apr 30 18:09:44 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 30 18:09:44 2025 -0700"
      },
      "message": "Add evaluation support to train_bc\n\nThis patch adds evaluation support to train_bc. This uses the new hooks\ninfrastructure in trainer. Currently it just collects information on the\npercentage correct metric as that is the only metric that means\nsomething practically in terms of model performance.\n\nReviewers: mtrofin, svkeerthy\n\nReviewed By: mtrofin, svkeerthy\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/500\n"
    },
    {
      "commit": "e37919e40b5839d8b7d89d8f6185aeba6ae8cc6e",
      "tree": "12c28d35ff00159c35fbb64d48abf90d5d46c8ea",
      "parents": [
        "0f7de552a181fd312a5bde55d9737ecdce833cba"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Apr 30 18:09:24 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 30 18:09:24 2025 -0700"
      },
      "message": "Add shuffle_repeat_count parameter to dataset function\n\nThis patch adds a shuffle_repeat_count parameter to tfrecord/file\ndatasets. This enables setting the repeat_count to something other\nthan None. Setting the repeat_count to None means it will repeat\nindefinitely making it difficult to know when we have iterated over the\nentire dataset. Setting it explicitly allows us to iterate over the\nentire dataset a precise number of times when needed.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: svkeerthy, mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/501\n"
    },
    {
      "commit": "0f7de552a181fd312a5bde55d9737ecdce833cba",
      "tree": "7b926a89a156f9bfc036a620abcba33d10037e08",
      "parents": [
        "98655dcf3d84f1adbe5bbecb5492776261cdbbaf"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Apr 30 18:08:52 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 30 18:08:52 2025 -0700"
      },
      "message": "Add hooks in the trainer\n\nThis patch adds hooks to the train process. This enables adding\nfunctions that can run every n steps, like a function that evaluates the\nmodel and writes the results out to tensorboard for later evaluation.\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin, svkeerthy\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/499\n"
    },
    {
      "commit": "98655dcf3d84f1adbe5bbecb5492776261cdbbaf",
      "tree": "7baa4984992fec45780c8ef080a37c813999b4f5",
      "parents": [
        "6c6ae069886c8ab1a83f9651ae6d844068b6a34e"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Apr 28 19:03:37 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 28 19:03:37 2025 -0700"
      },
      "message": "Make RegallocTraceWorker.build_corpus public\n\nThis patch makes RegallocTraceWorker.build_corpus public rather than\ninternal. It is being used in places outside of the class itself so\nshould have a well defined public API. This patch fixes that, adds\ndocstrings, and updates users.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/498\n"
    },
    {
      "commit": "6c6ae069886c8ab1a83f9651ae6d844068b6a34e",
      "tree": "4c4fc31af33262976d8408fa6cf7df45b2bf44d0",
      "parents": [
        "8c44332568563995e52d99b326d4339f695559b1"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Apr 28 18:52:09 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 28 18:52:09 2025 -0700"
      },
      "message": "Make compile_corpus BC mode produce an actual output corpus\n\nWhen using the compile_corpus script to partially compile a corpus\n(running middle-end optimizations), we need to make sure that the output\nis actually another corpus. This entails making sure the file\nsuffix/extension is the same as the original corpus and that .cmd files\nare copied over. This patch adds that funtionality.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/495\n"
    },
    {
      "commit": "8c44332568563995e52d99b326d4339f695559b1",
      "tree": "fdfa2a0c383dd4129fb7766474252bdda569db02",
      "parents": [
        "631d0a84352609076bce4ea7b072a759946d2206"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sun Apr 27 19:09:03 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 27 19:09:03 2025 -0700"
      },
      "message": "Add rich error reporting for add/delete/replace flag overlap\n\nThis patch gives some additional information when the add/delete/replace\nflag lists overlap. This makes things a bit easier to debug without\nhaving to deeply inspect the values or manually insert some print\nstatements.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/497\n"
    },
    {
      "commit": "631d0a84352609076bce4ea7b072a759946d2206",
      "tree": "aabc11fdc92a8e1f8b07cb2f4a7c08e7ea5ac4cd",
      "parents": [
        "d6391c07f8e810f602c05474b54726afb9e30d70"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sun Apr 27 19:05:31 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 27 19:05:31 2025 -0700"
      },
      "message": "Make extract_functions create output directory if nonexistent\n\nIt is a bit annoying when extract_functions fails because the output\npath does not exist. This always ends up being a CalledProcessError that\nis difficult to debug as stdout/stderr is not logged. Just create the\npath because it is probably what the user expected anyways.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/496\n"
    },
    {
      "commit": "d6391c07f8e810f602c05474b54726afb9e30d70",
      "tree": "d148d6a9472405fcacdbd3d284cbb9bf59d20a85",
      "parents": [
        "a2a73cf871886a996b020763196fedac90dfa624"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Apr 23 08:54:36 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 23 08:54:36 2025 -0700"
      },
      "message": "Refactor generate_default_trace into a library (#494)\n\nThis patch refactors the primary functionality in generate_default_trace\ninto a library and leaves the binary as a thin wrapper around the\nlibrary. This makes some code simpler as we really shoud not be\nimporting a binary into some other modules."
    },
    {
      "commit": "a2a73cf871886a996b020763196fedac90dfa624",
      "tree": "ed4c7f9fe53b71a4a3c379910386bdcd2b7bda6f",
      "parents": [
        "a78a0b54cba01f3be96ee0da53cab92184b375d4"
      ],
      "author": {
        "name": "S. VenkataKeerthy",
        "email": "31350914+svkeerthy@users.noreply.github.com",
        "time": "Thu Apr 10 16:19:13 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 10 16:19:13 2025 -0700"
      },
      "message": "Changes to allow only one of warmstarting or restoring from ckpt and related documentation changes (#492)\n\nCo-authored-by: svkeerthy \u003cvenkatakeerthy@google.com\u003e"
    },
    {
      "commit": "a78a0b54cba01f3be96ee0da53cab92184b375d4",
      "tree": "5bf6f830783e76a3a63e84f69e7bf6c99642bba7",
      "parents": [
        "da3bd514a45f86eca030117698456aca222b4cbb"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Wed Apr 09 08:31:11 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 09 08:31:11 2025 -0700"
      },
      "message": "Use `multiprocessing.handle_test_main` in tests, not `handle_main` (#491)\n\n"
    },
    {
      "commit": "da3bd514a45f86eca030117698456aca222b4cbb",
      "tree": "fc62989d699714829b92371cad2ae348a10410f7",
      "parents": [
        "14860b16e41e78a24a7816fbd1813b6942e91cf9"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 21:13:53 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 21:13:53 2025 +0000"
      },
      "message": "Use Path String in extract_functions_lib_test\n\nThis makes the internal type checker not complain about the type\nactually being an absl _TempDir instead of a string.\n"
    },
    {
      "commit": "14860b16e41e78a24a7816fbd1813b6942e91cf9",
      "tree": "7f82bf16897c114831db6325538c48d493a9c35c",
      "parents": [
        "07cebb02fa89e6ca94d3ef095bcdccb743d59b7a"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 13:40:37 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 13:40:37 2025 -0700"
      },
      "message": "Add extract_functions script\n\nThis just parses some flag values and passes them along to\nextract_functions_lib so that the relevant functionality can actually be\ninvoked from the command line.\n\nThis is intended to be used before training. After compiling a corpus\nwith compile_corpus.py, functions that change during regalloc (and thus\nshow up as keys when generating a default trace) can then be extracted\ninto a separate corpus for use during the training process, assuming\nserialized basic blocks are available for functions that do not get\nextracted.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/487\n"
    },
    {
      "commit": "07cebb02fa89e6ca94d3ef095bcdccb743d59b7a",
      "tree": "a3d8a86c5f12d198d44553df97a8a46f6e3c7855",
      "parents": [
        "b65e8599b8731070b1b6f0b424b7e62ab07454b0"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 13:39:52 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 13:39:52 2025 -0700"
      },
      "message": "Add extract functions library and tests\n\nThis patch adds the extract_functions_lib library that is used for\nextracting a specific set of functions from a partially compiled corpus.\nThis allows for only recompiling some functions when training a register\nallocator policy.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/486\n"
    },
    {
      "commit": "b65e8599b8731070b1b6f0b424b7e62ab07454b0",
      "tree": "2da8c0bb25f53aac739420e819ea5c725c741a3e",
      "parents": [
        "5975b1f2e07a8dbea510b7cd1abeedfa2066f47e"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 13:39:18 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 13:39:18 2025 -0700"
      },
      "message": "[NFC] Refactor test utilities to corpus_test_utils library\n\nThis patch refactors some test utilities from regalloc_trace_worker_test\ninto a common corpus_test_utils library with the intention to reuse some\nof these utilities in a different test later.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/485\n"
    },
    {
      "commit": "5975b1f2e07a8dbea510b7cd1abeedfa2066f47e",
      "tree": "ee183775d1f52200356599468ebb147dc8d70406",
      "parents": [
        "bd43e4b5794317f1a91c3350a8ad9155f7277909"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 13:37:38 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 13:37:38 2025 -0700"
      },
      "message": "Add a script to compile a corpus\n\nThis patch adds a script that enables compiling a corpus with the\nregalloc trace worker. This is intended for use when partially compiling\na corpus and enables extracting out only the functions that matter for\nregister allocation decisions.\n\nThis is intended to be used before training begins to run all the middle\nend optimizations. This then allows for functions to be extracted after\nall IPO has taken place so we can then compile them all separately\nby just running the backend. This script also supports compiling all the\nway to asm to enable testing with basic_block_trace_model.\n\nThis script is typically used with --mode\u003dfull so that basic blocks in\nthe trace that are in functions that do not have regalloc decisions can\nget serialized. The script is then run again with --mode\u003dbc to run all\nmiddle end optimziations so that the extract_functions script can be run\non the partially compiled corpus to extract all of the functions with\nregalloc decisions that we are interested in compiling during training.\n--mode\u003dasm is used for validating that an extracted corpus can be used\nfor modelling without having to start the training process.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/484\n"
    },
    {
      "commit": "bd43e4b5794317f1a91c3350a8ad9155f7277909",
      "tree": "72b9ae37251edba4d73837d8fc06b43007aaa64c",
      "parents": [
        "cac999cdeea0647189d1e8a516f5014c4406e16b"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 12:49:02 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 12:49:02 2025 -0700"
      },
      "message": "Bump NEON_2_SSE_TAG (#489)\n\n"
    },
    {
      "commit": "cac999cdeea0647189d1e8a516f5014c4406e16b",
      "tree": "d0155f736d9f016694102a1393cc09ad88bdcaf8",
      "parents": [
        "15d7fc02f3b220d3adac9cd780a395cf89ef266f"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Apr 03 10:34:07 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 03 10:34:07 2025 -0700"
      },
      "message": "Cleanup parameters for test ES workers (#488)\n\nThis patch cleans up parameteres for the test ES workers. Previously\nthey would accept things like an argument and a set of keyword arguments\nthat were never used. Drop these as they are completely unnecessary and\nmake things a bit more cluttered."
    },
    {
      "commit": "15d7fc02f3b220d3adac9cd780a395cf89ef266f",
      "tree": "6d8b60101ffed94e7f46a8122b41cf89ae905b38",
      "parents": [
        "14cd1e8566fe50228b43ba382c4dbff78bb45262"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Apr 02 09:57:07 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 02 09:57:07 2025 -0700"
      },
      "message": "Fix flaky tests in blackbox_learner_test (#483)\n\nThe two new tests introduced around saving the best model would be flaky\ndepending upon how work got scheduled on the worker pool. This was\nparticularly apparent on the github actions workers where apparently\nthere are not enough cores to make things work properly. This patch\nfixes that issue by only setting up a single worker, ensuring that there\nare is only one way to schedule the work."
    },
    {
      "commit": "14cd1e8566fe50228b43ba382c4dbff78bb45262",
      "tree": "1bc80bb9a229b8b5d081d840bceb8bdfb62f57f9",
      "parents": [
        "30e9333c533d8e1eea2ec8740498e59404049b68"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Apr 02 00:23:09 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 02 00:23:09 2025 -0700"
      },
      "message": "Set Minimum Cmake Version in Neon Compat Header Dep (#482)\n\nThis patch changes the minimum CMake version in the neon compatbility\nheader dependency to be compatible with CMake 4.0.0.\n\nThis has been opened upstream in\nhttps://github.com/intel/ARM_NEON_2_x86_SSE/pull/80."
    },
    {
      "commit": "30e9333c533d8e1eea2ec8740498e59404049b68",
      "tree": "72730d02a00612b6f85a9aeb1441493f299012b1",
      "parents": [
        "f07c712a6ac20bf802a3e6ac66cc15ca6bb2b64f"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 31 14:10:03 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 31 14:10:03 2025 -0700"
      },
      "message": "Fix saving best policy in ES (#479)\n\nThe variable name was bad and it wasn\u0027t caught by static analysis as we\nwere setting a new variable before actually using it. This caused the\nbest model each iteration to get saved whether or not it was actually\nbetter than all previous models."
    },
    {
      "commit": "f07c712a6ac20bf802a3e6ac66cc15ca6bb2b64f",
      "tree": "14a8d14c7d5b37a04dd894fb38e4a49b04a098cb",
      "parents": [
        "d3c3e86222333de31a1d8629989551f438812e7c"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 31 13:56:07 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 31 13:56:07 2025 -0700"
      },
      "message": "Add test for saving the best model (#480)\n\nThis patch adds a unit test to blackbox_learner for testing that we\ncorrectly save the best model, or at least that it does get saved."
    },
    {
      "commit": "d3c3e86222333de31a1d8629989551f438812e7c",
      "tree": "c3d84eb8facec447edce8d3f6761f049d31c5600",
      "parents": [
        "087d446643510b227f11bbb5bdfb95c39315e2ec"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sun Mar 30 21:31:21 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 30 21:31:21 2025 -0700"
      },
      "message": "Name scalar based on percentile to report (#478)\n\nBefore this patch, the scalar name would end up as containing the value\nof the percentile rather than the percentile that we are trying to\ncompute. We then end up with a bunch of one point metrics which clutters\nthe UI and also means we cannot get any information about the actual\npercentiles. This patch fixes that by actually naming the scalar after\nthe percentile that we are trying to compute."
    },
    {
      "commit": "087d446643510b227f11bbb5bdfb95c39315e2ec",
      "tree": "6a4444c878c02bd76609d78b8f6134e61d2122d6",
      "parents": [
        "24865b4f96b94ed1727e1b8d0197e27b32c9ba8e"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Mar 28 21:37:31 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 28 21:37:31 2025 -0700"
      },
      "message": "Add option to generate_default_trace to output keys (#477)\n\nThis patch adds an option to generate_default_trace to output the keys\nassociated with the examples. This is primarily intended for use in\nextracting functions that contain eviction decisions to improve the\nefficiency of the new training workflow for ES regalloc trace modelling.\nHowever, this might also be useful in other circumstances if more\nintrospection into the data is needed."
    },
    {
      "commit": "24865b4f96b94ed1727e1b8d0197e27b32c9ba8e",
      "tree": "83ce3376b0ba3d746b9c2cc501ca763855eff94d",
      "parents": [
        "94cb0d6f61ad317e0a8cf915bb46de92cb476336"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 29 04:24:55 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 29 04:25:44 2025 +0000"
      },
      "message": "Revert previous two commits\n\nRevert \"Revert \"Accept decay rate parameter in MockCompilationRunner\"\"\n\nThis reverts commit 94cb0d6f61ad317e0a8cf915bb46de92cb476336.\n\nHEAD~1 !\u003d HEAD...\n\nRevert \"Remove flag allow_override calls\"\n\nThis reverts commit 7091b15e3d110ba2b273e3b8e5a19249a5ef5d08.\n\nSee previous commit message.\n"
    },
    {
      "commit": "94cb0d6f61ad317e0a8cf915bb46de92cb476336",
      "tree": "99c49170591417ac663e2cc370337994943684b4",
      "parents": [
        "7091b15e3d110ba2b273e3b8e5a19249a5ef5d08"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 29 04:23:50 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 29 04:23:50 2025 +0000"
      },
      "message": "Revert \"Accept decay rate parameter in MockCompilationRunner\"\n\nThis reverts commit 37a6c903086be9f051effe2e45b444ca0bed4ef6.\n\nThese apparently were there for a reason. The tests all passed on my\nsystem which is interesting. Not sure if it\u0027s an environment difference\nor what, but will investigate more thoroughly later.\n"
    },
    {
      "commit": "7091b15e3d110ba2b273e3b8e5a19249a5ef5d08",
      "tree": "0bd4d6c93ced9ac16780c26aad060bdb7d7f1041",
      "parents": [
        "37a6c903086be9f051effe2e45b444ca0bed4ef6"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 29 04:13:42 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 29 04:16:50 2025 +0000"
      },
      "message": "Remove flag allow_override calls\n\nThese do not appear to do anything when using flagsaver for testing and\nare either commented out or years old. Remove them to reduce complexity\nslightly.\n"
    },
    {
      "commit": "37a6c903086be9f051effe2e45b444ca0bed4ef6",
      "tree": "83ce3376b0ba3d746b9c2cc501ca763855eff94d",
      "parents": [
        "4c590d6d3083ad4d511ed0623f0a8fa6c952dcfe"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Mar 28 04:57:07 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Mar 28 04:57:07 2025 +0000"
      },
      "message": "Accept decay rate parameter in MockCompilationRunner\n\nThe mock used in generate_default_trace_test needs to accept\nmoving_average_decay_rate as it is automatically passed in by the\ninstantiation setup in generate_trace in generate_default_trace.py. The\ntest still passes if it isn\u0027t this way, but doesn\u0027t actually \"compile\" any\nmodules due to the errors, which sort of defeats the point.\n"
    },
    {
      "commit": "4c590d6d3083ad4d511ed0623f0a8fa6c952dcfe",
      "tree": "7bb141c7e5ede8c6c3b266232f88a053898f14b9",
      "parents": [
        "d9cdc3859662b5a6769911ee833f7f857375ff60"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Thu Mar 20 20:27:22 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 20 20:27:22 2025 -0700"
      },
      "message": "Add option to save best model in ES (#476)\n\nThis patch adds a config option to BlackboxLearnerConfig that enables\nsaving the best model when a new best comes up. This patch also adds in\nsupport in BlackboxLearner to actually save the model to the save\ndirectory."
    },
    {
      "commit": "d9cdc3859662b5a6769911ee833f7f857375ff60",
      "tree": "dfdb18be7ea1d653e2884fe170008f7af25f017d",
      "parents": [
        "ff764c9b9cefd3d90372b78b01262a1a4a1ca01f"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Mar 19 07:20:19 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Mar 19 07:20:19 2025 +0000"
      },
      "message": "Explicitly type pickle_func in worker_manager\n\nThis patch adds an explicit type for the pickle function in\nworker_manager. An internal linting tool suggested this.\n"
    },
    {
      "commit": "ff764c9b9cefd3d90372b78b01262a1a4a1ca01f",
      "tree": "c42d51100dce8c087a3d9b8e25c8eb8c950c2225",
      "parents": [
        "e28bf48dd8b3823b2a3efe764b256d6bc01e78d9"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 18 19:27:42 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 18 19:27:42 2025 +0000"
      },
      "message": "Prefer implicit false over None check\n\nThis patch prefers an implicit False comparison in regalloc_trace_worker\nrather than just checking if the value is None. This protects against\nother values that end up being false and makes us more consistent with\nthe Google Python style guide.\n"
    },
    {
      "commit": "e28bf48dd8b3823b2a3efe764b256d6bc01e78d9",
      "tree": "97e9cbcc1d9d13238bb1c3eaba735ca09e4e3753",
      "parents": [
        "e4446c13b492ef409854cb3e26dd326e0c445e38"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 18 11:39:11 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 18 11:39:11 2025 -0700"
      },
      "message": "Add argument to append options to modelling invocations (#474)\n\nThis patch adds a new argument to regalloc_trace_worker that can be set\nin a gin file for appending additional arguments to\nbasic_block_trace_model."
    },
    {
      "commit": "e4446c13b492ef409854cb3e26dd326e0c445e38",
      "tree": "576a1f1002815adef1afecdeb1639fcbf0ea272b",
      "parents": [
        "f86feef7272a44fe3d9334726e383b2da7776850"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 18 10:25:40 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 18 10:25:40 2025 -0700"
      },
      "message": "Add num_workers flag to es_trainer (#473)\n\nThis patch adds a num_workers flag to es_trainer. This better matches\nthe behavior of the train_locally script, which is important for some\ninternal scripts for distributed training. Choosing the number of\nworkers based on the number of perturbations also does not take into\nconsideration the underlying hardware at all, which should be what\ndetermines the worker count. The current logic already did not take into\naccount antithetic sampling doubling the number of models to evaluate\nper iteration."
    },
    {
      "commit": "f86feef7272a44fe3d9334726e383b2da7776850",
      "tree": "3e705a21543bc40e8c46060eb43a99eed2fc99fe",
      "parents": [
        "f943179cb1e6aad1fffd4781a35d627e4773c740"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 10 22:22:09 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 10 22:22:09 2025 -0700"
      },
      "message": "Add support for copying auxiliary files\n\nThis patch adds support for copying aux files to the local machine like\nprofiles. These need similar handling to remote corpora but also need to\ngo through the flag replacement process. This allows the user to set in\nthe corpus replacement flags a generic name surrounded by brackets like\n{profile} and then have the worker fill in the replacement with the\nactual file path.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/469\n"
    },
    {
      "commit": "f943179cb1e6aad1fffd4781a35d627e4773c740",
      "tree": "ee1508cfe20ab55fbf612497053b5f305f9c85f4",
      "parents": [
        "8f1f1a9d98153da27e93a23648c41c97a98ab1c5"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 10 17:48:51 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 10 17:48:51 2025 -0700"
      },
      "message": "Add base class for WorkerPoolManagers (#470)\n\nThis patch introduces a base class that worker pool managers can inherit\nfrom. This enforces the interface, particularly for instantiation, that\nwe have been having a bit of trouble with recently given some recent\nrefactorings. I\u0027ve validated that this patch would have caught the\nissues that have already been fixed."
    },
    {
      "commit": "8f1f1a9d98153da27e93a23648c41c97a98ab1c5",
      "tree": "9c2f38e547ad6af834f3ea4dbfd3a64636d34e79",
      "parents": [
        "f7e7249cd40ad208ba8334f92c4234f1e352b76f"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 10 17:35:31 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 10 17:35:31 2025 -0700"
      },
      "message": "Add support for copying corpora to local disk\n\nThis patch adds support in regalloc_trace_worker for copying the corpus\nto the local disk at initilization time. This is necessary for certain\nfilesystems that can only be interacted with through specific APIs,\nprecluding their direct use for applications like clang.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/465\n"
    },
    {
      "commit": "f7e7249cd40ad208ba8334f92c4234f1e352b76f",
      "tree": "01cd53ed6842b85d2e24913e6a59ea9f4470d228",
      "parents": [
        "a12a09909df42f159d2a39e0affd1fb5e787801f"
      ],
      "author": {
        "name": "S. VenkataKeerthy",
        "email": "31350914+svkeerthy@users.noreply.github.com",
        "time": "Mon Mar 10 13:05:42 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 10 13:05:42 2025 -0700"
      },
      "message": "Adding \u0027--warning-suppression-mappings\u0027 in flags to delete (#467)\n\n"
    },
    {
      "commit": "a12a09909df42f159d2a39e0affd1fb5e787801f",
      "tree": "33ada76c248b2927eda2ec2b2a72c3a400329c62",
      "parents": [
        "c9ebbf26ce29a57e4b8609f7cbd5d64e1690ff49"
      ],
      "author": {
        "name": "S. VenkataKeerthy",
        "email": "31350914+svkeerthy@users.noreply.github.com",
        "time": "Mon Mar 10 12:51:02 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 10 12:51:02 2025 -0700"
      },
      "message": "[Bug Fix] Wrapping args of LocalWorkerPoolManager with worker_kwargs (#466)\n\nCo-authored-by: svkeerthy \u003cvenkatakeerthy@google.com\u003e"
    },
    {
      "commit": "c9ebbf26ce29a57e4b8609f7cbd5d64e1690ff49",
      "tree": "70376eac98e015a3483e95da427e3cf9e949aa98",
      "parents": [
        "8e066405f3e41510dd5970f6ce7b1f0c0f127130"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 08 22:41:15 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 08 22:41:15 2025 -0800"
      },
      "message": "Compute relative reward in trace blackbox evaluator\n\nThis patch makes the trace blackbox evaluator return a relative reward rather\nthan the raw reward. This makes the rewards actually meaningful, and also\nprevents overflowing calculatings in blackbox_optimizer which previously\nmade the new model weights NaN.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/463\n"
    },
    {
      "commit": "8e066405f3e41510dd5970f6ce7b1f0c0f127130",
      "tree": "bf8ec06774d87f7e66b426dec719ec69e62db8f7",
      "parents": [
        "711e2300f785f01b9812b217e579946aa9fd339c"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sun Mar 09 06:29:01 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sun Mar 09 06:29:01 2025 +0000"
      },
      "message": "Make calculate_reward publicly exposed in compilation_runner\n\nThis patch switches _calculate_reward from being an internal member to\nit being public in compilation_runner. This is necessary as we want to\nreuse it in TraceBlackboxEvaluator.\n"
    },
    {
      "commit": "711e2300f785f01b9812b217e579946aa9fd339c",
      "tree": "bef9b9fe0b88d755722e741d49c9477f75e720e0",
      "parents": [
        "8a3c1fa8bf99d9adfa53507156d0507fcde7e5ca"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 08 09:16:44 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Sat Mar 08 09:16:44 2025 +0000"
      },
      "message": "Pass EstimatorType in blackbox_evaluator_test\n\nThis patch passes an actual EstimatorType value when instantiating\nBlackboxEvaluator classes. This makes the test quite a bit easier to\nread as the estimator type names actually mean something rather than\njust the integers that were stuck there before given the values do not\nreally matter.\n"
    },
    {
      "commit": "8a3c1fa8bf99d9adfa53507156d0507fcde7e5ca",
      "tree": "5d5f01eac71df6f854d037e9e8b053522cc44707",
      "parents": [
        "5eeb719f62189fa7e84a3f56096f925bccb87472"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Mar 05 20:27:04 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Mar 05 20:33:05 2025 +0000"
      },
      "message": "Use kwargs for creating workers in es_trainer_lib\n\n\\#453 made keyword arguments required for instantiating worker managers. The\ncallsite in es_trainer_lib was never updated, so updating it now to get things\nworking for ES.\n\nGiven this was not caught in CI, it might be worth having better typing for the\nworker managers so that this is caught earlier.\n"
    },
    {
      "commit": "5eeb719f62189fa7e84a3f56096f925bccb87472",
      "tree": "2e23ae2304b671bdbef0f4f08442d8734ce693e7",
      "parents": [
        "9c079e2b63e6449ef06f44dbec3fc7a3b77f1bdf"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 04 08:12:19 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 04 08:12:19 2025 +0000"
      },
      "message": "Fix more absl tempdir usage in Regalloc trace worker test\n\nThere are a couple more instances here where we need to call full_path\non absl _Tempdir instances.\n"
    },
    {
      "commit": "9c079e2b63e6449ef06f44dbec3fc7a3b77f1bdf",
      "tree": "1eaa7e096054d5fd3f35f72b3653bda1ee04e6cf",
      "parents": [
        "a7e3fdf5d9e6824ff8be6f37f54347be3bf65f28"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 04 07:39:05 2025 +0000"
      },
      "committer": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Mar 04 07:39:05 2025 +0000"
      },
      "message": "Fix temp dir typing in policy_utils_test\n\ntest_convert_to_tflite creates a tempdir using absltest\u0027s create_tempdir\nfunction. It then passes this tempdir (which is a _Tempdir type) to a\nfunction expecting a string. This works, but should be using full_path\nto keep the internal type checker happy, which this commit does.\n"
    },
    {
      "commit": "a7e3fdf5d9e6824ff8be6f37f54347be3bf65f28",
      "tree": "9e4d63bbf4e5293bacd9373c43bd0841f2603157",
      "parents": [
        "c450ded4addea3ff93f1776030ed276657032efd"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 03 21:55:33 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 03 21:55:33 2025 -0800"
      },
      "message": "Move TFLite Policy Generation to ES Workers\n\nThis patch moves TFLite Policy Generation for ES to the workers. This\nstep is reasonably expensive and doing it serially on the main node\ntakes quite some time with a reasonable number of perturbations. This\npatch moves this step to the workers to parallelize it.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/448\n"
    },
    {
      "commit": "c450ded4addea3ff93f1776030ed276657032efd",
      "tree": "9f44e5bc83ef7b09693c7b794b365eef51c6dd50",
      "parents": [
        "079d4c7edad875b78f56343e76e8007492ee64bf"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 03 21:48:15 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 03 21:48:15 2025 -0800"
      },
      "message": "Do not use global Numpy RNG (#461)\n\nThis patch switches from using the default numpy RNG to explicitly using\na specific RNG. This is reccomended by numpy and identified by Ruff\u0027s\nNPY002 rule. This keeps things out of global state which makes reasoning\nabout RNG a bit easier, although the code is a bit more verbose.\n\nFixes #460."
    },
    {
      "commit": "079d4c7edad875b78f56343e76e8007492ee64bf",
      "tree": "2b2b299434da78e230e75007aebb305d6a7facaa",
      "parents": [
        "50faa1172f3e2ee3884b26cc32041407fb11b1fb"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Mon Mar 03 09:53:16 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 03 09:53:16 2025 -0800"
      },
      "message": "Add convert_to_tflite to policy_utils\n\nThis patch takes the function that converts policies serialized to numpy\narrays serialized to bytes into TFLite models to policy_utils. This is\nnecessary so that we can perform this on the worker rather than trying\nto perform it serially on the main invocation.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/447\n"
    },
    {
      "commit": "50faa1172f3e2ee3884b26cc32041407fb11b1fb",
      "tree": "94032fce1b9862d10e5ec15db17bd3a92298f91f",
      "parents": [
        "6354047d1f102f30725a4573e954235a3bafad15"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Fri Feb 28 20:55:42 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 28 20:55:42 2025 -0800"
      },
      "message": "Fixes for downstream integration: (#458)\n\n- np.Inf becomes np.inf\n- explicit `module` for a test gin-configurable"
    },
    {
      "commit": "6354047d1f102f30725a4573e954235a3bafad15",
      "tree": "f542c39d102f08cb3fc98afd2da640c964eddd48",
      "parents": [
        "7037b067366dcaf5db76e52076e0f8ac0123185f"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Feb 28 20:37:38 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 28 20:37:38 2025 -0800"
      },
      "message": "Refactor policy creation in policy_utils_test\n\nThis patch refactors out common policy creation functionality for three\ntests into a helper function to get rid of some trivial code\nduplication.\n\nSeems like this is a bit of a short term fix for #280.\n\nReviewers: mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/446\n"
    },
    {
      "commit": "7037b067366dcaf5db76e52076e0f8ac0123185f",
      "tree": "84676ad832324efd79148d2c11aa15c4b342a7a1",
      "parents": [
        "5f6e9b3dc98878d1e7dbefff5384a111985b286d"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Fri Feb 28 15:06:03 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 28 15:06:03 2025 -0800"
      },
      "message": "Make public (again) the create and close APIs in local_worker_manager (#457)\n\nThey were made \"internal\" unnecessarily (by the convention of the `_` prefix) in PR #453"
    },
    {
      "commit": "5f6e9b3dc98878d1e7dbefff5384a111985b286d",
      "tree": "6fefa0f376215006c17a66ec17aa71bac4682aff",
      "parents": [
        "75eb0fd07705bf54738a2e54da1128881c33d59a"
      ],
      "author": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Thu Feb 27 15:27:31 2025 -0800"
      },
      "committer": {
        "name": "Mircea Trofin",
        "email": "mtrofin@google.com",
        "time": "Fri Feb 28 11:14:51 2025 -0800"
      },
      "message": "Use standard pickle, and make pickler an option\n\nWe used cloudpickle to make it easy to author tests where the\ntest worker is defined in the test function. The problem is that\ncloudpickle will also try to serialize by value classes defined in the\n__main__ package, which leads to serialization problems when e.g. the worker class\nreferences in its members unpickleable things.\n\nAlso, revert #452 as it is addressed by this change.\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/455\n"
    }
  ],
  "next": "75eb0fd07705bf54738a2e54da1128881c33d59a"
}
