)]}'
{
  "log": [
    {
      "commit": "e345029cedf0be76a087fcad9c89a97bed4f7204",
      "tree": "e39fd9624956321af0537a86433e25e9b44191b4",
      "parents": [
        "18ec45ed7729b70ae94c340014624b34b6ecf5a7"
      ],
      "author": {
        "name": "Akaash Parthasarathy",
        "email": "43900735+akaashrp@users.noreply.github.com",
        "time": "Fri Oct 23 20:49:03 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 23:49:03 2026 -0400"
      },
      "message": "[Fix][Runtime] Keep sliding-window page metadata separate from global attention (#20699)\n\n`PlainPagedKVCacheAuxDataManager` reuses the same device arrays for\nglobal and per-layer sliding attention. Preparing the sliding page table\ntherefore overwrites the global one before either layer uses it. In\nGemma 4, a global layer then attends to only the sliding window and\nloses the earlier context.\n\nGive the plain manager separate storage for the sliding page indptr,\npage indices and length info, and select it at the per-layer sliding\ncopy calls. Allocate it only when the cache has sliding layers. The\ncached manager already assigns each copy its own region."
    },
    {
      "commit": "18ec45ed7729b70ae94c340014624b34b6ecf5a7",
      "tree": "603c8c80b009d9c98f7d80605b360b670672640f",
      "parents": [
        "0e508346309819875adef0e1891a5048f314a011"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 21 11:18:35 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 11:18:35 2026 -0400"
      },
      "message": "Bump markdown-it from 14.3.0 to 14.3.3 in /web (#20804)\n\nBumps [markdown-it](https://github.com/markdown-it/markdown-it) from\n14.3.0 to 14.3.3.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/blob/14.3.3/CHANGELOG.md\"\u003emarkdown-it\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[14.3.3] - 2026-10-16\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported 15.0.3 fixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.2] - 2026-09-12\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported 15.0.2 fixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[14.3.1] - 2026-08-27\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBackported 15.0.1 fixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/d372f0d8a68bef0b0acaa68868ce8ae8ba85b384\"\u003e\u003ccode\u003ed372f0d\u003c/code\u003e\u003c/a\u003e\n14.3.3 released\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/d99f48839d37af6fd8a2617516c43dab90755503\"\u003e\u003ccode\u003ed99f488\u003c/code\u003e\u003c/a\u003e\nBackported 15.0.3 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/efb9993124c3eb229eea24dd659c91dcee7f6d60\"\u003e\u003ccode\u003eefb9993\u003c/code\u003e\u003c/a\u003e\n14.3.2 released\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/daf5a3c32303e5d9de01b12eeb725fb5990b8162\"\u003e\u003ccode\u003edaf5a3c\u003c/code\u003e\u003c/a\u003e\nBackported 15.0.2 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/a855f10b1b796ca42178952b4b83b9c8b677ddb8\"\u003e\u003ccode\u003ea855f10\u003c/code\u003e\u003c/a\u003e\n14.3.1 released\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/ad70f6b7cff64bee10e42a774147112480ca0d49\"\u003e\u003ccode\u003ead70f6b\u003c/code\u003e\u003c/a\u003e\nBackported 15.0.1 fixes\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/b407f3b0667c9491cc52c6550736ee5a31721baa\"\u003e\u003ccode\u003eb407f3b\u003c/code\u003e\u003c/a\u003e\nIgnore generated API docs in lint\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/bf025adb983e90af426761a08cc76e4e41ab0239\"\u003e\u003ccode\u003ebf025ad\u003c/code\u003e\u003c/a\u003e\nPrepare package.json for v14 backports\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/2d9bbea7df2ab1a48caecfafc39cb8599f193d3c\"\u003e\u003ccode\u003e2d9bbea\u003c/code\u003e\u003c/a\u003e\nfix: recognize lowercase declarations as HTML blocks (CommonMark 4.6)\n(\u003ca\nhref\u003d\"https://redirect.github.com/markdown-it/markdown-it/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/commit/a311cfbeb7dcdb86d001a21facaf60190414ca4d\"\u003e\u003ccode\u003ea311cfb\u003c/code\u003e\u003c/a\u003e\nfix: keep literal backslash before space in link destination (CommonMark\n6.3)...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/markdown-it/markdown-it/compare/14.3.0...14.3.3\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dmarkdown-it\u0026package-manager\u003dnpm_and_yarn\u0026previous-version\u003d14.3.0\u0026new-version\u003d14.3.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the\n[Security Alerts page](https://github.com/apache/tvm/network/alerts).\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0e508346309819875adef0e1891a5048f314a011",
      "tree": "831cc7bd99fa9ffa37040b79be669c5f225d7356",
      "parents": [
        "da1ec80cccb720986deab3d05fc626fc18e72f4c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 21 11:18:10 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 11:18:10 2026 -0400"
      },
      "message": "Bump certifi from 2022.5.18.1 to 2026.10.19 in /docker/python (#20805)\n\nBumps [certifi](https://github.com/certifi/python-certifi) from\n2022.5.18.1 to 2026.10.19.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/662df63d7906df66f1f07c0751a3dfe9da14d914\"\u003e\u003ccode\u003e662df63\u003c/code\u003e\u003c/a\u003e\nRestore unaffected emSign roots (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/439\"\u003e#439\u003c/a\u003e)\n(\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/5cb238caeeb6c30ec1a7309ad3e16a5aa7b10ce8\"\u003e\u003ccode\u003e5cb238c\u003c/code\u003e\u003c/a\u003e\nRemove emsign (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/69494a764d0a08f90838d53d4b0fefd3e84045d6\"\u003e\u003ccode\u003e69494a7\u003c/code\u003e\u003c/a\u003e\nBump actions/download-artifact from 8.0.1 to 8.0.2 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/436\"\u003e#436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/029c7b0913d79e2efb73a216fc5c5e13ef958536\"\u003e\u003ccode\u003e029c7b0\u003c/code\u003e\u003c/a\u003e\nBump actions/upload-artifact from 7.0.1 to 7.0.2 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/435\"\u003e#435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/9d0a8f1f3a0d6b2e38d5773db7afe1a37e4527b6\"\u003e\u003ccode\u003e9d0a8f1\u003c/code\u003e\u003c/a\u003e\nAdd support for Python 3.15 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/db472abf0a37067cb4488f036f4c19adf6b6ec3c\"\u003e\u003ccode\u003edb472ab\u003c/code\u003e\u003c/a\u003e\nBump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/431\"\u003e#431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/f4bc676bc101fe2235846e37044e8c693d6cbaf4\"\u003e\u003ccode\u003ef4bc676\u003c/code\u003e\u003c/a\u003e\n2026.07.22 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/4c91f9c5f9b4676d40d2930025ba04d80dd536f6\"\u003e\u003ccode\u003e4c91f9c\u003c/code\u003e\u003c/a\u003e\nBump actions/setup-python from 6.3.0 to 7.0.0 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/01a66c5cf32eadb8f03a0504c24cb44f6d581248\"\u003e\u003ccode\u003e01a66c5\u003c/code\u003e\u003c/a\u003e\nBump actions/checkout from 7.0.0 to 7.0.1 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/426\"\u003e#426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/commit/eb355f41cb71f71012ecf1a4d27a57d0ee2b1337\"\u003e\u003ccode\u003eeb355f4\u003c/code\u003e\u003c/a\u003e\nBump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 (\u003ca\nhref\u003d\"https://redirect.github.com/certifi/python-certifi/issues/425\"\u003e#425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/certifi/python-certifi/compare/2022.05.18.1...2026.10.19\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dcertifi\u0026package-manager\u003dpip\u0026previous-version\u003d2022.5.18.1\u0026new-version\u003d2026.10.19)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the\n[Security Alerts page](https://github.com/apache/tvm/network/alerts).\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "da1ec80cccb720986deab3d05fc626fc18e72f4c",
      "tree": "816007c7ef6ab15345b812d96e84fb9ff2445834",
      "parents": [
        "b365abb18b20ed27bf47879b49aa253459f3af85"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 20 18:18:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 18:18:03 2026 -0400"
      },
      "message": "[REFACTOR] Consume standalone TIRx as a pinned dependency (#20803)\n\nConsume Apache TIRx as a pinned submodule at `3rdparty/tvm-tirx`,\nreplacing the owned TIRx source tree and retaining TVM\u0027s compiler and\nruntime extensions.\n\nUpdate native and Python builds, packaging, CI, development scripts, and\ndocumentation to use the standalone component and its recursive FFI\ndependency. Keep the parent distribution focused on TVM extensions while\nconsuming TIRx through its installed interface."
    },
    {
      "commit": "b365abb18b20ed27bf47879b49aa253459f3af85",
      "tree": "d8615799dfd46edc0c1815fa03d1a6b808e1c020",
      "parents": [
        "0bdeffedc3c43070e996a3235bfe77b7a9d65eb0"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 22:29:38 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 22:29:38 2026 -0400"
      },
      "message": "[REFACTOR][IR] Localize attribute ownership and fix documentation (#20801)\n\nUse `script.namespace` for S-TIR construction, printing and lowering,\nremoving the redundant `s_tir` flag. Give Trainium its own\n`trn.num_input_args` contract and annotate kernel arguments in a backend\npass after the ordinary `SplitHostDevice` pass and before\n`MakePackedAPI`, deriving each kernel\u0027s input count from the arguments\nit actually captures.\n\nMove external-codegen constant metadata into Relax and remove unused\nC-host device-context plumbing.\n\nRepair duplicate Python API registrations and tutorial section\nboundaries so canonical IR objects and tutorial headings render\ncorrectly."
    },
    {
      "commit": "0bdeffedc3c43070e996a3235bfe77b7a9d65eb0",
      "tree": "5693065df89863ae15c6d54a5066b33741b14d51",
      "parents": [
        "cd29ad03c1b6cac6852482c5fe2c8acf821ec395"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 17:59:32 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 17:59:32 2026 -0400"
      },
      "message": "[DOCS] Clarify TIRx assignment and allocation receipts (#20800)\n\nClarify parsed assignment and explicit Bind examples after the binding\ncleanup, and document allocation receipt consumption in programmatic\nbuilders. Explain raw Call purity and the scalar allocation receipt\ndistinction; correct the For begin/end summary.\n\nThis changes only Python docstrings. Validation:43 executable API\nexamples,95 focused builder/SSA/layout tests, Ruff, and strict Sphinx\nwith local-link checks."
    },
    {
      "commit": "cd29ad03c1b6cac6852482c5fe2c8acf821ec395",
      "tree": "142f57aca9fd880fa1fd14d9dd834aa345b12b7a",
      "parents": [
        "a5886f7d4aaec9d06d9ab2086c595708b172f07a"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 17:12:37 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 17:12:37 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Consolidate bindings and emitted allocation results (#20799)"
    },
    {
      "commit": "a5886f7d4aaec9d06d9ab2086c595708b172f07a",
      "tree": "ed425052087ee62580b409304e45725d37fef99c",
      "parents": [
        "c5b8f80be49d458546ab3e2aa6725e8778aeb7af"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 14:19:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 14:19:00 2026 -0400"
      },
      "message": "[DOCS] Clarify TIRx public APIs and executable pass examples (#20797)\n\nClarify TIRx public IR nodes, constructor fields, and transformation\nprerequisites. Add executable Before/Expected TVMScript examples for\nindividual passes and module-pass decorators, concise pipeline parameter\nreferences, and layout construction examples.\n\nDocument static-library loading and type-alias initialization\nparameters, with API descriptions matching the current layout-check and\nloop-bound contracts."
    },
    {
      "commit": "c5b8f80be49d458546ab3e2aa6725e8778aeb7af",
      "tree": "d8699d52e93cb67f4cd74e875c0d81b0c75c2776",
      "parents": [
        "4d98064b4f5b5d6595451f1dc40abbcb0d0c6e4d"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 12:44:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 12:44:21 2026 -0400"
      },
      "message": "[REFACTOR] Separate TIRX test helpers from parent integrations (#20792)\n\nSeparate parent TVM integration and build-reporting helpers from TIRX\nruntime/device checks. Keep target-selection policy in parent TVM, move\nbenchmark helpers into the TIRX testing package, replace parameter\nwrappers with native pytest fixtures, remove slow-test helpers, and give\nTIRX-owned environment controls explicit names while preserving shared\nruntime settings.\n\nKeep Vulkan/OpenCL compilation in the separate GPU-other build and\nexclude those backends from GPU test wheels. Preserve native Vulkan bool\nstorage and align existing backend assertions with the current code\ngeneration and device-attribute APIs."
    },
    {
      "commit": "4d98064b4f5b5d6595451f1dc40abbcb0d0c6e4d",
      "tree": "ff1b333d9a5d1ae4efbe497f8544c22731aee338",
      "parents": [
        "bf45326720b72904c8bff73c19f53b89ba92d671"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 12:40:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 12:40:44 2026 -0400"
      },
      "message": "[REFACTOR][IR] Colocate typed attribute contracts (#20795)\n\nPlace expression, tensor access, region, and operator attributes beside\ntheir\nowning APIs. Share the typed subscript contract across dialects, use\nnative\ntensor-store validation, and remove redundant aliases and Evaluate\u0027s\ntype hook.\n\nKeep primitive operators in prim/op.h and organize expression traits by\ntype,\nwith foundational conversion contracts available from base_expr.h."
    },
    {
      "commit": "bf45326720b72904c8bff73c19f53b89ba92d671",
      "tree": "9b426c150c30070662051b1beb6f2091d810ce50",
      "parents": [
        "6e6a2b21ae0d5348114f0063e148b095a29b96d5"
      ],
      "author": {
        "name": "Darssal",
        "email": "110779014+Darssal@users.noreply.github.com",
        "time": "Tue Oct 20 00:39:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 12:39:51 2026 -0400"
      },
      "message": "[Fix][Python] Keep the Windows config CLI independent of native imports (#20791)\n\nThe Windows `tvm-config.exe` console entry point tries to initialize the\nnative TVM package before handling configuration options. pip\u0027s launcher\nimports `tvm.config.__main__` before removing the `.exe` suffix from\n`sys.argv[0]`, while the package\u0027s config-mode check only recognizes\n`tvm-config`. Consequently even `tvm-config.exe --includedir` fails when\nnative dependencies are unavailable, although `python -m tvm.config\n--includedir` works.\n\nRecognize both console entry-point basenames, following the existing\n`tvm_tirx` configuration guard. The change is limited to config-mode\ndetection before native initialization.\n\nLocal validation on Windows with Python 3.11:\n\n- Subprocess probes for the Windows console name, POSIX console name,\nand `python -m tvm.config` pass using `-S` and the real source package,\nwithout site-package dependencies. The Windows console case fails with\nthe original guard.\n- An actual Windows launcher generated by pip\u0027s\n`distlib.scripts.ScriptMaker` failed with `ModuleNotFoundError: tvm_ffi`\nbefore the fix. After the fix, `--includedir`, `--cflags`, and\n`--cxxflags` returned the expected header path and compiler flags.\n- Changed-file pre-commit checks passed, including Ruff, formatting, ASF\nheaders, and file checks."
    },
    {
      "commit": "6e6a2b21ae0d5348114f0063e148b095a29b96d5",
      "tree": "8bd5e63296bf556ca65604d2ab48de42cbb3ab19",
      "parents": [
        "08a71b44d795f094f1e1789ee8692768e4540887"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 12:39:30 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 12:39:30 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Use explicit loop bounds and steps (#20796)\n\nRepresent For with var, begin, exclusive end, required typed step, kind,\nand body. Unit-step loops carry an explicit typed one in the core IR.\n\nStore Range as begin/extent for regions, retaining FromMinExtent\nconstruction. The static Range::GetExtentFromBeginEnd helper recovers\nwidths from endpoints through shallow matching without analyzer work.\n\nUpdate C++ and Python construction, reflection, traversal, scripting,\nsymbolic analysis, scheduling, and code generation while preserving\nsupported index typing and stride-aware iteration counts."
    },
    {
      "commit": "08a71b44d795f094f1e1789ee8692768e4540887",
      "tree": "bd9e81d82cdc79c89d685f705e3a3a82732df854",
      "parents": [
        "3d32d5a75e6fbb1ff5eae5ad3d40fe6be642e517"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 12:07:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 12:07:14 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Remove Clang warning overrides (#20798)"
    },
    {
      "commit": "3d32d5a75e6fbb1ff5eae5ad3d40fe6be642e517",
      "tree": "6ceccb28e3f4b70e3d623521cc6daca77989b35b",
      "parents": [
        "116bb48ff5a601a113ec0d3072df6603d61b3621"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 11:42:27 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 11:42:27 2026 -0400"
      },
      "message": "[REFACTOR][IR] Unify raising well-formedness checks (#20793)\n\nStandardize well-formedness APIs on `check_well_formed` /\n`CheckWellFormed`. S-TIR, Relax, and layout checks raise directly; TIRx\nretains `assert_mode` and its boolean result contract. Callers propagate\nthe original diagnostics through analysis and passes.\n\nRemove the script module-validator registry, dialect registration\ncallbacks, and generated whole-module dispatch. Module validation is an\nexplicit analysis operation, while standalone function decorators retain\nvalidation and the `check_well_formed\u003dFalse` option. Update affected\ncallers and concise standalone API documentation."
    },
    {
      "commit": "116bb48ff5a601a113ec0d3072df6603d61b3621",
      "tree": "e27986e32633ce9ca178d775ebac02301fc74dec",
      "parents": [
        "d82366c391be35ac17c283443ca97da91beec5c3"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 19 11:41:30 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 11:41:30 2026 -0400"
      },
      "message": "Support standard optional JIT annotations and NoneType parameters (#20794)\n\nJIT optional annotations accept `Tensor(...) | None` and imported or\nqualified `typing.Optional[...]`, alongside `T.Optional(...)`. Selecting\n`None` preserves the argument\u0027s position with shared `ir.NoneType`; the\npacked API requires actual `None` in that slot, including when the body\ndoes not use it. Deferred annotations, compile-time guards, and\nspecialization caching retain their behavior.\n\nRename the deferred kernel class to `JITFunction` while preserving\n`@T.jit` and `.specialize()`."
    },
    {
      "commit": "d82366c391be35ac17c283443ca97da91beec5c3",
      "tree": "7deaeaf407d21650157ec5d604355332bca49bbb",
      "parents": [
        "94613dc701c1a4f6b5caa40b573f42dddb0577f8"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sun Oct 18 14:10:10 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 18 14:10:10 2026 -0400"
      },
      "message": "[TEST][TIRx] Complete standalone core test migration (#20789)"
    },
    {
      "commit": "94613dc701c1a4f6b5caa40b573f42dddb0577f8",
      "tree": "e9c0c1c673c85ae8a8abc2204af5cecf8f34da9f",
      "parents": [
        "dd242c3295279433f232a559ade6f0f428d6966e"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sun Oct 18 13:20:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 18 13:20:18 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Replace legacy specialization with structural mapping (#20787)"
    },
    {
      "commit": "dd242c3295279433f232a559ade6f0f428d6966e",
      "tree": "4af5a18cd9f7e1c1ae2500d42fa5f3f7288aed8a",
      "parents": [
        "20e978c8ddbfcf968f71d4ad32e40babb987b27f"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sun Oct 18 13:20:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 18 13:20:00 2026 -0400"
      },
      "message": "[TIRx] Preserve parameter strides and physical view extents (#20788)"
    },
    {
      "commit": "20e978c8ddbfcf968f71d4ad32e40babb987b27f",
      "tree": "1507d08ee734fe167333fad462212413a399106e",
      "parents": [
        "9094f0e9cfd3bf460cdb80ab782c52bc3d0725f0"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 22:44:53 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 22:44:53 2026 -0400"
      },
      "message": "[TIRx] Store tensor address geometry in layouts (#20786)\n\nMake layout the single source of tensor strides and element offsets.\nTensor and S-TIR declarations accept explicit layouts, while views\nforward layout geometry directly. Shape-aligned memory layouts support\ndynamic strides and linear offset expressions through the existing\nparameter binder.\n\nProvide structural shape/stride matching and distinguish TileLayout\ncontiguity from TensorType default shape coverage and zero origin. Both\npredicates reuse an optional analyzer after deep-equality checks. Python\nexposes the optional named matching result only in S-TIR. Shared-memory\npools select their physical allocation base with pointer offsets, and\nRelax preserves contiguous native tensor origins at call boundaries."
    },
    {
      "commit": "9094f0e9cfd3bf460cdb80ab782c52bc3d0725f0",
      "tree": "44f079a4fdeb1c91f539e9175f4ef4b513c96865",
      "parents": [
        "069afb22bc2e3d62f7d2c99295289beec30a091d"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 17:50:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 17:50:12 2026 -0400"
      },
      "message": "[TIRx] Infer variables from linear packed shapes (#20782)\n\nPrefer bare-variable dimensions across packed tensor arguments, then\ninfer unresolved shape variables from linear dimensions such as `4 * n +\n3`. Require exact divisibility before binding and check remaining\nconstraints after the variables are defined, preserving the inferred\nrelation in argument diagnostics."
    },
    {
      "commit": "069afb22bc2e3d62f7d2c99295289beec30a091d",
      "tree": "dfba2ab96aace0aca76fffa25216a0612fad44c1",
      "parents": [
        "3baeffbb070ae6dc356bf046b9e2ef2ae3384914"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 17:44:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 17:44:41 2026 -0400"
      },
      "message": "[FIX][TIRx] Preserve loops containing break or continue during unrolling (#20783)\n\nPreserve loops containing `break` or `continue` during TIRx unrolling so\nloop-control statements retain their enclosing loop. Clear explicit\nunroll markers on these loops and apply the guard before automatic,\nlocal-access, and extent-one unrolling."
    },
    {
      "commit": "3baeffbb070ae6dc356bf046b9e2ef2ae3384914",
      "tree": "6d26be3ef9f0e5c16f7a1992d4ca5ef88673e9e3",
      "parents": [
        "d4759d513e376bf7f6ca25f9925d472a4c19aae7"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 17:06:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 17:06:14 2026 -0400"
      },
      "message": "[REFACTOR][Script] Simplify printer configuration and display options (#20778)\n\nDisplay TVMScript directly with syntax highlighting by removing the\nobsolete Black formatting option and environment switch from the shared\nprinter and its wrappers.\n\nKeep dialect-specific type-annotation settings in `extra_config`, place\nthat configuration last in printer signatures, and keep TIRx printer\ndocumentation independent of parent dialects. Preserve the Relax-owned\nPython-module convenience through explicit configuration adaptation."
    },
    {
      "commit": "d4759d513e376bf7f6ca25f9925d472a4c19aae7",
      "tree": "6e7bb4b6c358ca0488a955aa665749cbd70379f9",
      "parents": [
        "2d992bb97c076f44f71e6a3042bdd1b330991dfc"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 15:35:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 15:35:59 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Remove redundant helpers and construct tensor variables directly (#20776)"
    },
    {
      "commit": "2d992bb97c076f44f71e6a3042bdd1b330991dfc",
      "tree": "c39610de4d68f811419f16e343145155900e2e18",
      "parents": [
        "4086b5ff0ef0bbfc6463f7a9d7ba581a9f3d663c"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 14:50:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 14:50:48 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Expose dispatch and tensor layout lowering passes (#20775)"
    },
    {
      "commit": "4086b5ff0ef0bbfc6463f7a9d7ba581a9f3d663c",
      "tree": "dfee05aa0e54549e7ebe5d4ad29707d8c02320df",
      "parents": [
        "fa18bd3119748cb59773721281a2af424a4a3d22"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 14:50:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 14:50:05 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Simplify Python APIs and source docstrings (#20777)"
    },
    {
      "commit": "fa18bd3119748cb59773721281a2af424a4a3d22",
      "tree": "57b823051cf77fe893ee640fd90eb2e81dd66b16",
      "parents": [
        "2e5ad4e4e5f29b404e2430cbb2b588f19cdf8669"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sat Oct 17 08:15:01 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 08:15:01 2026 -0400"
      },
      "message": "[REFACTOR] Keep attribute contracts with their owning interfaces (#20772)\n\nName operator attribute headers for their key declarations and type\ncolocated keys using their existing value contracts. Preserve erased-map\nand callback compatibility boundaries, and expose optional typed Target\nbackend configuration without changing serialized runtime configuration.\n\nUse tensor type alignment directly when lowering allocations and\nemitting CUDA storage declarations. Keep the Hexagon device constructor\nin the runtime namespace."
    },
    {
      "commit": "2e5ad4e4e5f29b404e2430cbb2b588f19cdf8669",
      "tree": "58d0e8a7247a4e9ce122cd242f6c3892a63e4429",
      "parents": [
        "e369aba82413985e5a26c862a3eac72638350e73"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 22:46:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 22:46:34 2026 -0400"
      },
      "message": "[TIRx] Remove obsolete builtin lowering bypass (#20771)\n\nRemove the obsolete `disable_lower_builtin` annotation and its lowering\nbypass, along with the dedicated LLVM large-stack allocation test that\nused it. Allocations follow the normal builtin-lowering path."
    },
    {
      "commit": "e369aba82413985e5a26c862a3eac72638350e73",
      "tree": "9ddaf2651a047e51868a3cc3270705a87e8fb669",
      "parents": [
        "1d735e19c0dbf56c3c6ced7914d3e90d2c922a46"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 22:37:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 22:37:41 2026 -0400"
      },
      "message": "[REFACTOR][Python] Use TVM-FFI APIs directly (#20769)\n\nUse canonical TVM-FFI APIs directly instead of maintaining duplicate\nTIRx root, runtime and IR exports. Migrate Python callers, examples and\nreferences to `tvm_ffi`, while preserving TVM-specific runtime behavior,\ndevice convenience constructors and IR diagnostics."
    },
    {
      "commit": "1d735e19c0dbf56c3c6ced7914d3e90d2c922a46",
      "tree": "db8843004acb0024608865fed5c85177a0694935",
      "parents": [
        "f399972beeb8996f086d5131a50251e84aead51e"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 22:31:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 22:31:54 2026 -0400"
      },
      "message": "[REFACTOR] Clean up tensor helpers and parent library visibility (#20770)\n\nUse canonical ir.Var construction for tensor variables and remove unused\nPython replacement and FFI helpers while retaining operator traversal\ncoverage.\n\nMove compiler and runtime-extra visibility policies into parent-owned\nheaders with explicit consumer includes, keeping standalone TIRx\nindependent. Generated C host modules use their own FFI export alias."
    },
    {
      "commit": "f399972beeb8996f086d5131a50251e84aead51e",
      "tree": "5af9f8faea85af9fc51beb6a040f771af242bdbc",
      "parents": [
        "c4328e3b97b4a78da548768d2d0abe41dda632cc"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 21:58:10 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 21:58:10 2026 -0400"
      },
      "message": "[REFACTOR][IR] Align explicit constructors and finish TIRx cleanup (#20768)\n\nUse type-first `ty` arguments for explicit constant nodes and `Cast`,\naligning native bindings, callers and emitted script. Python `Call(op,\nargs, ..., ty\u003dNone)` keeps the operator and arguments first, with\noptional keyword-only `ty` for result inference or an explicit type; the\nnative Call constructor and FFI remain type-first.\n\nKeep value-first convenience conversion: `const` and script `cast`\naccept both `dtype\u003d` and `ty\u003d`, while `astype(dtype)` remains unchanged.\nShared `const` infers bool/int32/float32 for Python and NumPy scalar\nkinds, rejects overflow instead of widening, and retains explicit types\nand locations. Native simplifying cast uses the `PrimType` overload.\n\nRemove unused Attrs/deprecation/JSON helpers and duplicate dialect\nsetup, align private overload and class-method binding names, and trim\nunused dependencies. Preserve embedding parents\u0027 per-configuration\noutput directories, simplify public-header installation, and point the\npackage Documentation metadata to the TIRx site."
    },
    {
      "commit": "c4328e3b97b4a78da548768d2d0abe41dda632cc",
      "tree": "1c22e13abdd5662433ea287e442afeefefa28988",
      "parents": [
        "7b759fb5134328af600e1ea5a25e20afe6b30c2b"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Fri Oct 16 18:47:17 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 18:47:17 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Return statements from tile dispatch (#20767)\n\nTile dispatch currently returns a `tirx.Function` even though\n`TileDispatch` only consumes its body. Change `FTileOpDispatch` and the\nPython lowerer contract to return an `ir.Stmt` directly, then\nrecursively lower that replacement statement at the original\n`Evaluate(Call)` site.\n\nCUDA patterns now construct a statement sequence directly. Trainium\nlowerers return their implementation bodies. Allocation/initialization\ncallbacks, shared state, and residual tile-call checks retain their\nexisting behavior. The dispatcher rejects non-statement results,\nincluding the former `Function` return type.\n\nUpdate the API documentation and C++/Python coverage for direct\nstatement results, recursive expansion of multi-statement\nimplementations, and invalid lowerer results. LowerTIRx\nexecution-context test probes now also return a native statement,\npreserving their existing scope and structural-equality assertions.\n\nValidation:\n- Built TIRx and its C++ test executable in a fresh CPU-only build; both\n`ThreadScope.*` tests passed, including typed statement dispatch.\n- The non-GPU tile suite passed 153 tests, including all 14 dispatcher\ntests and Trainium lowering coverage; existing hardware skips remained\nin effect.\n- The complete LowerTIRx test module passed 47 tests, with one existing\nhardware-dependent skip.\n- All five existing DSMEM dispatch cases passed their CPU-side\nstatement-type, instruction-count, and rejection checks.\n- Pre-commit passed on all changed files.\n- Python syntax compilation and/or pytest collection passed for all 16\nmodified Python files.\n- C++ formatting comparison and `git diff --check` passed.\n- GPU execution was not tested locally: CUDA pattern tests were skipped\nby their existing hardware requirements. Upstream CI covers the broader\nplatform matrix."
    },
    {
      "commit": "7b759fb5134328af600e1ea5a25e20afe6b30c2b",
      "tree": "30446e84f656d8d7130323717b3d1272fdcbc8e9",
      "parents": [
        "7a90e88b46b98d8f1bf6e16ec730deceab3e7799"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 16:25:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 16:25:56 2026 -0400"
      },
      "message": "[TIRx] Simplify Python APIs and configuration discovery (#20766)\n\nOrganize TIRx\u0027s Python APIs by moving IndexMap into its own module and\nLLVM helpers under `codegen.llvm`. Use the existing s_tir attribute\nchecks directly, remove the empty dialect backend package, and place\npublic operator declarations before private helpers.\n\nCentralize configuration discovery in `libinfo.py` and share it with\npackage and native configuration commands. Replace legacy exception\nclasses with builtin exceptions while retaining FFI error messages and\nsubprocess cleanup. Remove the environment-probe test module and move\nwheel library validation into the runtime suite with updated packaging\nand CI selectors."
    },
    {
      "commit": "7a90e88b46b98d8f1bf6e16ec730deceab3e7799",
      "tree": "27f160d59356ddf720ef05d93d943595f723c379",
      "parents": [
        "027144beb07d2d5463b402fda7d9f73ae94dd2b3"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 15:36:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 15:36:20 2026 -0400"
      },
      "message": "[TIRx] Clarify overload sets, leaf ownership, and terminal throws (#20765)\n\nTIRx visitors and code generators intentionally override only part of\ntheir base overload sets. Expose the remaining overloads and mark the\nprivate analyzer implementations as leaf types.\n\nMake terminal FFI throw paths explicit so MSVC can recognize that those\npaths cannot return. This preserves the existing dispatch and exception\nbehavior while addressing the focused Clang and MSVC warnings."
    },
    {
      "commit": "027144beb07d2d5463b402fda7d9f73ae94dd2b3",
      "tree": "562e599d4ae3db3632102f1f3c893fcb8562c616",
      "parents": [
        "4233d0557c2e5a2c9fd2f9b0d98312c688f32cb0"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 15:00:16 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 15:00:16 2026 -0400"
      },
      "message": "[CMake] Use typed parent options and retire config.cmake (#20764)\n\nReplace the parent build\u0027s legacy option registry and config.cmake\nworkflow with typed TVM_USE_* settings and native CMake arguments.\nMigrate repository scripts, CI, examples, and documentation to the same\nconfiguration interface, including explicit SDK selectors.\n\nApply compiler properties and dependency requirements to their consuming\nparent targets while preserving source-built and installed TIRx\nintegration, third-party shared-library APIs, relative library paths,\nand package-owned install components."
    },
    {
      "commit": "4233d0557c2e5a2c9fd2f9b0d98312c688f32cb0",
      "tree": "6f98dd794795a56a41040fe22d41749bf9a01d8e",
      "parents": [
        "149f7515e45958a4344818a645ea542e558a2619"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 14:12:53 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 14:12:53 2026 -0400"
      },
      "message": "[REFACTOR] Separate TIRx compiler and runtime deployment APIs (#20763)\n\nExpose component-based build and link configuration through\n`tvm-tirx-config` and name the compiler library `libtvm_tirx_compiler`.\n\nMove export and JIT orchestration into `codegen.Executable`, use FFI\nmodules directly in the runtime, and keep object/archive linking\nexplicit in compiler and RPC consumers. Move benchmarking policy to the\nparent runtime while retaining the small device timer interface and\nbackend providers in TIRx."
    },
    {
      "commit": "149f7515e45958a4344818a645ea542e558a2619",
      "tree": "50ab0da523a1ef11aaa5a9bdbc1213f13cd4d9ce",
      "parents": [
        "474fe2713b67465024d1eacc83f48b673c54d6a7"
      ],
      "author": {
        "name": "alumkal",
        "email": "alumkal-pub@outlook.com",
        "time": "Fri Oct 16 22:41:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 10:41:51 2026 -0400"
      },
      "message": "[FIX][Sym] Reject non-positive divisors in iter map floordiv/floormod (#20756)\n\nFixes #20736.\n\n### Problem\n\n`SplitFloorDivConst` and `SplitFloorModConst` cancel a non-unit iterator\nscale against the divisor. With a negative scale this produces a\nnegative divisor: `floordiv(63 - x, 2)` (scale `-1`, base `63`) becomes\n`floordiv(x - 63, -2)`. `PadDividendToDivisor` and the split\nconstruction assume a positive divisor:\n\n- `left_pad \u003d floormod(-63, -2) \u003d -1`. In the first pass the mark\u0027s\npadding is `max(info.left_pad, -1) \u003d 0`, so the split is not shifted,\nwhile `new_base \u003d floordiv(base - left_pad, rhs) \u003d 31` still assumes the\nshift.\n- The new split gets `lower_factor \u003d -2`.\n\nAs a result, over `x in [0, 64)`:\n\n| expression | `iter_map_simplify` on main | wrong values |\n|---|---|---|\n| `floordiv(63 - x, 2)` | `x // -2 + 31` | 32 / 64 |\n| `floormod(63 - x, 2)` | `x % -2 * -1` | 64 / 64 |\n| `floordiv(63 - x, 4)` | `x // -4 + 15` | 48 / 64 |\n| `floormod(65 - x, 4)` | `x % -4 * -1` | 64 / 64 |\n| `floordiv(x + 1, -2)` | `x // -2 + -1` | 32 / 64 |\n| `floormod(x + 1, -2)` | `x % -2` | 64 / 64 |\n\nDownstream, a buffer flattening pass that uses the iter-map simplifier\nturns a reversed block index `A[(63 - bx) // 2, tx]` into an index that\nreads the previous row for odd `bx` and row -1 (out of bounds) for `bx \u003d\n63`.\n\n### Fix\n\nAfter the scale handling, report a provably non-positive divisor as not\nrepresentable (via `ErrorLogger`), so these expressions are left\nunchanged. Negative scales that divide out exactly (e.g. `floordiv(x *\n-2 + 62, 2)` -\u003e `x * -1 + 31`) take the earlier exact-division branches\nand are still simplified. Divisors of unknown sign are not affected, so\nsymbolic divisors such as `n * 4096` keep simplifying as before.\n\n`DetectIterMap` callers already handle this failure: `IterMapSimplify`\nkeeps the original expressions, `SubspaceDivide` returns empty, and\nregion evaluation falls back to `EvalSet`.\n\n### Testing\n\n- New `test_non_positive_divisor_is_not_simplified`: fails on main,\npasses with this change.\n- `tirx/tests/python/sym/test_iter_affine_map.py`: 46 passed.\n- `tirx/tests/python/sym`, `tirx/base/test_index_map.py`,\n`tirx/transform`, `tirx/analysis`, `tirx/test_layout.py`: 1466 passed.\nThe 7 failures are unrelated: 6 need LLVM (not built here) and\n`test_vectorize_nested_predicates_preserve_both_masks` fails identically\non main.\n- A probe over 15 negative-scale and negative-divisor expressions gives\n0 wrong values after the change."
    },
    {
      "commit": "474fe2713b67465024d1eacc83f48b673c54d6a7",
      "tree": "adbf560256b12ec3d1689280a03be451e54fcef4",
      "parents": [
        "8a43b6708c8aabaa051dd9cbb1c23197c1869c5a"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 10:12:36 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 10:12:36 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Align public APIs and package boundaries (#20759)\n\nAlign the TIRx public surface across C++, Python, and registry bindings.\nNormalize global names and result-type arguments, use reflected fields\nand documented Python operator helpers, mirror header layout in Python\nmodules, centralize dictionary attribute construction, and update\ncallers across the compiler and runtime integrations. Expression callers\nuse the public IR namespace; the shared script cast builder accepts a\nvalue followed by its result type, with optional explicit `ty\u003d` and\nkeyword-only source locations.\n\nRemove unused declarations, registrations, and source-map plumbing;\nsimplify shared IR builders and domain-map APIs; and keep VM-only\nhelpers in the compiler runtime. Tighten tensor serialization sizes and\nreads, preserve workspace API error handling, and use shared FFI base64\nand string escaping helpers.\n\nMeta-schedule database payloads now use direct base64 encoding without\nthe legacy length prefix. Registry, Python API, and database format\nchanges update consumers directly without compatibility aliases."
    },
    {
      "commit": "8a43b6708c8aabaa051dd9cbb1c23197c1869c5a",
      "tree": "ba064b84a91be766217ef5bedffb791a2f695ce7",
      "parents": [
        "d72d4b5af9538dd3474b0d2bf7436cee2d677e95"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Fri Oct 16 09:39:26 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 16 09:39:26 2026 -0400"
      },
      "message": "[BUILD] Enable LLVM and automatic CUDA in standalone TIRx (#20755)\n\nStandalone TIRx builds now enable LLVM by default and detect CUDA when a\ncomplete toolkit is available. Preserve explicit backend and toolchain\noverrides, explain missing LLVM development dependencies, and use the\nsame defaults for normal Python package installation."
    },
    {
      "commit": "d72d4b5af9538dd3474b0d2bf7436cee2d677e95",
      "tree": "c0294134fc7f4186a3a5c2dc4b7f8568e9501d8a",
      "parents": [
        "55c8b72b91fb197cfe2f4b851ff275487ce78aed"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Thu Oct 15 21:48:10 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 21:48:10 2026 -0400"
      },
      "message": "[CI] Build and consume source wheel artifacts across Jenkins platforms (#20750)\n\nBuild pinned-source FFI, TIRx and TVM wheels in Jenkins and transfer the\nthree packages through dist/. A single build-dependency script prepares\nwritable backend and Z3 prerequisites in .local/python; Groovy calls the\nroot platform build script.\n\nRoot platform scripts own the complete platform options and three direct\nwheel builds in FFI, TIRx, TVM order. All three use the same root CMake\nsource/build tree, native settings and source version; fixed tvm_ffi,\ntvm_tirx and tvm install components select each package\u0027s payload. Run\nenabled C++ tests from that shared native tree. Retain standalone TIRx\nplatform scripts for future independent use; Wasm orchestration remains\nin parent TVM.\n\nSource the small wheel-installation script before test commands in\nGroovy. It installs the three package-prefix globs offline without\ndependency resolution into .local/python, keeps the pinned ORCJIT\nprerequisite, and exports installed-package paths and source resources.\nPython, docs, Java and Wasm entrypoints use that caller-provided\nenvironment. Java discovers native artifacts through package\nconfiguration, and relative library paths keep the separate packages\nrelocatable.\n\nTemporarily bypass sccache in Jenkins with real GCC compilers and\ncleared compiler launchers, retaining image tooling for later\nrestoration. Keep existing parallel bounds and Docker environment\nforwarding. Preserve Jenkins retry behavior and optional GPU\nshared-library packaging. Resolve OpenCL headers through the configured\nSDK or pinned CMake FetchContent when OpenCL is enabled, replacing the\nheader submodule. Build macOS and Windows parent wheels against the\nexplicitly installed local TIRx artifact. Remove redundant CI/build\nwrappers and document direct development commands."
    },
    {
      "commit": "55c8b72b91fb197cfe2f4b851ff275487ce78aed",
      "tree": "a5a3115aa604b9299f7fde896e747080b908a5ab",
      "parents": [
        "f4137df197bf35d56b9962417132012c0fb96285"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Thu Oct 15 19:41:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 19:41:04 2026 -0400"
      },
      "message": "[REFACTOR] Simplify TIRx CMake and package installation (#20751)\n\nGive TVM and TIRx fixed install components so each package owns its\nheaders, libraries, and support files in standalone and embedded builds.\nEach wheel selects its package component, and the parent no longer\nduplicates TIRx installation rules.\n\nScope TIRx compilation policy to its core and backend object/library\ntargets, preserving embedding-project and bundled-FFI settings. Attach\nthread-pool requirements directly to runtime targets, retain GNU and\nIntel OpenMP selection, and isolate LLVM signature detection from parent\ncompilation defaults.\n\nUse typed native option declarations, explicit module includes, a\nshared-script source pattern, documented installation sections, and only\nthe parent exports with consumers. Keep the installed package\u0027s\nshared-library interface and explicit FFI linkage."
    },
    {
      "commit": "f4137df197bf35d56b9962417132012c0fb96285",
      "tree": "3456c497c891f46f941b5a13ed7a77eaa2abd6f9",
      "parents": [
        "0a5e9104797d02d4388b394be22d441444fed9c8"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Thu Oct 15 17:58:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 17:58:33 2026 -0400"
      },
      "message": "[REFACTOR] Simplify standalone TIRx CMake (#20749)\n\nOrganize the core build around native `TVM_TIRX_*` options, explicit\ncompilation policies, and reusable source targets. Build the pinned FFI\nsource within the core, keep opt-in C++ tests in their own subtree, and\nkeep standalone installation beside the core/backend definitions.\nEmbedding parents own their installation rules.\n\nExpose `tvm_tirx::header`, `tvm_tirx::shared`, and `tvm_runtime::shared`\nfor installed consumers. Python-backed discovery reports the normal\npackage\u0027s public headers and core shared libraries; consumers find and\nlink FFI explicitly. TIRx installs only its own artifacts, while parent\nextensions handle their backend integration privately. Update source and\nwheel entry points for the dependency layout, native option names, and\nquoted `CMAKE_ARGS` environment settings."
    },
    {
      "commit": "0a5e9104797d02d4388b394be22d441444fed9c8",
      "tree": "9cd9eea69e04b0417782dd77cd60f5170e597b62",
      "parents": [
        "3c64f417a21147de12c3573c3b3dc3f7391777d8"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Thu Oct 15 17:46:40 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 17:46:40 2026 -0400"
      },
      "message": "fix(infra): update tir-test for the in-tree TIRx split (#20748)\n\nAfter the in-tree TIRx split, compiler tests live in\n`tirx/tests/python/tirx/`, while downstream registry correctness\ncoverage remains in\n`tests/python/tirx/test_tirx_kernels_registry_correctness.py`. The\n`tir-test` workflow still uses the old compiler package and test\nlocation.\n\nLoad this worktree\u0027s `tvm_tirx` package and native libraries, preserve\nthe inherited `PYTHONPATH`, and run both test locations. Keep both\ntirx-kernels import gates and registry correctness checks enabled by\ndefault, with failure propagation and complete pytest logs.\n`TIR_TEST_WITH_KERNELS\u003d0` explicitly selects compiler-only coverage.\n\nHandle `ProcessLookupError` when a terminating process disappears during\nthe IKET cleanup test\u0027s `/proc` read. The complete workflow exposed this\nrace; the new deterministic regression reproduces it against the\nmainline helper.\n\nPaired with the downstream namespace migration in\n[mlc-ai/TIRx-kernels#12](https://github.com/mlc-ai/TIRx-kernels/pull/12).\n\nValidation:\n\n- Both downstream import gates passed for all 93 kernels.\n- Combined compiler and downstream collection after rebasing onto main:\n4,118 tests collected successfully.\n- Paired tirx-kernels infrastructure and API regressions: 210 passed;\nexported-host isolation checks: 4 passed.\n- Full combined run after rebase on two B200 GPUs with eight xdist\nworkers: 3,804 passed, 299 skipped, 5 xfailed, and 10 CUDA out-of-memory\nfailures in 657.97 seconds. The failure logs show concurrent GPU\nallocations of approximately 155 GiB.\n- All 10 out-of-memory cases passed in a serial retry on GPU 3 in 35.80\nseconds, with the same code and no test exclusions. This validates 3,814\npassing cases across the full run and retry.\n- All 32 IKET orchestration tests passed, including both new\nprocess-exit regressions; the complete combined run also passed this\ncoverage.\n- Bash syntax, skill validation, and pre-commit checks passed."
    },
    {
      "commit": "3c64f417a21147de12c3573c3b3dc3f7391777d8",
      "tree": "82c6ebd3ee80e02668f0b22aae8abf784f46f051",
      "parents": [
        "9d6712ae2e8334ad537afae16eae29b0f7926985"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Thu Oct 15 15:01:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 15:01:22 2026 -0400"
      },
      "message": "[TEST] Use subsystem-relative names for standalone TIRx tests (#20747)"
    },
    {
      "commit": "9d6712ae2e8334ad537afae16eae29b0f7926985",
      "tree": "bb6ef1e30fd9071742a8c757b6ae58e2fdf05cda",
      "parents": [
        "8c19d3ccb871c9f66b53ff803ec497190c6951e5"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Thu Oct 15 13:09:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 13:09:12 2026 -0400"
      },
      "message": "[CI] Simplify native Jenkins pipelines and cache Docker Hub images (#20744)\n\nMake native Jenkinsfiles the source of concrete build, test and\ndeployment behavior, with shared utilities for node execution, Docker\nsetup and artifact transfer. Use explicit node labels and optional\nfallback while preserving the original newest-build retry policy. Remove\nunused legacy wrappers, expose upload_artifacts and download_artifacts\ndirectly, and group shared configuration separately from runtime state.\n\nKeep helper loading readTrusted-only, explain upstream branch status\nchecks on rejection, and use CPU executors for CPU tests. Deployment\nstays in the GPU and Docker pipelines with its existing gates,\nworkspaces, timeouts and credentials.\n\nResolve Docker Hub CI images through the AWS caller account\u0027s ECR\ndocker-hub pull-through cache after image selection and parameter\noverrides. A shared global controls translation; pulling and container\nexecution use the same resolved reference, while publishing and local\ndevelopment retain public image names.\n\nRename the artifact registry to artifacts.py and add upload glob\nexpansion. Expose repeatable single-value --artifact and --path options\nwhile retaining --bundle and --items. Keep artifact and path selection\nmutually exclusive and preserve current runtime and native-test\nartifacts.\n\nRemove obsolete script copies, the separate Jenkins README and helper\ntest scaffolding. Keep concise usage comments beside the code and retain\nCI-script and bot tests with a minimal inline dummy PR fixture."
    },
    {
      "commit": "8c19d3ccb871c9f66b53ff803ec497190c6951e5",
      "tree": "a681f4302403fc529c85149bee8d90e7e56ad6ee",
      "parents": [
        "aa34ac394fafbca18f846d865c5304fa04c5025c"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Thu Oct 15 11:38:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 11:38:59 2026 -0400"
      },
      "message": "[REFACTOR] Bringup tirx in standalone folder (#20742)\n\nExtract the TIRx core into a standalone `tirx/` tree with its own CMake\nbuild, native libraries and Python package `tvm_tirx`. The\n`apache-tvm-tirx` distribution starts at `0.1.0a0`; parent TVM depends\non it while retaining VM, Disco, RPC/minrpc, runtime-extra and contrib.\nC++ namespaces and registration identities are preserved.\n\nMove the existing core sources and tests into their owning tree, update\nPython imports and build/package references, and keep Z3 with the core\nsymbolic analyzer. The history separates byte-preserving relocation,\nmechanical namespace changes and focused integration corrections."
    },
    {
      "commit": "aa34ac394fafbca18f846d865c5304fa04c5025c",
      "tree": "fcbacd15483e1d6b299501d133801079b11724c8",
      "parents": [
        "c14bc80e8bf1173de080130a2609822c30663248"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Thu Oct 15 09:52:39 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 09:52:39 2026 -0400"
      },
      "message": "[CI] Require approving reviews without mandatory status checks (#20743)\n\nRemove required CI status contexts from main branch protection while\nretaining one required approving review, matching tvm-ffi. Committers\nremain responsible for checking CI before merging."
    },
    {
      "commit": "c14bc80e8bf1173de080130a2609822c30663248",
      "tree": "4e4aca57de8de3f1ba032b5e616975d615c306a1",
      "parents": [
        "66394cd89ff5a74c633a8a8ffada00ecf065eb29"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 20:47:31 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 20:47:31 2026 -0400"
      },
      "message": "[REFACTOR][CI] Share native Jenkins pipelines and organize CI helpers (#20735)\n\nReplace generated Jenkins/Jinja duplication with native Groovy at the\nexisting five job entry points. Shared preparation, checkout, Docker,\nartifact, and retry helpers preserve each operation\u0027s fallback policy;\nplatform commands and deployment remain explicit. Entry points evaluate\nonly `readTrusted` helper content, and normal preparation pins the\nsource merge revision for subsequent stages.\n\nOrganize native CI commands under `ci/jenkins`, `ci/github`, and\n`ci/wheel`, including Jenkins node diagnostics, and simplify\ncommand/logging wrappers with standard-library operations. Retain the\noriginal command paths and dependencies alongside them for older trusted\nJenkinsfiles selected by fork PR jobs. The legacy jobs keep their\ndocs-only and slow-test gates; the native pipelines remove those gates.\nRetire Jinja generation and the unused Docker updater/manual workflow\nwhile preserving image configuration, artifact metadata, and transfer\nretries."
    },
    {
      "commit": "66394cd89ff5a74c633a8a8ffada00ecf065eb29",
      "tree": "902d0629664afc940e6429c0b49e6289e9c87fef",
      "parents": [
        "074f1a0c98e0f3bd429c15a58ca95084f679c2c3"
      ],
      "author": {
        "name": "HuEnwei",
        "email": "huenwei@tju.edu.cn",
        "time": "Thu Oct 15 08:18:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 15 08:18:36 2026 +0800"
      },
      "message": "[Fix][Relax][Frontend][Torch] Validate `dim` in the `squeeze` converter (#20322)\n\nFixes #20321.\nReject out-of-range squeeze dimensions with a clear ValueError instead of silently dropping axes or raising an internal error. Add regression tests for invalid dimensions and valid tuple inputs.\n\nAlso fix existing clang-format violations in include/tvm/tirx/type.h and src/ir/expr.cc so that whole-tree lint checks pass."
    },
    {
      "commit": "074f1a0c98e0f3bd429c15a58ca95084f679c2c3",
      "tree": "5926fe9b293b3093d3ac696e01457278b05bf31c",
      "parents": [
        "eb2a8f7b8c9e621eea89a978a410da51c913a4ae"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 19:44:20 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 19:44:20 2026 -0400"
      },
      "message": "[REFACTOR][HEXAGON] Retire bundled runtime and retain compiler support (#20733)\n\nRemove the bundled Hexagon device runtime and its SDK, QuRT, RPC, and\nsimulator build integration while retaining LLVM Hexagon code\ngeneration, target configuration, intrinsic lowering, and\ncompiler/linker helpers. Keep OpenCL build discovery independent of the\nremoved runtime CMake module.\n\nThe Hexagon runtime can be brought back later as an off-tree build."
    },
    {
      "commit": "eb2a8f7b8c9e621eea89a978a410da51c913a4ae",
      "tree": "2bfde5c2e0170ffad274c295db2aa49f22385190",
      "parents": [
        "7dc7f92403d8da2258d2ef99ce099f3821af77e0"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 19:44:09 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 19:44:09 2026 -0400"
      },
      "message": "[REFACTOR][TIR] Retire legacy CUDA tensorization and warp memory lowering (#20734)\n\nRetire the legacy CUDA s_tir tensor-core intrinsic catalogue and its\nMetaSchedule tensor-core presets, automatic selection, and dedicated\ncallers. CUDA scheduling uses the generic preset; new tensor-core\nkernels use the PTX/tile paths.\n\nRemove LowerWarpMemory and its public entry points and pipeline calls.\nROCm MFMA uses explicit per-lane local fragments, and CUDA/OpenCL reject\nresidual warp storage. Keep shared scheduling transforms and MemHammer\nsupport, with the retained matrixC layout mapping defined directly in\nits transform.\n\nMove the unchanged definitions of `tirx.ptx_legacy.mma`,\n`tirx.ptx_legacy.ldmatrix`, `tirx.cuda.mma_store`, and\n`tirx.cuda.mma_fill` into CUDA `op/legacy.cc`. Preserve their\nconstruction APIs for downstream code generators while removing TVM\u0027s\nCUDA emitters and their exclusive helpers. Shared PTX dtype support\nremains available."
    },
    {
      "commit": "7dc7f92403d8da2258d2ef99ce099f3821af77e0",
      "tree": "e027d4783016a9dd371c9c0b06145837e90b8e41",
      "parents": [
        "8ff466b3517e38a3b445662822db97d77886a783"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Wed Oct 14 18:37:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 18:37:24 2026 -0400"
      },
      "message": "refactor(op-dispatch): unify thread scopes as enum tags (#20732)\n\nThread scopes currently use a separate object registry, while tile Calls\nstore a string and recreate the scope during decoding and dispatch.\nReplace these representations with canonical `ffi.Enum` tags shared by\nCall attributes, Axis/Layout, axis fusers, and\n`DispatchContext.thread_scope`.\n\nCUDA and Trainium register their tags natively with explicit backend and\nhierarchy-rank attributes. Rank comparisons are independent of enum\nregistration order. Instruction constructors resolve short names,\nqualified names, or enum values before creating a Call: `scope\u003d\"warp\"`\nnow stores `ThreadScope(\"cuda.warp\")`. Raw attribute construction\nrequires a scope tag or a registered qualified name.\n\nUpdate TVMScript printing, JSON/pickle singleton round-trips, backend\nhelpers, documentation, and regression tests. Remove the former\n`ExecScope` API and registration hooks; serialized data using the old\nscope type must be regenerated. Native C++ tests cover registration,\nrank ordering, typed attributes, and dispatch without Python.\n\nValidation:\n\n- Build and pre-commit pass.\n- 304 targeted Python regressions pass with the repository-pinned\ntvm-ffi: ThreadScope/Axis/Layout, Call validation and dispatch, CUDA\nexecution contexts, Trainium private allocation, IRBuilder void\nemission, GPU script, printer snapshots, and JSON round-trips. This\nincludes the three printer expectations identified by the first CPU CI\nrun and updated for canonical enum tags.\n- An earlier extended CUDA/TRN/script run had 571 passing cases and 3\nskips. Its two JSON failures, together with three initial core JSON\nfailures, all pass with the pinned tvm-ffi. The original local\nenvironment used the older 0.1.14.post1 release; a temporary\nsource-matched 0.1.15rc0 build resolves the dtype corruption.\n- Two native C++ tests pass without loading Python and also passed in\nCPU CI.\n- Pinned benchmark workload import check passes for 93 kernels. Broader\ndownstream imports encounter existing references to the absent\n`tvm.tirx.script.builder` and `IRBuilder._set_current_loc` APIs."
    },
    {
      "commit": "8ff466b3517e38a3b445662822db97d77886a783",
      "tree": "836b6b049ae050792bcd25625b935cb811ab24d2",
      "parents": [
        "c6f2f7e29ca19113041520c871ba9cae1f0f7091"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Wed Oct 14 17:39:28 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 17:39:28 2026 -0400"
      },
      "message": "feat(tvmscript): add scoped Python line tracing for IRBuilder (#20731)\n\nAdd `IRBuilder.line_trace_scope()` for frontends that execute ordinary\nPython to construct IR. Traced operations retain their source lines and\nhelper call sites, with optional implementation-path exclusions and\nrestoration of prior tracing state on exit.\n\nUse the owned `PushLoc` / `UpdateLoc` location slots from #20727 so\nadvancing a traced line preserves nested explicit `with_loc` scopes and\ndeferred frame locations. Cover same-line helper returns, nested\nbuilders, existing trace callbacks, and exception cleanup. Initialize\nCUDA in void-emission tests through the idempotent backend loader so\nrepeated setup preserves canonical script namespaces.\n\nVoid emission uses the native script API boundary independently of\ntracing. Raw operators construct Calls; script-facing void operators\nemit whenever an IRBuilder is active. Apply the existing native\ndecorator to the CUDA tile `apply` and `ewise` exports, and test both\nwith tracing enabled and disabled. Document tracing and native Tensor\nparameter contracts, including compiled host checks for shared\ndimensions.\n\nDownstream TIRx-lite migration:\nhttps://github.com/mlc-ai/TIRx-kernels/pull/11 (merge this TVM change\nfirst).\n\nValidation:\n\n- Native build and changed-file pre-commit passed.\n- 365 script, namespace, and tracing tests passed (2 skipped, 1\nxfailed), including the combined test order that previously replaced\ncanonical CUDA namespaces.\n- The new documentation sections parse without warnings.\n- 167 downstream lite API, entry, IR-contract, descriptor, registry, and\ncompiler tests passed.\n- Bench-suite imports passed for 93 kernels; strict registry discovery\npassed for 105 kernels.\n- Full TIRx suite on all seven Blackwell GPUs: 3,994 passed, 300\nskipped, and 5 xfailed in 561.08 seconds. Eleven cases hit GPU-memory\ncontention while allocating test inputs; all eleven passed when rerun on\nphysical GPU 6.\n\n---------\n\nCo-authored-by: Tianqi Chen \u003ctqchen@users.noreply.github.com\u003e"
    },
    {
      "commit": "c6f2f7e29ca19113041520c871ba9cae1f0f7091",
      "tree": "4507d675a333c56472983c446e116e7915c9b94f",
      "parents": [
        "eef7dc9b115412b4617d7cdbb759cc8c8beefaf8"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 15:48:27 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 15:48:27 2026 -0400"
      },
      "message": "[REFACTOR][PYTHON] Let FFI normalize wrapped type arguments (#20730)\n\nNative call construction already normalizes wrapper objects, so Relax\nhelpers only need to evaluate type factories. Remove redundant eager\nconversion from the type-argument helpers and keep object protocol\ncoverage in the existing suites."
    },
    {
      "commit": "eef7dc9b115412b4617d7cdbb759cc8c8beefaf8",
      "tree": "17c8ad95562ccf958d75768451049be7776f9ccf",
      "parents": [
        "d68740c178910557c7dcaa95328beb62c303e265"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 15:41:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 15:41:00 2026 -0400"
      },
      "message": "[CMake] Organize optional modules and build both runtime libraries (#20728)\n\nKeep core compiler/runtime source selection and target assembly in the\nroot CMakeLists.txt while moving optional runtime-extra assembly and C++\ntest setup into dedicated files. OpenCL collects wrapper sources\nindependently of Hexagon.\n\nBuild the shared runtime and `libtvm_runtime_static.a` together from\ncommon runtime objects, with their respective TVM-FFI dependencies.\nRemove the static-only option and update its callers and archive-linking\nguidance while preserving existing shared-library and wheel layouts.\nRemove the unused ABI-change debug option and its build definitions\nwhile retaining normal Debug and RelWithDebInfo behavior."
    },
    {
      "commit": "d68740c178910557c7dcaa95328beb62c303e265",
      "tree": "6c1df6c289462bc80f190186110a8d9939d989b2",
      "parents": [
        "f8e8af175984ccf4522dfea8282a3233aa50bec1"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 15:36:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 15:36:46 2026 -0400"
      },
      "message": "[FEAT][Script] Emit script-facing void operators through IRBuilder (#20729)\n\nScript-facing void operators emit one Evaluate(call) under an active\nIRBuilder and return AlreadyEmitted[Call] containing the exact original\ncall. A shared auto_emit_void_call decorator invokes one native\nscript-builder hook; statement receipts and explicit evaluate calls\nremain single-emission, with source context on both Call and Evaluate.\n\nRaw operator and PTX APIs remain Call constructors even inside builders.\nExplicit script exports and generated Call APIs use the decorator while\nclasses, region frames and callable namespaces retain their interfaces.\nScript PTX chains preserve instruction metadata for tile operands; CUDA\npatterns, codegen and printer reconstruction use ordinary raw APIs."
    },
    {
      "commit": "f8e8af175984ccf4522dfea8282a3233aa50bec1",
      "tree": "379f88fe896b43a5d2fc107dbf29edf6d250d474",
      "parents": [
        "3e523be8ce96a509d61bef37d721d53139139907"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 14:54:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 14:54:48 2026 -0400"
      },
      "message": "[Runtime] Register backend memory scopes with EnumDef (#20725)\n\nRegister backend memory scopes directly with EnumDef and explicit\nallocation attributes, removing the backend registration helper and\nredundant Vulkan WMMA registrations.\n\nAdd a C++ MemoryScope::IsDefined query that reads existing enum state\nwithout initializing scopes. OpenCL and Hexagon guard each name while\nretaining compiler and runtime registration entry points, preserving\ncanonical identities and existing attributes.\n\nInline the membership and registration shims while keeping lookup and\nbuiltin initialization in the runtime. Expose allocation policy through\nits typed attribute constant, with storage rewrite querying and\nvalidating that metadata directly instead of using a MemoryScope member\naccessor."
    },
    {
      "commit": "3e523be8ce96a509d61bef37d721d53139139907",
      "tree": "d21df4e253a669a7551a5ac86c5f1005cf429afe",
      "parents": [
        "9bee4305f39635dfcccb6017ed34b91d9d371d48"
      ],
      "author": {
        "name": "Akaash Parthasarathy",
        "email": "43900735+akaashrp@users.noreply.github.com",
        "time": "Wed Oct 14 11:27:21 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 23:57:21 2026 +0530"
      },
      "message": "[FIX][WebGPU] Fit wide FP32 prefill heads in shared memory (#20658)\n\nWebGPU prefill with 512-wide FP32 attention heads exceeds the 32 KiB\nshared-memory limit with the current tile. Use a 4-by-4 tile and 16\nthreads for this case, bringing the allocation to 24,688 bytes.\n\nThe regression test covers causal and sliding-window prefill and\nverifies that both kernels compile to WebGPU."
    },
    {
      "commit": "9bee4305f39635dfcccb6017ed34b91d9d371d48",
      "tree": "234231663a98a2a8a9d5385670ea483b7d6e91a4",
      "parents": [
        "c84cb8ce5b70bc03ec67b90f0e5fb0495e7d1992"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 13:34:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 13:34:57 2026 -0400"
      },
      "message": "[REFACTOR][CODEGEN] Separate target configuration from code generation (#20718)\n\nSeparate target configuration from shared code generation so target\nschemas and canonicalization remain independent of LLVM implementation\ndetails. Move shared C/LLVM machinery and intrinsic helpers into\ncodegen, expose focused public headers and a thin Python module, and\nkeep module serialization private behind the object-file export API.\n\nOrganize existing codegen tests by shared and platform ownership,\npreserving cases and updating their build and CI references."
    },
    {
      "commit": "c84cb8ce5b70bc03ec67b90f0e5fb0495e7d1992",
      "tree": "3daf5a5c282ee6f194c12206b6ae21b2d8f5019a",
      "parents": [
        "00cabd2a6df5118a5c57651ab5d2613674a03cae"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 13:34:49 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 13:34:49 2026 -0400"
      },
      "message": "[FIX] Repair shared C++ exports, OpenCL interfaces and compiler loading (#20722)\n\nExpose an optional DeviceAPI query for borrowed host mappings so VM\nauxiliary copies no longer depend on private OpenCL runtime interfaces.\nApply tensor and row offsets at the caller, retain the existing copy\nfallback, and clarify the host pointer arithmetic capability name.\n\nExport the native workspace methods consumed by CLML, with OpenCL\nvisibility definitions and host-pointer configuration supplied through\nbackend target usage requirements. Add missing TVM_TIRX_DLL annotations\nto existing shared analysis, IR and builder APIs. Give existing\nruntime-extra APIs an independent TVM_RUNTIME_EXTRA_DLL visibility\npolicy and mark extra object producers separately from core runtime.\n\nPreflight compiler-library presence before using the existing loader,\npreserving runtime-only installations while allowing genuine compiler\nloading errors to propagate.\n\nPlace the shared compiler texture helper alongside S-TIR Adreno\nlowering, with both Relax consumers using the same header and helper\nbehavior preserved.\n\nGive Maven native-library assembly a configurable default heap through\nthe existing JVM build script."
    },
    {
      "commit": "00cabd2a6df5118a5c57651ab5d2613674a03cae",
      "tree": "4dd26430e1ce97874d6159476ec24f49eaf743ce",
      "parents": [
        "b693ebeb57ab9144d244a1318c20146f90799955"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 13:34:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 13:34:14 2026 -0400"
      },
      "message": "[REFACTOR][PYTHON] Use the native FFI object protocol (#20726)\n\nDeferred expressions, TE tensor slices, and lazy enum values now expose\n`__tvm_ffi_object__`, the native FFI object protocol. Script builders\nand Relax type-argument helpers use that hook, and the obsolete\n`tvm.runtime.ObjectConvertible` export and `object_generic.py` shim are\nremoved.\n\nThis migrates TVM consumers before removal of the legacy protocol in\nTVM-FFI."
    },
    {
      "commit": "b693ebeb57ab9144d244a1318c20146f90799955",
      "tree": "89ca18cf81c2e8d53a2da0fd1c6abb5354535037",
      "parents": [
        "544ac6a818b6dea0f3b193a4268ef37438ff19e8"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 12:45:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 12:45:04 2026 -0400"
      },
      "message": "[TIRx] Add scalar builder initialization and assignment (#20724)\n\nExtend native local_scalar with optional initialization and in-place\nnaming while preserving its existing storage representation and\nallocation annotations.\n\nExpose assign for indexed tensor loads and one-element tensor storage by\nreusing parser scalar-store behavior, keeping destination checks and\nstatement emission consistent."
    },
    {
      "commit": "544ac6a818b6dea0f3b193a4268ef37438ff19e8",
      "tree": "b85ed2b7c059a234e840b0298febec1289d20d9e",
      "parents": [
        "4d0e2e3b4f500282a68f161c45c7798c65cb1020"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 11:56:58 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 11:56:58 2026 -0400"
      },
      "message": "[REFACTOR][IR] Consolidate builder location resolution and attachment (#20723)\n\nRename IRBuilder location resolution to `ResolveLoc` and consolidate\nnode attachment under `AttachLoc` with an optional explicit location.\nPreserve full-stack normalization, caller composition, and object\nidentity while updating native consumers and Python FFI helpers."
    },
    {
      "commit": "4d0e2e3b4f500282a68f161c45c7798c65cb1020",
      "tree": "ff473e52b464eecbd726829269590acbf0eaa949",
      "parents": [
        "d149af9b57c91b4653c2c38ec3c717c5de27d0ea"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 11:20:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 11:20:22 2026 -0400"
      },
      "message": "[REFACTOR][IR] Adopt typed attribute keys (#20717)\n\nOperator attribute names and their value types are currently separate\nC++ contracts. Adopt generic `ffi::reflection::AttrKey\u003cT\u003e` descriptors\nso registrations and live attribute-map lookups derive their types from\nthe key, with a thin `set_native_fn_attr\u003c\u0026Fn\u003e` adapter for native\ncallbacks.\n\nMigrate canonical operator keys and consumers while preserving runtime\nnames, packed callback ownership, shared column behavior, and the\nexisting string APIs and compatibility aliases. Extend the same key\ndeduction to `DictAttrs`, function/module getters, and copy-on-write\nattribute helpers. Update the TVM FFI dependency and adapt its\nreflection attribute namespace and owning-header changes."
    },
    {
      "commit": "d149af9b57c91b4653c2c38ec3c717c5de27d0ea",
      "tree": "50f26184b64d2d6264d9a16cbd6639d0fcd456a0",
      "parents": [
        "c46d112866cfdd2f2ca2cf601c2fbf4207da3623"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 11:19:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 11:19:12 2026 -0400"
      },
      "message": "[REFACTOR] Localize lowering helpers and consolidate TIRx tests (#20719)\n\nMove temporary-allocation alignment into LLVM codegen and keep warp\npointer-scope remapping with its consumer. Remove the unused\nRemoveAssume pass, consolidate TIRx tests under their owning packages,\nand replace construction-heavy transform fixtures with script-defined\nexpected IR."
    },
    {
      "commit": "c46d112866cfdd2f2ca2cf601c2fbf4207da3623",
      "tree": "c6bf1da1d9f8facfe694d09b17fc01d27dd143ef",
      "parents": [
        "9b574536b3d03f1ccb611bc0786403834ab533c6"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 09:05:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 09:05:12 2026 -0400"
      },
      "message": "[REFACTOR][TEST] Consolidate runtime tests and isolate RPC (#20716)\n\nConsolidate runtime module loading, exports, properties, timing, and\nExecutable wrappers in one suite, and group RPC tests under runtime/rpc.\nEach suite owns its small native fixtures, replacing compiler-generated\nkernels in runtime checks.\n\nCombine tensor-view coverage while preserving offsets and\nparent-relative bounds, retain useful imported-tensor checks, and move\ncompiler and dialect cases to their owning suites. Separate JSON\nserialization from script roundtrips, with explicit checks of rendered\nscript. Remove obsolete integration scaffolding and make RPC process\nreadiness and cleanup explicit."
    },
    {
      "commit": "9b574536b3d03f1ccb611bc0786403834ab533c6",
      "tree": "a6ef22647b48606af387212aa5659de7f8797d85",
      "parents": [
        "02b4e3ee4f2d8f99c967f1c683c6ac178810e5a1"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 08:19:00 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 08:19:00 2026 -0400"
      },
      "message": "[BUGFIX] Fix runtime correctness and backend SDK dependencies (#20715)\n\nUse the resolved address family for Disco controller and client sockets\nafter socket initialization, preserving IPv4 and IPv6 connections.\nInitialize masked CPU attention state and read its one-element rescaling\nbuffer at the scalar index. Seed the existing CUDA argsort expected\nmodule with device metadata before allocation inference.\n\nKeep backend SDK libraries private to their runtime implementations and\nexplicitly link required SDKs on direct consumers, including CUDA, HIP,\nand CLML runtime components."
    },
    {
      "commit": "02b4e3ee4f2d8f99c967f1c683c6ac178810e5a1",
      "tree": "4000ceee7d6abc82257bf911e6c2422621f35c35",
      "parents": [
        "08db12de5f5dc34ae03a50b9e8a580b236459579"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 07:07:44 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 07:07:44 2026 -0400"
      },
      "message": "[REFACTOR][IR] Standardize numeric casts on value-first order (#20713)"
    },
    {
      "commit": "08db12de5f5dc34ae03a50b9e8a580b236459579",
      "tree": "801bc5205c8b51a936a0221ed524d31b025c0846",
      "parents": [
        "993863d0831c15d31b5da37e609fc175791be718"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Wed Oct 14 07:07:14 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 07:07:14 2026 -0400"
      },
      "message": "[REFACTOR][SYM] Retire optional simplifier extensions (#20712)"
    },
    {
      "commit": "993863d0831c15d31b5da37e609fc175791be718",
      "tree": "734a108362e8849c2e14e85151d8c9fe8a1b4db1",
      "parents": [
        "69e4624b5c9256c962267c6245cc8d97ae355e98"
      ],
      "author": {
        "name": "Akaash Parthasarathy",
        "email": "43900735+akaashrp@users.noreply.github.com",
        "time": "Tue Oct 13 19:59:15 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 22:59:15 2026 -0400"
      },
      "message": "[WebGPU] Parallelize prefill attention for 512-wide FP32 heads (#20700)\n\nWebGPU prefill with 512-wide FP32 heads spends most of each Q/K dot\nproduct in a serial loop. This affects Gemma 4 E2B `q4f32_1`; the\nsmall-tile fallback in #20658 makes the kernel fit in shared memory but\nleaves this bottleneck.\n\nDistribute each dot product across 32 threads in a 128-thread workgroup.\nFor paged global attention, split the KV range into four dispatches and\nmerge their outputs using log-sum-exp weights, so one dispatch does not\nprocess the entire context. Ragged and sliding attention use a single\ndispatch.\n\nSelect this path only for WebGPU FP32 attention with 512-wide heads."
    },
    {
      "commit": "69e4624b5c9256c962267c6245cc8d97ae355e98",
      "tree": "a5c88976a04b4e4e9738ffc078dc4d149239c26c",
      "parents": [
        "e8773d49febaf7e207d7da4c293ea0a250dc4e1d"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 21:15:56 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 21:15:56 2026 -0400"
      },
      "message": "[REFACTOR] Unify unsigned-index context and remove unused helpers (#20711)\n\nConsolidate unsigned-index assumption scopes in AllowUIntAsIndex with\nstandard With hooks and encapsulated thread-local nesting state. Native\nand Python contexts share the same scope implementation while preserving\nthe existing unsigned no-overflow semantics.\n\nRemove unused helper macros and standard-library includes, and put\nrequired includes on their direct consumers."
    },
    {
      "commit": "e8773d49febaf7e207d7da4c293ea0a250dc4e1d",
      "tree": "07e72d2c41a614cf28d9a8944c98c04644dd471d",
      "parents": [
        "12dbfd46c497e399c693bed5d3395df607290ef3"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 20:54:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 20:54:08 2026 -0400"
      },
      "message": "[TVMScript] Default symbolic dimensions to int32 (#20710)\n\nDefault shared TVMScript dynamic symbols and omitted or builtin-int\nfunction type parameters to int32. Align function-header printing with\nthat default and spell explicit registered int64 bounds.\n\nPreserve Relax shape requirements and width-dependent callers through\nexplicit int64 declarations, while retaining explicit scalar bounds and\nregistry-based annotation handling."
    },
    {
      "commit": "12dbfd46c497e399c693bed5d3395df607290ef3",
      "tree": "48710c64e35ba2e335e4f1f8a6723c39c4d72541",
      "parents": [
        "ae2847d50cca65fea615ec2c02a302d247183d53"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 20:53:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 20:53:59 2026 -0400"
      },
      "message": "[REFACTOR][TIRX] Simplify TensorVar and tensor validation hooks (#20709)\n\nExpose ordinary VarNode access for TensorVar with typed tensor metadata\naccessors, consolidate index types on PrimType, and replace redundant\nconstruction and copying helpers with direct APIs. Keep\nscheduling-specific region conveniences within S-TIR.\n\nInfer TensorLoad result types through a native source-type hook. Provide\nan explicit PrimType unchecked construction path and route core and TIRx\nconstruction through the shared interface. Namespace TVM-owned type\nhooks consistently with the `__tvm_` prefix.\n\nCompose common tile Call checks and instruction-specific validation\ndirectly in the operator\u0027s owning validator, removing the redundant\nattribute lookup. Replace generated signature validators while rejecting\nan existing custom validator."
    },
    {
      "commit": "ae2847d50cca65fea615ec2c02a302d247183d53",
      "tree": "10100b3f4533f5db072188fffc3cbe3978d1f30f",
      "parents": [
        "e8267ce7eee4c681ba12ce797e5726a09bae5d2d"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Tue Oct 13 19:35:16 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 19:35:16 2026 -0400"
      },
      "message": "refactor(op-dispatch): infer CUDA tile descriptors and document contracts (#20708)\n\nCUDA tile callers currently repeat shared-memory descriptor fields that\nare already determined by their operand layouts, while the instruction\nguides do not consistently describe parameters, operand coordinates, or\ngenerated code.\n\nInfer shared matrix descriptors for `tcgen05.cp` and `tcgen05.mma` from\ncanonical operand layouts and regions. Remove the tile-level\n`ldo_bytes`, `sdo_bytes`, `swizzle`, `a_descriptor`, and `b_descriptor`\narguments. Extraction checks fixed hardware address walks, including\nregion origins and swizzle phases; opcode selection and MMA major order\nremain explicit. TMA descriptor parameters are unchanged.\n\nStandardize all 18 CUDA tile instruction guides with call parameters,\ndata representation, operand specifications, legality conditions, code\ngeneration, and complete examples. The `ldmatrix` guide distinguishes\nrow-address providers from result owners and documents strided shared\nrows and separated register slots. Migrate existing tests and add nine\nGPU cases for padded row groups, nonzero origins, and small descriptor\nregions.\n\nValidation:\n- Full TIRx suite on Blackwell: 3271 passed, 301 skipped.\n- Bench-suite and strict kernel-registry import checks passed.\n- Examples from all 18 instruction guides executed successfully on GPU.\n- Strict Sphinx build, pre-commit, and `git diff --check` passed."
    },
    {
      "commit": "e8267ce7eee4c681ba12ce797e5726a09bae5d2d",
      "tree": "ad91c508d66760796c0785777e6ff4bb82d5642b",
      "parents": [
        "c4a5e0f5a368dbec6da30e492d98f8f6cb091887"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 17:56:58 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 17:56:58 2026 -0400"
      },
      "message": "[REFACTOR][IR] Simplify type scopes and registered annotations (#20707)\n\nUse `scope` consistently for pointer and tensor types, and print pointer\nscopes as positional strings such as `T.Ptr(T.void, \"shared\")`. The\nexisting typed MemoryScope conversion restores canonical scope identity;\nstandalone scope values retain constructor syntax.\n\nRestrict special annotation lowering to registered namespace syntax,\npreserving scalar and indexed declarations while keeping captured Type\nvalues ordinary. Rename the scoped printer state to\n`ir.explicit_value_type` to describe the value types it preserves."
    },
    {
      "commit": "c4a5e0f5a368dbec6da30e492d98f8f6cb091887",
      "tree": "7e904a4b7e0ac26ace72cc4c409babf76bb9cf8a",
      "parents": [
        "648cfed45f097ebcf8450ea712c5f88a9d30475e"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Tue Oct 13 16:31:34 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 16:31:34 2026 -0400"
      },
      "message": "refactor(layout): remove unused TIRx layout helpers (#20706)\n\nRemove layout algorithms and convenience APIs left unused after CUDA\ntile dispatch moved to explicit instruction patterns.\n\n- Delete reverse tile/direct-sum matching, layout slicing, `group_many`,\n`apply_to_shape`, `storage`, `broadcast`, and their unused C++/FFI\nsupport, including axis splitters.\n- Remove `Tensor.local/tile/chunk`, unused CUDA/Trainium layout\nfactories, and fragment allocation wrappers. Use explicit tensor views\nand layouts at call sites; retain `Layout.tile/tile_to` for\nshared-memory layout construction.\n- Preserve the existing CUDA and Trainium kernel cases, including their\noperand layouts and regions. Keep shared register/scale-factor layouts\nin private test fixtures and rewrite documentation examples with\nexplicit layouts.\n\nCompanion integration updates:\nhttps://github.com/mlc-ai/TIRx-kernels/pull/9.\n\nValidation:\n\n- Rebuilt TVM; changed-file pre-commit checks passed.\n- Full TIRx suite with the companion kernels branch: **3266 passed, 298\nskipped** on three B200 GPUs.\n- Benchmark import gate (**93 kernels**) and strict registry import gate\npassed.\n- Strict TIRx documentation build passed; TMEM round-trip and MMA\nexamples passed on GPU, and the API fragment example compiled to the\nspecified PTX load."
    },
    {
      "commit": "648cfed45f097ebcf8450ea712c5f88a9d30475e",
      "tree": "f441c0d6be9ac23ba2a0c9e51ae0110dc0a2abb2",
      "parents": [
        "08e48d8142fb49c42d5fb2a30e934bc5bff8b4fa"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 15:51:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 15:51:42 2026 -0400"
      },
      "message": "[REFACTOR] Remove private TIRx dependencies from parent packages (#20703)\n\nParent dialects and runtime extensions currently rely on private TIRx\nimplementation headers. Move the shared printer and builder entrypoints\nto narrow public APIs, migrate callers to normal recursive translation,\nand keep dialect-specific analysis and transforms self-contained.\n\nThe change also uses native integers for untyped schedule metadata with\nschema-aware replay compatibility, consolidates late thread-allreduce\nlowering in TIRx, and replaces backend-private runtime dependencies with\nexisting FFI entrypoints or shared parent-private stateless helpers. The\nexisting OpenCL workspace/header dependency remains for CLML and\nconditional VM host-pointer access.\n\nCanonical MemoryScope values reconstruct explicitly in untyped fields,\nwhile Tensor and VDevice retain readable scope names. Generic tensor\nviews delegate to the existing bounded, owning view operation without\nbackend scope policy."
    },
    {
      "commit": "08e48d8142fb49c42d5fb2a30e934bc5bff8b4fa",
      "tree": "77465242915f5775d7259609f3b3af19677a2121",
      "parents": [
        "0494e4cc386794e1aa4088d4126f89d636079cea"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Tue Oct 13 15:05:09 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 15:05:09 2026 -0400"
      },
      "message": "refactor(op-dispatch): replace adaptive CUDA tile dispatch with explicit patterns (#20687)\n\nCUDA tile operations now take an explicit PTX instruction and canonical\noperand views. Lowering checks their physical mapping and emits the\nselected instruction for each repeat coordinate. Instruction selection,\nlayout reorganization, staging, packing, thread election, and\nsynchronization are controlled by the caller.\n\n- Replace adaptive CUDA dispatch with\n`T.cuda.tile.apply(T.ptx[\"exact.opcode\"], ...)` and\n`T.cuda.tile.ewise(scalar_function, ...)`.\n- Define operand contracts for memory and register instructions, matrix\nloads/stores, asynchronous copies, TMA, TMEM transfers, warp MMA, and\ntcgen05 MMA, including native packing, decompression, descriptors, and\nblock scales.\n- Handle gapped allocation spans, dtype views, swizzled origins,\nsymbolic bounds, and runtime TMA descriptor fields.\n- Organize CUDA tests and instruction guides in flat directories by PTX\ninstruction family. Document operand mappings, explicit views,\nsynchronization, and runnable kernels; keep scalar compositions under\n`ewise`.\n\nCompanion TIRx-lite adaptation:\nhttps://github.com/mlc-ai/TIRx-kernels/pull/9."
    },
    {
      "commit": "0494e4cc386794e1aa4088d4126f89d636079cea",
      "tree": "0aff5565ac5355b1a0be14fef9036aa798ee8be8",
      "parents": [
        "c89ebf33e27103ed2765bf5667c8614a3918a6e1"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 08:08:26 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 08:08:26 2026 -0400"
      },
      "message": "[REFACTOR][Runtime] Introduce canonical memory scopes (#20686)\n\nIntroduce runtime MemoryScope as an extensible FFI enum with shared C++\nand Python registration, strict name lookup, and a canonical global\ndefault. Carry canonical scopes through pointer/tensor types, allocation\nand DeviceAPI state, compiler passes, schedules, and backend code\ngeneration, with string lookup at typed API boundaries.\n\nReplace StorageScope parsing and storage-rank arithmetic with\nidentity-based policies. MemoryAllocProperty describes ordinary memory,\nrequired single allocations, and separate allocations; owning backends\nregister their specialized scopes and allocation policies while storage\nrewriting preserves layout and alignment constraints."
    },
    {
      "commit": "c89ebf33e27103ed2765bf5667c8614a3918a6e1",
      "tree": "ed10dfb779f89986f36f3044ea193eaf3ba32b15",
      "parents": [
        "c33ef53584e2a3898a0f697a8b1f3e58552b6fa7"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 08:07:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 08:07:59 2026 -0400"
      },
      "message": "[REFACTOR][Python] Place pass and testing helpers with their owning modules (#20692)\n\nMove Python pass infrastructure under tvm.ir and domain testing helpers\ninto Relax and schedulable TensorIR. Reduce core testing dependencies by\nreplacing thin wrappers with direct calls and removing unused fixture,\ntarget-enumeration, and request-hook machinery."
    },
    {
      "commit": "c33ef53584e2a3898a0f697a8b1f3e58552b6fa7",
      "tree": "a9da8908fb074eb01a2bb18c53cec9e798acd429",
      "parents": [
        "e8944bbc50ebc38f4a6c7f9148782f8dc858f069"
      ],
      "author": {
        "name": "Akaash Parthasarathy",
        "email": "43900735+akaashrp@users.noreply.github.com",
        "time": "Tue Oct 13 04:14:30 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 07:14:30 2026 -0400"
      },
      "message": "[Fix][Metal] Update Timer construction after the non-nullable handle change (#20698)"
    },
    {
      "commit": "e8944bbc50ebc38f4a6c7f9148782f8dc858f069",
      "tree": "2019be6edefe8cf9728d27fcd8ff5d0973122ed8",
      "parents": [
        "45713b39a3b1b87abe7ddf51fb1822fb6795f71c"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Tue Oct 13 06:39:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 06:39:52 2026 -0400"
      },
      "message": "[REFACTOR][Script] Print reflected types and expose canonical builder aliases (#20690)"
    },
    {
      "commit": "45713b39a3b1b87abe7ddf51fb1822fb6795f71c",
      "tree": "a2cfe2a2292058ae85fc382102fe07727411a067",
      "parents": [
        "9a4ae22c0b9b6c7169149c17f6dcf6481f0daf1c"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 22:44:13 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 22:44:13 2026 -0400"
      },
      "message": "[REFACTOR][TIRx][S-TIR] Localize SSA conversion and simplify lexical remapping (#20695)\n\nKeep SSA conversion local to TIRx and S-TIR, removing S-TIR\u0027s dependency\non the private TIRx converter while preserving its block-specific\ntraversal.\n\nReplace remap histories and scope-exit callbacks with scope-local maps\nof the latest variable binding. Definition tracking remains global\nacross scopes and functions; pattern definitions reuse only visible\nbindings. Function attributes and metadata are preserved when parameters\nor bodies change, and derived function signatures are refreshed."
    },
    {
      "commit": "9a4ae22c0b9b6c7169149c17f6dcf6481f0daf1c",
      "tree": "2abb3c14d61ee4fe915fe7cd4344c553a6cb0cc2",
      "parents": [
        "9e773927af0bc5ef153a3e417349e517ec8f15f8"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 22:42:12 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 22:42:12 2026 -0400"
      },
      "message": "[REFACTOR][Sym] Simplify symbolic analysis dependencies (#20694)\n\nExpose an analyzer-aware `sym::Intersect` overload and use public\n`IntSet` operations in loop partitioning. Replace native GCD/LCM helpers\nwith the standard library while retaining BigInt handling and localizing\nextended Euclidean coefficients to modular-set analysis.\n\nUse ordinary node checks for the S-TIR pattern consumers and direct\nanalyzer simplification in the Relax DFPattern matcher. Retire S-TIR\n`UseAssumeToReduceBranches` and its public entry points, removing the\nremaining private constraint-extraction dependency.\n\nRemove the unused PresburgerSet C++/Python API and its MLIR build\nplumbing while preserving optional Analyzer/Z3 support."
    },
    {
      "commit": "9e773927af0bc5ef153a3e417349e517ec8f15f8",
      "tree": "a42f2f0f2c30fb02637a206c9063a6a2019c3033",
      "parents": [
        "b5113ec5f4bfeb18b37fbf0383a508b0bb9cd7f4"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 22:34:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 22:34:21 2026 -0400"
      },
      "message": "[REFACTOR] Clarify shared support header ownership (#20693)\n\nExpose shared byte streams, base64, environment access, ordered maps,\nand string escaping through public support headers and install them for\nruntime consumers. Replace the private utility header with FFI helpers\nand consumer-local parsing and process execution. Keep parent-specific\nsupport machinery private."
    },
    {
      "commit": "b5113ec5f4bfeb18b37fbf0383a508b0bb9cd7f4",
      "tree": "0ebe00df4a804802800845f5e2e12a97ffe9cff4",
      "parents": [
        "94d8ed34347908811625e6ec4502e51aee24c270"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 20:38:46 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 20:38:46 2026 -0400"
      },
      "message": "[REFACTOR][TIRx] Keep device-scope decoration in TIRx (#20691)\n\nKeep device-scope decoration local to its public TIRx pass. Remove the\nredundant S-TIR entrypoint and shared implementation header, and move\nthe existing device-scope test to TIRx."
    },
    {
      "commit": "94d8ed34347908811625e6ec4502e51aee24c270",
      "tree": "52d0a35a0709b2ae636366e8eff5ea7de9e27b88",
      "parents": [
        "a7b48136a32e745fb7dd4af074eb10a7cab6010a"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 19:45:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 19:45:42 2026 -0400"
      },
      "message": "[REFACTOR][Support] Expose compiler GPU thread-tag parsing (#20689)\n\nGPU thread tags describe compiler execution axes. Expose their parser in\na small public support header that consumes ffi::String directly, and\nmigrate scheduling, lowering, and backend code generation to it,\nretiring runtime ThreadScope.\n\nPreserve physical-tag parsing and existing consumer checks, keep\nvirtual-thread handling local to compiler consumers, and leave\nlaunch-parameter decoding independent."
    },
    {
      "commit": "a7b48136a32e745fb7dd4af074eb10a7cab6010a",
      "tree": "8fb8d47435fb582269e9d230d48165598dc91538",
      "parents": [
        "7e913b58268d88ee36428c9e22c58830b0eb9269"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 19:18:41 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 19:18:41 2026 -0400"
      },
      "message": "[REFACTOR][S-TIR] Localize index datatype normalization (#20688)\n\nGive S-TIR its own private datatype legalization and index-context\nhelpers so TE function creation and tensorization no longer inherit the\nprivate TIRx datatype rewriter. Preserve the existing S-TIR\nnormalization interface and behavior."
    },
    {
      "commit": "7e913b58268d88ee36428c9e22c58830b0eb9269",
      "tree": "d8f2fb9cb246406306d4302401a4210a04518428",
      "parents": [
        "f7b0fe62a9b2685b002efdc4e69f0960b3e30ffa"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 19:11:54 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 19:11:54 2026 -0400"
      },
      "message": "[REFACTOR] Localize and simplify internal TIRx helpers (#20683)\n\nMove expression replacement and tensor allocation-shape handling into\nS-TIR, and keep WMMA fragment parsing with SPIR-V code generation.\n\nReplace trivial ABI construction, pointer access, storage-scope and\nstatement-prefix helpers at their use sites, and remove unused\nutilities. This reduces private TIRx helper dependencies while\npreserving existing traversal, lowering and code-generation behavior."
    },
    {
      "commit": "f7b0fe62a9b2685b002efdc4e69f0960b3e30ffa",
      "tree": "ea6bb9380445bb961703af1a32b758a2697de8d6",
      "parents": [
        "ab566679f8fbd0e76c1ed44945bc174fe146e09f"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 19:11:45 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 19:11:45 2026 -0400"
      },
      "message": "[REFACTOR][S-TIR] Remove test-only force index narrowing (#20685)\n\nRemove the test-only S-TIR ForceNarrowIndexToInt32 API and keep\nsort/scan integration on the i64 index path. Localize the remaining\nnarrowing implementation in TIRx while preserving its public entrypoint\nand WebGPU use."
    },
    {
      "commit": "ab566679f8fbd0e76c1ed44945bc174fe146e09f",
      "tree": "ab3ec86013f2414f8d7777074c02d29f18c2cac3",
      "parents": [
        "f392ee50d7adf8ab82e98cea9ff029f6e758ff6b"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 19:09:02 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 19:09:02 2026 -0400"
      },
      "message": "[REFACTOR][Runtime] Use CamelCase for launch dimension methods (#20682)\n\nUse CamelCase for launch workload dimension methods and conventional\nnaming for the local dimension-tag constant, while retaining snake_case\nfor plain configuration-member accessors. Update the ROCm, Metal, and\nVulkan runtime callers consistently without changing launch decoding."
    },
    {
      "commit": "f392ee50d7adf8ab82e98cea9ff029f6e758ff6b",
      "tree": "efdaf276319c626bc2cec93b49faef6bad194697",
      "parents": [
        "f1899b6a99a963b3a8a5e422e6334536ca9812c9"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 19:08:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 19:08:33 2026 -0400"
      },
      "message": "[REFACTOR] Use local verifier scopes and exception visit context (#20684)\n\nMigrate TIRx and S-TIR well-formedness, purity analysis, and remaining\ntile-op checks to ordinary visitors. Keep definition scopes and earlier\ndefinition locations within well-formedness checking, and resolve\ncurrent diagnostic paths from exception visit context at verifier\nentrypoints.\n\nPreserve each analysis\u0027s traversal and binding policy while removing the\nprivate path visitor implementations."
    },
    {
      "commit": "f1899b6a99a963b3a8a5e422e6334536ca9812c9",
      "tree": "305d82d5d2098c46621e96b9ac60c776893c82f9",
      "parents": [
        "33b01a8e8038fc5647a7c706e09763cb625814f3"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 18:02:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 18:02:22 2026 -0400"
      },
      "message": "[REFACTOR] Expose analyzer-aware statement functors (#20681)"
    },
    {
      "commit": "33b01a8e8038fc5647a7c706e09763cb625814f3",
      "tree": "0bedc0c0ba150db8a23d639afdb60613e7fdf6ba",
      "parents": [
        "c5b0ceff92edc801772ad2158545c4f60e4d8534"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 17:49:35 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 17:49:35 2026 -0400"
      },
      "message": "[REFACTOR][Runtime] Clarify file helpers and VM parameter ownership (#20679)\n\nMove generic binary file I/O to inline support helpers named\nReadBytesFromFile and WriteBytesToFile. Place parameter serialization in\nVM-owned C++ code and the Python runtime.vm.param module, with public VM\nand parameter exports in the runtime.vm package.\n\nKeep FunctionInfo reflection and JSON conversion with runtime metadata,\nand use existing module serialization instead of source metadata\nsidecars while preserving raw source and binary writes. Update RPC,\nmodule, backend, tensor-cache, and amalgamated runtime consumers for the\nnew owners; parameter serialization retains its existing binary format."
    },
    {
      "commit": "c5b0ceff92edc801772ad2158545c4f60e4d8534",
      "tree": "be43c85e62879241d7bb9a36358fd2aa7ad7f327",
      "parents": [
        "ca9f2259be5779f3dd0d06ec9078d29d4fe2eaed"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 16:08:01 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 16:08:01 2026 -0400"
      },
      "message": "[REFACTOR][Runtime] Extract launch parameter decoding (#20680)\n\nMove ThreadWorkLoad and LaunchParamConfig into an internal\nlaunch_param.h so runtime launch decoding no longer depends on\nthread/storage scope parsing. Match the twelve supported dimension tags\nlocally while preserving launch argument layout and options.\n\nUpdate ROCm, OpenCL, Metal, and Vulkan consumers to include the decoder\ndirectly, remove stale CUDA and OpenCL scope includes, and make the\ncompiler launch-metadata dependency explicit."
    },
    {
      "commit": "ca9f2259be5779f3dd0d06ec9078d29d4fe2eaed",
      "tree": "8791d6a299f0f90c6a0c94db6e3380a7c8056229",
      "parents": [
        "88d2de8f0b55575ba63e97a243a84d7d8b7f4362"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 15:27:26 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 15:27:26 2026 -0400"
      },
      "message": "[REFACTOR] Clarify core ownership and native compilation interfaces (#20678)\n\nClarify code ownership and dependency boundaries while preserving the\ncurrent library layout and native identities. Core-owned declarations\nuse `TVM_TIRX_DLL`, and `tvm.tirx.compile` becomes the canonical native\ncompilation API returning `Executable`.\n\n- Keep scheduled lowering in S-TIR and native device-scope decoration in\nTIRx.\n- Separate local timing from RPC dispatch and let dialects register\ntheir own Python behavior.\n- Keep WASM integration parent-owned through explicit callbacks, place\nnarrow Hexagon linker support with its backend, and bind optional\nruntime implementations to runtime-extra.\n- Place VM constant loading and LLVM target canonicalization with their\nowning source groups, preserving registrations and compilation behavior."
    },
    {
      "commit": "88d2de8f0b55575ba63e97a243a84d7d8b7f4362",
      "tree": "a8af06ad9cdb129f0d0789fbeafe40826030bfa9",
      "parents": [
        "aca96b3358e9b7eb2b4568be8f2a58c1c4bf440e"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 14:13:32 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 14:13:32 2026 -0400"
      },
      "message": "[TEST] Simplify and organize native C++ tests (#20676)\n\nRemove redundant native tests and organize the retained C++ coverage by\nsubsystem. Consolidate existing target and schema fixtures, retain\nfocused native extension and lifetime checks, and make the logging\nexception helper fail when no exception is thrown."
    },
    {
      "commit": "aca96b3358e9b7eb2b4568be8f2a58c1c4bf440e",
      "tree": "315e6c990b63990d457c49d43beaa1495b273425",
      "parents": [
        "5042aec5dff04132a5d641ba0ff58bdc986cc823"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 11:59:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 11:59:57 2026 -0400"
      },
      "message": "[Refactor][Runtime] Unify tensor pools and VM ownership (#20670)"
    },
    {
      "commit": "5042aec5dff04132a5d641ba0ff58bdc986cc823",
      "tree": "a4fcc1c5d25327d303546600f640f98f37ce7cdd",
      "parents": [
        "f66d50df63f18ca8d17886c8ef8475abf8d47fbd"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Mon Oct 12 10:47:58 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 10:47:58 2026 -0400"
      },
      "message": "[TVMScript] Simplify printing through canonical Op exposure (#20672)\n\nDerive named calls from canonical Op names and retain semantic\nreconstruction hooks for operations whose Python signatures differ.\nRemove redundant printer metadata, obsolete configuration fields, and\nduplicate tensor hooks, and use valid IR inference contracts for region\nand Relax printing."
    },
    {
      "commit": "f66d50df63f18ca8d17886c8ef8475abf8d47fbd",
      "tree": "be9f1e203fdd76903a677bb6881a70aa259e0b3e",
      "parents": [
        "46a45c5f574360e69e312236cafda7e7eb48b440"
      ],
      "author": {
        "name": "Bohan Hou",
        "email": "spectrometerh@gmail.com",
        "time": "Mon Oct 12 08:15:08 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 08:15:08 2026 -0400"
      },
      "message": "refactor(op-dispatch)!: dispatch tile ops through Op attributes (#20671)\n\nTileDispatch currently identifies tile Calls through `TIRxOpCategory`\nand invokes fixed Python dispatcher and scope globals. Register\n`FTileOpDispatch(Call, DispatchContext) -\u003e Function` on each Op and use\nthat attribute for both tile detection and lowering. Resolve execution\nscopes from reflected Call attributes so native C++ callbacks can run\nwithout loading Python.\n\nRemove the category definitions and registrations, migrate Trainium\nworkspace callers, and update documentation and regression coverage for\ncustom Ops, live callback replacement, recursive expansion, residual\nCalls, and invalid results.\n\nDownstream compatibility PR:\nhttps://github.com/mlc-ai/TIRx-kernels/pull/10\n\nValidation:\n\n- Incremental C++ build and pre-commit passed.\n- 54 targeted dispatch, namespace, scope, and Trainium\nprivate-allocation tests passed.\n- Standalone C++ registration and TileDispatch passed without Python,\nincluding an initially absent dispatch attribute column.\n- Extended CUDA coverage: 389 passed, 2 skipped, 24 vectorization\nfailures. All 24 failures reproduced on the original revision with the\nsame `lanes \u003e 1` error.\n- Op tests: 12 passed, 3 JSON round-trip failures. All 3 failures\nreproduced on the original revision."
    },
    {
      "commit": "46a45c5f574360e69e312236cafda7e7eb48b440",
      "tree": "fde4c6ba578e8fb4e4bb4e7cc25afdddf308e20e",
      "parents": [
        "adebce0b0c1e8c4342f636e5e35d06f182958f71"
      ],
      "author": {
        "name": "Tianqi Chen",
        "email": "tqchen@users.noreply.github.com",
        "time": "Sun Oct 11 21:43:02 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 11 21:43:02 2026 -0400"
      },
      "message": "[FFI] Update tvm-ffi and native Any hooks (#20664)\n\nUpdate tvm-ffi to `1cef91429a816cc4ccaeace8db32f45ef1524c29` and\nregister PrimType hashing and equality through its typed NativeFunction\nadapters.\n\nAdapt Optional presence and composition while retaining direct strict\ncasts, object identity and ownership. Replace null concrete containers\nwith valid empty containers or explicit absence where appropriate,\npreserving all-axis reduction and scheduling behavior."
    }
  ],
  "next": "adebce0b0c1e8c4342f636e5e35d06f182958f71"
}
