)]}'
{
  "log": [
    {
      "commit": "faa61b32ee616f90c63ecfdc30389247d5197d4a",
      "tree": "67272b5f71abefd56342095b22eb0c40e43ceefc",
      "parents": [
        "ec60320312ea0950416bfb86a5be8447d73ff803"
      ],
      "author": {
        "name": "Jameson Nash",
        "email": "vtjnash@gmail.com",
        "time": "Thu Jun 11 08:58:36 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 11 06:00:17 2026 -0700"
      },
      "message": "[docs] try again to handle doxygen everywhere (#203081)\n\nThe previous attempt at this (b7da9565017e32c18b927a7637714d1b660b558d)\nstill broke standalone builds. Now I have locally tested standalone\nflang, runtimes (with openmp), lldb, combined builds, and the utils\nscript. Hopefully that covers everything this time, and gets everything\ninto a more consistent state (always using the HandleDoxygen script in\nthe same way, included exactly once as required by the cmake design).\n\nGitOrigin-RevId: 7daddf2b6f44960344157a0accb3963a7d87ca03\n"
    },
    {
      "commit": "ec60320312ea0950416bfb86a5be8447d73ff803",
      "tree": "af1a527e135bf4fcb5823d6359750c23fd7ed7cd",
      "parents": [
        "f182162b87ea4efb5753187a6d17669cadbe2f64"
      ],
      "author": {
        "name": "Jameson Nash",
        "email": "vtjnash@gmail.com",
        "time": "Wed Jun 10 10:25:33 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 10 07:31:05 2026 -0700"
      },
      "message": "[docs] update CI to use latest release of doxygen (#202420)\n\nResubmitting https://github.com/llvm/llvm-project/pull/191501 for\nreview, with added https://github.com/llvm/llvm-project/pull/202404 for\nSHA checksum verification and fix for cmake target name conflicts.\nTested with `./llvm/utils/release/build-docs.sh -no-sphinx` locally.\n\nCo-authored-by: Aiden Grossman \u003caidengrossman@google.com\u003e\nGitOrigin-RevId: b7da9565017e32c18b927a7637714d1b660b558d\n"
    },
    {
      "commit": "f182162b87ea4efb5753187a6d17669cadbe2f64",
      "tree": "b1a4f1d60edcf5da85ca5867f6f44bbee6877603",
      "parents": [
        "e8f1cc8d24f5218eba053af44ddcefbca79d7ee9"
      ],
      "author": {
        "name": "Jameson Nash",
        "email": "vtjnash@gmail.com",
        "time": "Mon Jun 08 15:28:03 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 08 12:30:59 2026 -0700"
      },
      "message": "Revert \"[docs] update CI to use latest release of doxygen\" (#202412)\n\nReverts llvm/llvm-project#191501 as cmake CI is having an issue with it:\n\n```\n-- Doxygen enabled (1.14.0).\nCMake Error at /work/as-worker-4/publish-doxygen-docs/llvm-project/cmake/Modules/HandleDoxygen.cmake:29 (add_custom_target):\n  add_custom_target cannot create target \"doxygen\" because another target\n  with the same name already exists.  The existing target is a custom target\n  created in source directory\n  \"/work/as-worker-4/publish-doxygen-docs/llvm-project/llvm\".  See\n  documentation for policy CMP0002 for more details.\nCall Stack (most recent call first):\n  docs/CMakeLists.txt:59 (include)\n```\n\nGitOrigin-RevId: 50088e227544f2e6fe54dae54c57e3fd51623111\n"
    },
    {
      "commit": "e8f1cc8d24f5218eba053af44ddcefbca79d7ee9",
      "tree": "af1a527e135bf4fcb5823d6359750c23fd7ed7cd",
      "parents": [
        "31fdb422862301218af889675ff6b1ea1b03546d"
      ],
      "author": {
        "name": "Jameson Nash",
        "email": "vtjnash@gmail.com",
        "time": "Mon Jun 08 13:17:05 2026 -0400"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 08 10:20:21 2026 -0700"
      },
      "message": "[docs] update CI to use latest release of doxygen (#191501)\n\nPreviously this was likely 1.9.8, with the Ubuntu 24.04 worker. Now this\nis 1.17.0. This is a fix for\nhttps://discourse.llvm.org/t/many-doxygen-links-are-broken/83809/2.\n\nFixes 3 significant issues for LLVM:\n\n- `dot` execution performance is very slow (cuts this half hour step\ndown to mere seconds). https://github.com/doxygen/doxygen/pull/12037\n- multi-thread performance is very slow (worse than single threading),\nand now uses all cores for ncpu times speedup (when using version with\nfix, autodetected by cmake).\nhttps://github.com/doxygen/doxygen/pull/12027\n- file links for IR.cpp and similar files were wrong\nhttps://github.com/doxygen/doxygen/pull/11944\n\nAssisted-by: Claude Code\nGitOrigin-RevId: 2eed192c213322a235197286f08f146b94b20c86\n"
    },
    {
      "commit": "31fdb422862301218af889675ff6b1ea1b03546d",
      "tree": "b1a4f1d60edcf5da85ca5867f6f44bbee6877603",
      "parents": [
        "71d16d13bde5e98f80237af4495a07bde68a1f2c"
      ],
      "author": {
        "name": "Fangrui Song",
        "email": "i@maskray.me",
        "time": "Sat Jun 06 11:18:12 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jun 06 11:21:06 2026 -0700"
      },
      "message": "[Polly] Remove unused DenseMapInfo::getEmptyKey (#201992)\n\nAfter #201281 DenseMapInfo\u003cT\u003e::getEmptyKey() is no longer used by\nDenseMap. Remove the unused getEmptyKey definitions and dead sentinel\nuses.\n\nGitOrigin-RevId: 6b5883b38e158ce4659859ffd78f6ad2869979c1\n"
    },
    {
      "commit": "71d16d13bde5e98f80237af4495a07bde68a1f2c",
      "tree": "97e60b0eb94a910984400e53db0187f13f0b4268",
      "parents": [
        "a4751edc548e82621eb49fcb474bff2b330a2519"
      ],
      "author": {
        "name": "Fangrui Song",
        "email": "i@maskray.me",
        "time": "Mon Jun 01 15:41:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 01 15:45:29 2026 -0700"
      },
      "message": "[Polly] Remove unused DenseMapInfo::getTombstoneKey (#200963)\n\n#200595 changed DenseMap to no longer create tombstone buckets, so\nDenseMapInfo\u003cT\u003e::getTombstoneKey() is never called. Remove dead\ndefinitions and dead tombstone branches.\n\nGitOrigin-RevId: daac50b33ee19d5ef5669da8f0119b6ce5c395d8\n"
    },
    {
      "commit": "a4751edc548e82621eb49fcb474bff2b330a2519",
      "tree": "95bf87f73b3eaad25b7de817843a6c1bc47bd2de",
      "parents": [
        "77e87711ecb84612823fa8882bdd2996b9ff9e64"
      ],
      "author": {
        "name": "Fangrui Song",
        "email": "i@maskray.me",
        "time": "Mon May 25 15:35:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 25 15:40:43 2026 -0700"
      },
      "message": "[polly] Simplify with DenseMap::remove_if. NFC (#199577)\n\nIn preparation for DenseMap change that relocates surviving entries on\nerase.\n\nGitOrigin-RevId: 2cad228d3863f6a70b33625a1c967066207e34ab\n"
    },
    {
      "commit": "77e87711ecb84612823fa8882bdd2996b9ff9e64",
      "tree": "c95d5077061ec47c20e7a4decb6f1dabf994b6fb",
      "parents": [
        "ac39b298a05b1635d15f92d8d8b82d6f8c4756f5"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Thu May 21 23:47:58 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 21 14:53:09 2026 -0700"
      },
      "message": "[Polly] Do not invalidate SCEV before codegen (#194677)\n\nScopInfo expects the state of the IR to reflect the state before\ncodegen. Invalidating ScalarEvolution/SCEVs has the effect that values\nneed to be reanalyzed, but this is not possible during codegen where the\nCFG and SSA is not yet in a consistent state. That is, we rely on\nScalarEvolution to cache SCEVs from before the codegen phase. If\nScalarEvolution did not already do this, Polly would need to more\naggressively store SCEVs itself (in this case: `canSyntheziseInStmt`)\ninstead of asking ScalarEvolution.\n\nThe SCEV invalidation was introduced in\na61eda769890900903ee65278bf1ee07dfbd4ca5 which unfortunately does not\nexplain the issue it intends to fix. The added test case passes even\nwithout the invalidation. In any case, SCEVs should represent the state\nbefore codegen.\n\nFixes #192208\n\nGitOrigin-RevId: db614d99eea9ce78c4b1a44a6e01eb1a4ee8d5b2\n"
    },
    {
      "commit": "ac39b298a05b1635d15f92d8d8b82d6f8c4756f5",
      "tree": "8898967e367e0984261b7034046a78494b6abbe0",
      "parents": [
        "84cce8f4c2284bddac83a98a53ab7bab257f13d1"
      ],
      "author": {
        "name": "Arthur Eubanks",
        "email": "aeubanks@google.com",
        "time": "Wed May 06 10:00:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 10:06:05 2026 -0700"
      },
      "message": "[PassManager] Make passes inherit from RequiredPassInfoMixin/OptionalPassInfoMixin (#192120)\n\nIt\u0027s very easy to forget to add `isRequired() { return true; }` for\npasses that must be run on all IR, rather than e.g. being skipped on\noptnone functions.\n\nThis PR adds RequiredPassInfoMixin/OptionalPassInfoMixin which have\n`isRequired()`, and the long term vision is there to be no default\n`isRequired()` on PassInfoMixin.\n\nHowever, for out-of-tree migration purposes, we leave a `isRequired() {\nreturn false; }` for now in PassInfoMixin.\n\nhttps://discourse.llvm.org/t/rfc-introduce-mandatorypassinfomixin-optionalpassinfomixin-for-required-not-required-passes/90547\n\nAssisted-by: Gemini\nGitOrigin-RevId: 11729f768a053360cfaf61f903ed52a1fe930dea\n"
    },
    {
      "commit": "84cce8f4c2284bddac83a98a53ab7bab257f13d1",
      "tree": "3abc77426b54fcb0749487723e0a93cf15e3e6c9",
      "parents": [
        "33612b51d30341de7b1a3bb2bb2eda5577c37799"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Sat Apr 25 17:08:20 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Apr 25 09:10:18 2026 -0700"
      },
      "message": "[SCEVExp] Use Builder.CreateBinOp in InsertBinOp. (#154148)\n\nSCEVExpander\u0027s builder already uses InstSimplifyFolder. Use it to\nconstruct binary ops via CreateBinOp instead of BinaryOperator::Create.\n\nThis helps to simplify away a few more instructions during SCEV\nexpansion.\n\nPR: https://github.com/llvm/llvm-project/pull/154148\nGitOrigin-RevId: 4b87091acf019ea915c08da77701cc9beaba78f4\n"
    },
    {
      "commit": "33612b51d30341de7b1a3bb2bb2eda5577c37799",
      "tree": "9ce4b94810dbf7d577c71d2d617496f9ca2c6346",
      "parents": [
        "ee5d0e6174ae7b3d3402c07a5c6292e2c9d9707b"
      ],
      "author": {
        "name": "Nikita Popov",
        "email": "npopov@redhat.com",
        "time": "Wed Apr 22 11:34:35 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 22 02:40:20 2026 -0700"
      },
      "message": "[Passes] Remove Os and Oz optimization pipelines (#191363)\n\nThese should use O2 with the optsize or minsize attributes instead.\n\nThis enforces that there is no divergence between pipeline-level Os/Oz\nand function-level Os/Oz at an architectural level.\n\nFor the purpose of testing IR that does not have optsize/minsize itself,\nit\u0027s possible to use `-force-attribute\u003doptsize` etc.\n\nGitOrigin-RevId: 86b9775612f893c669466fc749643cfacb8df682\n"
    },
    {
      "commit": "ee5d0e6174ae7b3d3402c07a5c6292e2c9d9707b",
      "tree": "719d98f9f6b234911f74401fe69c853c0caa1b0a",
      "parents": [
        "d6577c35e2a1fc0345c54edd7a9d15eb42af7e4a"
      ],
      "author": {
        "name": "Peter Waller",
        "email": "peter.waller@arm.com",
        "time": "Tue Apr 21 13:43:13 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 21 05:46:22 2026 -0700"
      },
      "message": "[Polly] Disable PCH reuse for unit tests (#193209)\n\nPolly library targets already disable PCH reuse because Polly\nunconditionally builds with -fno-rtti and -fno-exceptions. Reusing LLVM\nPCHs that were built with RTTI or exceptions enabled is incompatible\nwith Clang when compiling Polly targets under those flags.\n\nAfter 47eb8b43c990 enabled PCH reuse for unit tests, Polly unit tests\ncan hit the same mismatch as the library targets. Pass DISABLE_PCH_REUSE\nthrough the shared add_polly_unittest wrapper so all Polly unit tests\nfollow the existing Polly target policy.\n\ncc @aengelke -- a minor fix for polly.\n\nGitOrigin-RevId: d629a221707eab078ebf74e7367cd8c6e4cbe9f9\n"
    },
    {
      "commit": "d6577c35e2a1fc0345c54edd7a9d15eb42af7e4a",
      "tree": "cc5db1c3f2514e3e03cd624de6acf3332a91aa24",
      "parents": [
        "970bad406a9c24f317960a16c9bc0ef3f7720c8f"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Apr 20 15:06:45 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 20 07:11:26 2026 -0700"
      },
      "message": "[Polly] Apply gist only after converting to pw_aff (#192975)\n\nA single-valued set/map is not necessarily single-valued anymore after\napplying after gisting a context. In particular, the set/map might not\nbe single-valued outside the context.\n\nConvert the result of MemoryAccess::getAddressFunction() directly to\npw_aff. Since it is the result of lexmin(), it is single-valued by\ndefinition. Gist the context only after te conversion.\n\nWe should consider using `isl_basic_map_partial_lexmin_pw_multi_aff` in\n`getAddressFunction()` directly to avoid the intermediate step.\n\nFixes #190459\n\nGitOrigin-RevId: 6b7d1a494bd9e2e57fe156faffe19ba8ea6a0ee0\n"
    },
    {
      "commit": "970bad406a9c24f317960a16c9bc0ef3f7720c8f",
      "tree": "ea7919a339237e69644859e1a38db41a06fbaaaa",
      "parents": [
        "0fc1d4f7725894fc169cab07c6aa5f73110341c7"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Apr 20 13:38:50 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 20 05:41:19 2026 -0700"
      },
      "message": "[Polly][NFC] Convert IslNodeBuilder::preloadUnconditionally to isl++ (#192959)\n\nGitOrigin-RevId: d242dfc3121d9813d57108219cba7ca167ae66d1\n"
    },
    {
      "commit": "0fc1d4f7725894fc169cab07c6aa5f73110341c7",
      "tree": "73581f7f937704b00314e060fce858b091269ef9",
      "parents": [
        "48be50302407f25bc93ef7a66fcf10444bb9bc78"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Apr 20 12:33:58 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 20 04:36:01 2026 -0700"
      },
      "message": "[Polly][NFC] Convert IslNodeBuilder::preloadInvariantLoad to isl++ (#192942)\n\nAlso fix the wrong lifetime annotation of\n`IslNodeBuilder::materializeParameters`\n\nGitOrigin-RevId: 43ccda2703732cab7dd054849174ee03fddfaa22\n"
    },
    {
      "commit": "48be50302407f25bc93ef7a66fcf10444bb9bc78",
      "tree": "b3a6842b2615b8098182351fe3dd07863f08d887",
      "parents": [
        "d081fc4cb47792dbe53c6f1e779d83be4bf6030f"
      ],
      "author": {
        "name": "Nikita Popov",
        "email": "npopov@redhat.com",
        "time": "Thu Apr 09 10:53:02 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 09 01:55:33 2026 -0700"
      },
      "message": "[Polly] Remove pipeline-level Oz handling for LoopRotate (#191137)\n\nThis handling was moved fully into the pass in\n1662c200a5b151ad15b7efc82837076d8967dc11. However, that changed\nmissed the usage of LoopRotate in polly.\n\nGitOrigin-RevId: 3ad6afe0609b2138b81f773cf4fbe2d464bc26d6\n"
    },
    {
      "commit": "d081fc4cb47792dbe53c6f1e779d83be4bf6030f",
      "tree": "c2a2edc02423d81434de3beee93e102c6a85d142",
      "parents": [
        "cc5fb466dff0f8addbd26450ebd5a893f227bbac"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Apr 06 03:09:51 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Apr 05 18:15:47 2026 -0700"
      },
      "message": "[Polly] Correct integer comparison bit width (#190493)\n\nFor making an integer compareable to bool, don\u0027t compare it to bool.\n\nBug occured during the reduction of #190459\n\nGitOrigin-RevId: 26697f4d07eb921aebabdaa7d064c5165c70717e\n"
    },
    {
      "commit": "cc5fb466dff0f8addbd26450ebd5a893f227bbac",
      "tree": "8f8b155a285cc2af8f00b618358c07b4f2b6b441",
      "parents": [
        "c23d5620fa9f20a01e69a885f1407abcf83448ff"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Apr 04 23:01:20 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Apr 04 14:05:14 2026 -0700"
      },
      "message": "[Polly][NFC] Convert ScopBuilder::buildUnsignedConditionSets() to isl++ (#190487)\n\nGitOrigin-RevId: f959327bc8a0cc4d88d7db58367d5bfde12eb7c2\n"
    },
    {
      "commit": "c23d5620fa9f20a01e69a885f1407abcf83448ff",
      "tree": "b51abd45f02560d5c9679ecf54079e0f2245fda9",
      "parents": [
        "3ddc81c995c4d3d5168c731e8cb6a703ece09583"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Sat Apr 04 16:03:36 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Apr 04 08:05:52 2026 -0700"
      },
      "message": "[SCEV] Move NoWrapFlags definition outside SCEV scope, use for SCEVUse. (#190199)\n\nThe patch moves out of SCEV\u0027s scope so they can be re-used for SCEVUse.\nSCEVUse gets an additional getNoWrapFlags helper that returns the union\nof the expressions SCEV flags and the use-specific flags.\n\nSCEVExpander has been updated to use this new helper.\n\nIn order to avoid other changes, the original names are exposed via\nconstexpr in SCEV. Not sure if there\u0027s a nicer way. One alternative\nwould be to define the enum in struct, and have SCEV inherit from it.\n\nThe patch also clarifies that the SCEVUse flags encode NUW/NSW, and\nhides getInt, setInt, etc to avoid potential mis-use.\n\nPR: https://github.com/llvm/llvm-project/pull/190199\nGitOrigin-RevId: ff4c6fe24ecb7857d119fe4bcaa8189f755973d7\n"
    },
    {
      "commit": "3ddc81c995c4d3d5168c731e8cb6a703ece09583",
      "tree": "1b4e815f531f0c8b3f3d50def6db22bf8b16ba69",
      "parents": [
        "0dc49b0d99cdc5fe86f810d18359ee4a6da8aa2b"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Apr 04 15:20:15 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Apr 04 06:25:26 2026 -0700"
      },
      "message": "[Polly][NFC] Convert ScopBuilder::getPwAff() to isl++ (#190458)\n\nGitOrigin-RevId: fb3fada084c100bbba711a259cc795f110fa8bff\n"
    },
    {
      "commit": "0dc49b0d99cdc5fe86f810d18359ee4a6da8aa2b",
      "tree": "f62fb36395ae8a53e0d50cd439355af006090bcd",
      "parents": [
        "68494dc23d105f0e909b0555c3b695f1b4262352"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Apr 04 14:49:13 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Apr 04 05:50:45 2026 -0700"
      },
      "message": "[Polly][NFC] Use factory pattern (#190456)\n\nTo (theoretically) reduce coupling of Scop and ScopBuilder.\n\nGitOrigin-RevId: 47d80039483c60040d0931df69813e15480ff7b2\n"
    },
    {
      "commit": "68494dc23d105f0e909b0555c3b695f1b4262352",
      "tree": "750e02123f6377291236a7e7edec899b6762513e",
      "parents": [
        "16217cd410072eef0cf818fa7f77570bd414328f"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Apr 04 13:42:04 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Apr 04 04:45:34 2026 -0700"
      },
      "message": "[Polly] Assumptions used to derive domain must not be pruned by that domain (#190436)\n\nThe code that emits the conditions for whether a statement is executed\nby checking whether we are in the statement\u0027s domain may apply\nassumptions (such as an integer truncation being reversible). Later code\nthen assumes that these assumptions are only relevent for then the\nstatement is executed, but actually it is used for determining whether\nit is executed.\n\nBreak this circular reasoning by introducing an `IsInsideDomain` flag\nthat can be set when the domain has not been verified yet.\n\nFixes #190128\n\nThanks to @thapgua for the bug report\n\nGitOrigin-RevId: 948a64720b1ec018e13b4bb8250482f9615d7856\n"
    },
    {
      "commit": "16217cd410072eef0cf818fa7f77570bd414328f",
      "tree": "949dae88a2fe798e6a43aa9a76b308ee646e2b08",
      "parents": [
        "a2bf760e8cedbefff67280787c72186249292127"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Fri Apr 03 17:09:40 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 09:11:08 2026 -0700"
      },
      "message": "[SCEV] Replace some hasFlags calls with hasNo(Un)SignedWrap (NFC). (#190352)\n\nThis is slightly more compact and reduces diff when switching to enum\nclass (https://github.com/llvm/llvm-project/pull/190199).\n\nPR: https://github.com/llvm/llvm-project/pull/190352\nGitOrigin-RevId: 7edf8a7b51bb411a7e13bcd5496fc70d3c6be888\n"
    },
    {
      "commit": "a2bf760e8cedbefff67280787c72186249292127",
      "tree": "05f6d24ee13871303af4e717e5671cbd86a2c173",
      "parents": [
        "68a602aa1f5ebf8bd2060045a3b64deefb07e141"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Thu Apr 02 12:51:39 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 03:55:09 2026 -0700"
      },
      "message": "[Polly] Print params with stmt tracing (#189362)\n\nIt was helpful for #189350.\n\nGitOrigin-RevId: bed2761bc012b23e652c1f9377a7fd0a9a302bee\n"
    },
    {
      "commit": "68a602aa1f5ebf8bd2060045a3b64deefb07e141",
      "tree": "f33dcfa1730f2d3ffdd2861fdc72ea333e97af71",
      "parents": [
        "786a303a4365ec4813598fd63561fe52f97003f6"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Mar 30 13:08:23 2026 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 30 04:10:32 2026 -0700"
      },
      "message": "[Polly] Avoid __builtin_assume circular context reasoning (#189350)\n\nThe conversion of SCEVs to isl::pw_aff may only be valid under\nconditions that have to be confirmed via RTC. This also happens with\n__builtin_assume. These user-added assumptions are then added to\nScopInfo::Context. However, the conclusion in ScopInfo::Context is then\nalso used to simplify (\"gist\") its own RTC preconditions in\nScopInfo::AssumedContext and ScopInfo::InvalidContext away.\n\nAvoid by adding user assumptions with preconditions to\nScopInfo::DefinedBehaviourContext instead, which is not used to simplify\nAssumedContext/InvalidContext.\n\nFixes #187922\n\nThanks @thapgua for the report\n\nGitOrigin-RevId: 7fb4f732f5dd30506d3e453b503ef1293d257a5b\n"
    },
    {
      "commit": "786a303a4365ec4813598fd63561fe52f97003f6",
      "tree": "cf29f6c7a2e1dd530dd5bb2ad430f09b0628d774",
      "parents": [
        "669d35d35b171191cace7a917c3889d4ea522074"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Mar 28 23:55:05 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Mar 28 16:00:17 2026 -0700"
      },
      "message": "[Polly] Forward VFS from PassBuilder for IO sandboxing (#188657)\n\n#184545 default-enables the IO sandbox in assert-builds. This causes\nClang using Polly to crash (#188568).\n\nThe issue is that `PassBuilder` uses `vfs::getRealFileSystem()` by\ndefault which is considered a IO sandbox violation in the Clang process.\nWith this PR store the VFS from the `PassBuilder` from the original\n`registerPollyPasses` call for creating other `PassBuilder` instances.\n\nThis PR also adds infrastructure for running Polly in `clang` (in\naddition in `opt`). `opt` does not enable the sandbox such that we need\nseparate tests using Clang.\n\nCloses: #188568\nGitOrigin-RevId: 458f1aae8d2da5bf786ba53ea200e94a918ff55a\n"
    },
    {
      "commit": "669d35d35b171191cace7a917c3889d4ea522074",
      "tree": "041d79b08633a933b6d25ec97720d700b5cdccf5",
      "parents": [
        "d129f95a0aeb55c5877e00a19263b26721da7c83"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Mar 23 12:04:21 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 23 04:05:35 2026 -0700"
      },
      "message": "[Polly] Update isl to isl-0.27-89-gdc16f8e3 (#188013)\n\nUpdate isl to include\n\nhttps://repo.or.cz/isl.git/commit/ee3677039011f2f87f3630f8b2a004f9e4944a08\nwhich fixes #187216\n\nCloses #187216\n\nThanks @skimo-openhub for the fix and @thapgua for the bugreport.\n\nGitOrigin-RevId: bd6e8a8c66f73d35fb9ead04767b81938c05eaf4\n"
    },
    {
      "commit": "d129f95a0aeb55c5877e00a19263b26721da7c83",
      "tree": "c7b9aa804835947bbe08be9f7eec676463fafae2",
      "parents": [
        "46bb7146e9d821ca70e3c15f2e83cd59615c91fe"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Thu Mar 19 11:18:06 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 19 03:21:20 2026 -0700"
      },
      "message": "[Support] Use block numbers for LoopInfo BBMap (#103400)\n\nReplace the DenseMap from blocks to their innermost loop a vector\nindexed by block numbers, when possible. Supporting number updates is\nnot trivial as we don\u0027t store a list of basic blocks, so this is not\nimplemented.\n\nNB: I\u0027m generally not happy with the way loops are stored. As I think\nthat there\u0027s room for improvement, I don\u0027t want to touch the\nrepresentation at this point.\n\nPull Request: https://github.com/llvm/llvm-project/pull/103400\n\nGitOrigin-RevId: 0d05c882ce9976de790e690b92e2673088591e36\n"
    },
    {
      "commit": "46bb7146e9d821ca70e3c15f2e83cd59615c91fe",
      "tree": "02dc7961ae1f45fc2c39b05366aa0036b217d024",
      "parents": [
        "3d5d7dd9ae458428fcbcca7adf9581b9fc74499f"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Wed Mar 18 16:46:28 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 18 08:51:09 2026 -0700"
      },
      "message": "[Polly][NFC] Drop uses of BranchInst (#187301)\n\nGitOrigin-RevId: bfedc2aa7668a184d1a8bad709f42e2d092b00d6\n"
    },
    {
      "commit": "3d5d7dd9ae458428fcbcca7adf9581b9fc74499f",
      "tree": "23ebb5bff56a629bd8f1b1312249d2e551bb468e",
      "parents": [
        "ae928eaa51839b002680eda9101666d68f092bd2"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Tue Mar 17 15:10:04 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 17 07:15:33 2026 -0700"
      },
      "message": "Reland \"[DomTree] Assert non-null block for pre-dom tree\" (#187005)\n\nReland #186790 with fix for SCEV. A loop can have more than one latch,\nin which case getLoopLatch returns null.\n\nGitOrigin-RevId: 43ec60eee5f95e01c3b92ed08d09d574556c62c8\n"
    },
    {
      "commit": "ae928eaa51839b002680eda9101666d68f092bd2",
      "tree": "f26944eec9757610a4a47bd27141cbb07122c972",
      "parents": [
        "2c335594e12af97800abbbadcd317b27aa0e0116"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Mon Mar 16 17:29:35 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 16 09:30:27 2026 -0700"
      },
      "message": "Revert \"[DomTree] Assert non-null block for pre-dom tree\" (#186831)\n\nReverts llvm/llvm-project#186790\n\nBreaks buildbots, there are more SLPVectorizer problems.\n\nhttps://lab.llvm.org/buildbot/#/builders/52/builds/15810\n\nGitOrigin-RevId: e30aa40aa677ea967db9d2d20e43b64902070e56\n"
    },
    {
      "commit": "2c335594e12af97800abbbadcd317b27aa0e0116",
      "tree": "23ebb5bff56a629bd8f1b1312249d2e551bb468e",
      "parents": [
        "81925a51c6e6574d6a9e6b88c2dac506e1213ade"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Mon Mar 16 16:07:49 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 16 08:11:11 2026 -0700"
      },
      "message": "[DomTree] Assert non-null block for pre-dom tree (#186790)\n\nIn a pre-dominator tree, blocks should never be null.\n\nGitOrigin-RevId: d4c22859db8a3ac3ea11d9fdede28dcb57f3aee1\n"
    },
    {
      "commit": "81925a51c6e6574d6a9e6b88c2dac506e1213ade",
      "tree": "f26944eec9757610a4a47bd27141cbb07122c972",
      "parents": [
        "5853586af53685eba307dab841b2371c7538e77a"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Sun Mar 15 21:34:38 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Mar 15 13:35:36 2026 -0700"
      },
      "message": "[IR] Don\u0027t allow successors() over block without terminators (#186646)\n\nThere\u0027s no point constructing a dominator tree or similar on\nknown-broken IR. Generally, functions should be able to assume that IR\nis valid (i.e., passes the verifier). Users of this \"feature\" were:\n\n- Verifier, fixed by verifying existence of terminators first.\n- FuzzMutate, worked around by temporarily inserting terminators.\n- OpenMP to run analyses while building the IR, worked around by\ntemporarily inserting terminators.\n- Polly to work with an empty dominator tree, fixed by temporarily\nadding an unreachable inst.\n- MergeBlockIntoPredecessor, inadvertently, fixed by adding terminator\nbefore updating MemorySSA.\n- Some sloppily written unit tests.\n\nGitOrigin-RevId: 36041192cf6c9042615c8d2364cacc698ef89865\n"
    },
    {
      "commit": "5853586af53685eba307dab841b2371c7538e77a",
      "tree": "917761bdba04270d10d6c13dcd8cc361e8772341",
      "parents": [
        "1bf91761dbdb77c45cfef71c1b1fc0b0a2e9aafa"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Fri Mar 13 16:23:06 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 13 09:24:47 2026 -0700"
      },
      "message": "[SCEV] Introduce SCEVUse, use it instead of const SCEV * (NFCI). (#91961)\n\nThis patch introduces SCEVUse, which is a tagged pointer containing the\nused const SCEV *, plus extra bits to store NUW/NSW flags that are only\nvalid at the specific use.\n\nThis was suggested by @nikic as an alternative\nto https://github.com/llvm/llvm-project/pull/90742.\n\nThis patch just updates most SCEV infrastructure to operate on SCEVUse\ninstead of const SCEV *. It does not introduce any code that makes use\nof the use-specific flags yet which I\u0027ll share as follow-ups.\n\nCompile-time impact: https://llvm-compile-time-tracker.com/compare.php?from\u003dee34eb6edccdebc2a752ffecdde5faae6b0d5593\u0026to\u003d5a7727d7819414d2acbc5b6ab740f0fc2363e842\u0026stat\u003dinstructions%3Au\n\nGitOrigin-RevId: f8734a5e107f603871e4e327ddc41fb8a6058f3e\n"
    },
    {
      "commit": "1bf91761dbdb77c45cfef71c1b1fc0b0a2e9aafa",
      "tree": "406614ae723c11166ed84a48c8012c7c6b761724",
      "parents": [
        "ea4b263364ed07039cb5d0ddcfc589d27a9e63f0"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Thu Mar 12 17:36:19 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 12 09:41:01 2026 -0700"
      },
      "message": "[Polly] Use GenDT in assertion (#186164)\n\n`DT` is always the analysis for the to-be-optimized function while\n`GenDT` is the analysis of the function that we currently generate code\nfor, which can also be an outlined function. Here, we want to check\ndominance in the generated code, hence we must use `GenDT`.\n\n#179433 already fixed the same issue for `BlockGenerator`. The same\npattern is used in `RegionGenerator` which is fixed here. A good\nargument to avoid code duplication.\n\nFixes: #185313\n\nThanks to @jaschiu for the bug report and reproducer\n\nGitOrigin-RevId: 42b4dce07c41fe8dfa0ac900583d06852d39af39\n"
    },
    {
      "commit": "ea4b263364ed07039cb5d0ddcfc589d27a9e63f0",
      "tree": "0c6ab228fa0a5eb5482e04a923ece19fd458ccdc",
      "parents": [
        "d69c4a752804158e26ad39157845fa799ff41ecd"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sun Mar 01 23:06:59 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Mar 01 14:11:25 2026 -0800"
      },
      "message": "[Polly] Update isl to isl-0.27-86-gcf471c16 (#184044)\n\nUpdate isl to include\nhttps://repo.or.cz/isl.git/commit/d1b49851aca59c1edd01cb1dc97674e6d79d07af\nwhich fixes #180958\n\nCloses #180958\n\nThanks @skimo-openhub for the fix and @thapgua for the bugreport.\n\nGitOrigin-RevId: e6aafae828e0c6f7045cdc17253b42b844f52098\n"
    },
    {
      "commit": "d69c4a752804158e26ad39157845fa799ff41ecd",
      "tree": "8429ce8111cc14aa07a618ab36d021d1fb1b29a1",
      "parents": [
        "d5490be17bc5f6b7872d7cc994813b0aec9ffa5b"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Feb 23 01:09:36 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Feb 22 16:10:51 2026 -0800"
      },
      "message": "[Polly] Update isl to isl-0.27-82-g38cf72a4 (#182786)\n\nUpdate isl to include\nhttps://repo.or.cz/isl.git/commit/38cf72a41b708475fc22dc9fc62c7caae1ac29f6\nwhich fixes #179993. This changes some string representations of ISL\nobjects in tests which are updated.\n\nFixes #179993\n\nThanks @skimo-openhub for the fix and @thapgua for the bugreport.\n\nGitOrigin-RevId: 8e8974e5ebb0aa73abb498f10133756d3fd37711\n"
    },
    {
      "commit": "d5490be17bc5f6b7872d7cc994813b0aec9ffa5b",
      "tree": "4c7d9716161e2e5d4deece393e96d8ca15580a91",
      "parents": [
        "abc2d48b1e6c879695f26200d4d0ba21f3882045"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Fri Feb 20 12:07:18 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 20 03:10:34 2026 -0800"
      },
      "message": "[CMake][LLVM] Add PCH infrastructure and LLVMSupport PCH (#176420)\n\nThis patch implements PCH support. PCH is enabled by default, unless\nnoted below, and can be disabled with\n-DCMAKE_DISABLE_PRECOMPILE_HEADERS\u003dON.\n\n* Libraries can define precompiled headers using a newly added\nPRECOMPILE_HEADERS keyword. If specified, the listed headers will be\ncompiled into a pre-compiled header using standard CMake mechanisms.\n\n* Libraries that don\u0027t define their own PRECOMPILE_HEADERS but directly\ndepend on a library or component that defines its own PCH will reuse\nthat PCH. This reuse is not transitive to prevent excessive use of\nunrelated headers. If multiple dependencies provide a reusable PCH, the\nfirst one with the longest dependency chain (stored in the CMake target\nproperty LLVM_PCH_PRIORITY) is used. However, due to CMake limitations,\nonly PCH from targets that are already defined can be reused; therefore\nlibraries that should reuse a PCH must be defined later in the CMake\nfile (\u003d\u003e add_subdirectory order matters).\n\n* Libraries and executables can prevent PCH reuse with the keyword\nDISABLE_PCH_REUSE. This both prevents reuse from dependencies and reuse\nby other dependants. This is useful when, e.g., internal headers are\nused in the PCH or the used headers are unlikely to provide benefits for\ndependants.\n\n* Precompiled headers are only used for C++ sources, not for C.\n\n* With GCC, PCH provide very little benefits (tested with GCC 14 and 15)\ndue to increased template instatiation costs, but substantially increase\nmax-rss and build directory size. Therefore, disable PCH with GCC by\ndefault; this can be explicitly overridden on the command line with\n-DCMAKE_DISABLE_PRECOMPILE_HEADERS\u003dOFF.\n\n* With ccache and non-Clang compilers, changes in macro definitions are\nnot always accurately forwarded with ccache\u0027s preprocessed mode. To be\non the safe side, when ccache is enabled, disable PCH with all non-Clang\ncompilers; this can be explicitly overridden.\n\n* With sccache, changes in macro definitions are not identified, which\nin some cases can lead to false positive cache hits. Conservatively\ndisable PCH with sccache by default.\n\n* Add a base PCH to LLVMSupport, which includes widely used standard\nlibrary and Support+ADT headers. The pch.h is placed in include so that\nlater PCH headers can extend that list of headers.\n\n* Flang PCH use is ported to the general mechanism.\n\nAddition of PCH headers for other components (e.g., IR, CodeGen) will be\nposted as separate PRs.\n\nRFC:\nhttps://discourse.llvm.org/t/rfc-use-pre-compiled-headers-to-speed-up-llvm-build-by-1-5-2x/89345\nGitOrigin-RevId: b82c7fc65229c8b2b6a964f023f6ec59b3cf9210\n"
    },
    {
      "commit": "abc2d48b1e6c879695f26200d4d0ba21f3882045",
      "tree": "58618cee624f0cac76ee4007bf9438cad9f6529f",
      "parents": [
        "4e1ddf66946532ab6a018c52ab40c996c535abb8"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Feb 16 23:28:51 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 16 14:31:52 2026 -0800"
      },
      "message": "[Polly][ScopInfo] Lazy Scop instantiation (#179535)\n\nThe old NPM was using ScopInfo pass introduced in\nhttps://reviews.llvm.org/D20962, which in contrast to the LPM was using\nScopInfoRegionPass. ScopInfo was instantiating all Scop objects\nimmediately. After codegenning, all Scop objects need to be recomputed\nanyway, making this approach wastful. The PhaseManager inherited this\nbehaviour from the NPM, leading to some concerns.\n\nReplace the instantiate-all behavior of ScopInfo with an on-demand\ninstantiation. SCoPs now must be iterated using ScopDetection instead\nusing ScopInfo, but only some unsed legacy NPM passes (now removed) were\ndoing that anyway.\n\nGitOrigin-RevId: d5607ad55c5e56383d33e6ec0f582a687d75dedb\n"
    },
    {
      "commit": "4e1ddf66946532ab6a018c52ab40c996c535abb8",
      "tree": "3a9a90567efc02fb5ac04bc714f4c105f66e0137",
      "parents": [
        "2d4bc37049c36681ca97e58cf8d67a94c06942a7"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Feb 16 11:00:49 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 16 02:06:13 2026 -0800"
      },
      "message": "[Polly] Honor \u0027scops\u0027 phase being disabled (#180380)\n\n`opt -passes\u003dpolly-custom\u003cdetect\u003e`, or `stopafter\u003ddetect` would still\nrun the ScopInfo analysis even though it should run when explicitly\nenabled or required by another phase.\n\nGitOrigin-RevId: 3272ba7b8fd7672b92eb969e71533b4115e74ecd\n"
    },
    {
      "commit": "2d4bc37049c36681ca97e58cf8d67a94c06942a7",
      "tree": "805d29baa7ae44f6e95fbe795240a7f2132e9f82",
      "parents": [
        "5c679b84e17d47d48d4c0695dc12b0a596deb528"
      ],
      "author": {
        "name": "Shilei Tian",
        "email": "i@tianshilei.me",
        "time": "Sun Feb 15 12:06:42 2026 -0500"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Feb 15 09:12:17 2026 -0800"
      },
      "message": "[RFC][IR] Remove `Constant::isZeroValue` (#181521)\n\n`Constant::isZeroValue` currently behaves same as\n`Constant::isNullValue` for all types except floating-point, where it\nadditionally returns true for negative zero (`-0.0`). However, in\npractice, almost all callers operate on integer/pointer types where the\ntwo are equivalent, and the few FP-relevant callers have no meaningful\ndependence on the `-0.0` behavior.\n\nThis PR removes `isZeroValue` to eliminate the confusing API. All\ncallers are changed to `isNullValue` with no test failures.\n\n`isZeroValue` will be reintroduced in a future change with clearer\nsemantics: when null pointers may have non-zero bit patterns,\n`isZeroValue` will check for bitwise-all-zeros, while `isNullValue` will\ncheck for the semantic null (which\nmay be non-zero).\nGitOrigin-RevId: 70905e0afae2e2f14c405bca514494c5b1449822\n"
    },
    {
      "commit": "5c679b84e17d47d48d4c0695dc12b0a596deb528",
      "tree": "db7a4ad5ba4b86cdc1b1fd1338a89de2791a6ada",
      "parents": [
        "f78f87fca811e776ca6a960c246a227c690fffdf"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sun Feb 08 00:30:33 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Feb 07 15:35:53 2026 -0800"
      },
      "message": "[Polly] Update isl to isl-0.27-78-gfc484e00 (#180377)\n\nUpdate isl to include\nhttps://repo.or.cz/isl.git/commit/fc484e004200964f8f18249de1f510393ec924a9\nwhich fixes #180000.\n\nThe isl update also fixes #34710 which had the same cause but with an\nempty access domain (#180000 has an empty statement domain). Thus we\nalso revert 163cacb46960be4dd0d8562737bbf0ea97cb14ad which now only adds\nunnecessary overhead.\n\nA regression test has been added to isl which is why we do not add a\ntest in Polly.\n\nFixes: #180000\n\nThanks @skimo-openhub for the fix and @thapgua for the bugreport.\n\nGitOrigin-RevId: ac57c4a7285a0f4d9707ec9c3be8c5b0ee1423ec\n"
    },
    {
      "commit": "f78f87fca811e776ca6a960c246a227c690fffdf",
      "tree": "2bd5a75826a7d4dbb1e076af8bad1392d7726059",
      "parents": [
        "5614d65ad9936f3fcf1fcd44ba65ab2da996ecf2"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Tue Feb 03 21:04:41 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 03 12:21:05 2026 -0800"
      },
      "message": "[Polly] LLVM_DEBUG -\u003e POLLY_DEBUG\n\nGitOrigin-RevId: 0f88b5da06e2c17743aa59633d1f9013977a9cc0\n"
    },
    {
      "commit": "5614d65ad9936f3fcf1fcd44ba65ab2da996ecf2",
      "tree": "5e777ccf2c14a387f886724be7bf672f614e26c4",
      "parents": [
        "225a60e1bb74047782d14c4c63f8ef78862b1466"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Tue Feb 03 12:09:37 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 03 03:36:28 2026 -0800"
      },
      "message": "[Polly][NFCI] Avoid R-value modification\n\nGitOrigin-RevId: 9ceb6a8b40d4e58f798ae596dfdd7e55aef4243d\n"
    },
    {
      "commit": "225a60e1bb74047782d14c4c63f8ef78862b1466",
      "tree": "2cd54e3c03791b8c109eaca268e1a748d57db576",
      "parents": [
        "b84b005bc277f7d7b2639fa655b9818f0996e918"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Tue Feb 03 12:10:54 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 03 03:15:06 2026 -0800"
      },
      "message": "[Polly] Use GenDT in assertion (#179433)\n\n`DT` is always the analysis for the to-be-optimized function while\n`GenDT` is the analysis of the function that we currently generate code\nfor which can also be an outlined function. Here, we want to check\ndominance in the generated code, hence we must use `GenDT`.\n\nFixes: #179135\nGitOrigin-RevId: 347e21a2445733f4a32614080289ea13f484c9f8\n"
    },
    {
      "commit": "b84b005bc277f7d7b2639fa655b9818f0996e918",
      "tree": "c34a326b8248ebb25b04e8423d0b4f6013744735",
      "parents": [
        "4c74a1a8aa664522466ff887dd0fa4139282db76"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Tue Feb 03 00:02:03 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 02 15:05:48 2026 -0800"
      },
      "message": "[Polly] Update isl to isl-0.27-77-g99a07a03 (#179350)\n\nUpdate isl to include\nhttps://repo.or.cz/isl.git/commit/99a07a039237f11bccc1ef80a7b6cc76ae5f98c5\nwhich fixes #177808\n\nThanks @skimo-openhub for the fix and @Andarwinux for the crash report\n\nFixes: #177808\nGitOrigin-RevId: cdab38f776fc6d0c809500d901df51354edc745c\n"
    },
    {
      "commit": "4c74a1a8aa664522466ff887dd0fa4139282db76",
      "tree": "2785a18a31a300d69ac597ab1beb812a9a3fbcd0",
      "parents": [
        "eb71d4bcef4c6ced41aa3df228609bafd4ffbd99"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Jan 31 22:34:42 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jan 31 17:36:32 2026 -0800"
      },
      "message": "[Polly][CI] Add ScriptedBuilder scripts\n\nAdd ScriptedBuilder-equivalents of the current PollyBuilder-based\nbuildbots.\n\nGitOrigin-RevId: bba5371e3290fe3c47bd4fb6707ae3ce222b892f\n"
    },
    {
      "commit": "eb71d4bcef4c6ced41aa3df228609bafd4ffbd99",
      "tree": "7e0905212a0656cb9ca9547ac1e6544fa736f44c",
      "parents": [
        "52c1df9558a7051ab1bc6daa5c3e4a2af48f706d"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Thu Jan 29 13:59:40 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 29 06:06:10 2026 -0800"
      },
      "message": "[Polly][CI] Unconditionally delete test-suite build\n\nThe test-suite should be recompiled every time, even in incremental\nbuilds.\n\nGitOrigin-RevId: e509974d423f1f260d63ec374463b5f75b18625e\n"
    },
    {
      "commit": "52c1df9558a7051ab1bc6daa5c3e4a2af48f706d",
      "tree": "252e7af48d2ab1786dc5a98d44c24ad21c94c9ba",
      "parents": [
        "4e2f47cc7caafb155f9693b28887618225916584"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Tue Jan 27 20:37:41 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 27 11:40:46 2026 -0800"
      },
      "message": "[Polly][DeLICM] Check for error state (#178281)\n\nWhen the ISL max-operations is exceeded, `is_wrapping` will return an\nerror state. Propagate the error state to the caller.\n\nFixes #175953\n\nGitOrigin-RevId: 85812fde9e09fe870f3005cbf54c0144df21eaaa\n"
    },
    {
      "commit": "4e2f47cc7caafb155f9693b28887618225916584",
      "tree": "bde2a3d79e9ad268b8d00d995883521229cb4b53",
      "parents": [
        "eb34e6d94d8467e99df140b80e5fe8f4e169a04d"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sun Jan 25 21:08:45 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jan 25 12:10:23 2026 -0800"
      },
      "message": "[Polly] Reject scalable vector types (#177871)\n\nPolly currently does not consider types without fixed length, which can\nbe encountered if an input source uses e.g. ARM SVE builtins. Such\nprograms have already been optimized manually. Non-fixed type lengths\nalso add to the difficulty of dependency analysis. Skip such types\nentirely for now.\n\nFixes: #177859\nGitOrigin-RevId: e5d235831dfb07b6e767812af7f9d3daa5896f78\n"
    },
    {
      "commit": "eb34e6d94d8467e99df140b80e5fe8f4e169a04d",
      "tree": "68582cf9753ef6430d270f552c2678f852f32f42",
      "parents": [
        "693aeeb2ccac2ed1a8ce1f3cdfbf010e8e27b51a"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Jan 24 20:04:08 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jan 24 11:10:40 2026 -0800"
      },
      "message": "[Polly] Avoid dependence on x86 backend\n\nUnbreak the polly-arm-linux buildbot.\n\nGitOrigin-RevId: dcb6e15a83c907be0e71e01f3509d530135c56ae\n"
    },
    {
      "commit": "693aeeb2ccac2ed1a8ce1f3cdfbf010e8e27b51a",
      "tree": "14e1be5b89fbfacb6a7bdb16589ab805119f84cb",
      "parents": [
        "2405320d54835d114849c3ff5e11de3fbafa3ac3"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sat Jan 24 17:07:21 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jan 24 08:10:19 2026 -0800"
      },
      "message": "[Polly] Update isl to isl-0.27 (#177776)\n\nFixes: #177527\n\nUpdated test cases:\n\n* CodeGen/OpenMP/matmul-parallel.ll, ScheduleOptimizer/pattern-matching-based-opts.ll\n  Before the update, ISL bailed out the dependency computation due to\n  hitting the max operation limit. The commit\n  https://repo.or.cz/isl.git/commit/4bdfe2567715c5d1a8287c07d8685eb3db281e32\n  seems to have reduced the complexity needed of the dependency\n  computation, thus now being able to recognize some loops as parallel.\n  The tests were checking that the outer loop is not parallel, but some\n  inner loops can be parallized, particularly the array packing loops.\n\n * DeLICM/reduction_looprotate_hoisted.ll\n   changes in how isl generates expressions\n\n * ScheduleOptimizer/pattern-matching-based-opts_5.ll\n   changes in how isl generates expressions, and AST node changes\n\nGitOrigin-RevId: 8dcc9b635504f9ed3b462f26c49e8edffb8c3c56\n"
    },
    {
      "commit": "2405320d54835d114849c3ff5e11de3fbafa3ac3",
      "tree": "26ab12a019009783f20a2a39383e3770a1c52786",
      "parents": [
        "82acc0713773006a36a37da2b54b5a7eb40d92f3"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Fri Jan 16 11:58:04 2026 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 16 04:00:53 2026 -0800"
      },
      "message": "[SCEV] Add initial support for ptrtoaddr. (#158032)\n\nAdd initial support for PtrToAddr to SCEV, including a new\nSCEVPtrToAddrExpr and SCEV expansion support for it.\n\nPR: https://github.com/llvm/llvm-project/pull/158032\nGitOrigin-RevId: 3fb914d8512ee778a79cbf81c0d02f03c9fa4436\n"
    },
    {
      "commit": "82acc0713773006a36a37da2b54b5a7eb40d92f3",
      "tree": "f4e021e39722a1fd437f696a157ac8190ff5d1ab",
      "parents": [
        "7652f481305e40ebed1f9c97e1f75eff03568f28"
      ],
      "author": {
        "name": "Karthika Devi C",
        "email": "quic_kartc@quicinc.com",
        "time": "Wed Jan 14 19:49:19 2026 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 14 06:20:37 2026 -0800"
      },
      "message": "[Polly] Add null pointer check before size retrieval (#174309)\n\nThis patch avoids assertion failures by ensuring a null pointer check is\nperformed before accessing the object\u0027s size.\nNote: The corresponding test case remains too large even after\nreduction, so it has not been included in this patch.\n\nFixes #174147\n\nGitOrigin-RevId: bf845a4364f526aef8d7da1b9b75417c28009e73\n"
    },
    {
      "commit": "7652f481305e40ebed1f9c97e1f75eff03568f28",
      "tree": "84e705118192f058275bf462c418e8bc4360dfb5",
      "parents": [
        "929d2dc5c246f91761f75d8c9bb693569fe9462d"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Wed Jan 07 10:02:04 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 07 01:15:30 2026 -0800"
      },
      "message": "[Buildbot][Polly] Move polly-x86_64-linux-test-suite build instructions into main repository (#166809)\n\nAllow the main llvm-project repository to contain the buildbot builder\ninstructions, instead of storing them in llvm-zorg. The corresponding\nllvm-zorg PR is https://github.com/llvm/llvm-zorg/pull/648.\n\nUsing polly-x86_64-linux-test-suite as a proof-of-concept because that\nbuilder is currently offline, I am its maintainer, and is easier to\nbuild than an configuration supporting offload. Once the design has been\ndecided, more builders can follow.\n\nAdvantages are:\n* It is easier to make changes in the llvm-project repository. There are\n  more reviewers than for the llvm-zorg repository.\n* Buildbot changes can be made in the same PR with changes that require\n  updating the buildbot, e.g. changing the name of a CMake option.\n* Configuration changes take effect immeditately when landing; no\n  buildbot master restart needed.\n* Some builders store a CMake cache file in the llvm-project repository\n  for the reasons above. However, the number of changes that can be made\n  with a CMake cache file alone are limited.\n\nCompared to AnnotatedBuilder, advantages are:\n* Reproducing a buildbot configuration locally made easy: just execute\n  the script in-place. No llvm-zorg, local buildbot worker, or buildbot\n  master needed.\n* Same for testing a change of a builder before landing it in llvm-zorg.\n  Doing so with an AnnotatedBuilder requires two llvm-zorg checkouts:\n  One for making the change of the builder script itself, which then is\n  pushed to a private llvm-zorg branch on GitHub, and a second that is\n  modified to fetch that branch instead of\n  https://github.com/llvm/llvm-zorg/tree/main.\n* The AnnotatedBuilder scripts are located in the llvm-zorg repository\n  and the buildbot-workers always checkout is always the top-of-trunk.\n  This means that a buildbot configuration is split over three checkouts:\n     * The checkout of llvm-project to be tested\n     * The checkout of llvm-zorg by the buildbot-worker fetches; always the\n        top-of-trunk, i.e may not match the revision of llvm-project that is\n        executed (such as the CMake cache files located there), especially when\n        using the \"Force build\" feature.\n     * The checkout of llvm-zorg that the buildbot-master is running, which\n       is updated only when the master is manually restarted.\n* The \"Force Build\" feature also allows for test-building any\n  llvm-project PR. This is correctly handled by zorg\u0027s\n  `addGetSourcecodeSteps`, but does not work with AnnotatedBuilders that\n  checkout the llvm-project source on their own.\n\nThe goal is to move as much as possible into the llvm-project repository\nsuch that there cannot be a mismatch between checkouts of different\nrepositories. Ideally, the buildbot-master only needs to be\nupdated+restarted for adding/removing workers, not for build\nconfiguration changes.\n\n---------\n\nCo-authored-by: Jan Patrick Lehr \u003cjp.lehr@gmail.com\u003e\nGitOrigin-RevId: c55c2ab8067eef649a8b04fc8173b8e164cb56b3\n"
    },
    {
      "commit": "929d2dc5c246f91761f75d8c9bb693569fe9462d",
      "tree": "43e34db195eb7a7c9bf08757a1e80158d0be0e6b",
      "parents": [
        "aca96dd68b03ad3be8a89652b847a80d271f175f"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Tue Jan 06 14:07:03 2026 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 06 05:11:48 2026 -0800"
      },
      "message": "[Polly] Allow changing array dims when importing JScop (#174582)\n\nThis is in preparation to avoid relying on GEPs to derive dependency\ninformation; Clang will eventually emit `ptradd` instead of\n`getelementptr`.\n\nGitOrigin-RevId: af3a0e61f4e08afb53d4efe815fcc6269c63f739\n"
    },
    {
      "commit": "aca96dd68b03ad3be8a89652b847a80d271f175f",
      "tree": "dafd0370bdaa05cbed9192158f9534a326ed9203",
      "parents": [
        "c698d477b26a69781713df5e3116eff76a606813"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Mon Dec 22 18:11:34 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 22 09:15:57 2025 -0800"
      },
      "message": "[LLVM][NFC] Move PassPlugin from Passes to separate library\n\nThis avoid pulling in the entire Passes library with all passes as\ndependencies when just referring to PassPlugin, which is in fact\nindependent of the Passes themselves.\n\nPull Request: https://github.com/llvm/llvm-project/pull/173279\n\nGitOrigin-RevId: f54df0d09e19ec6b205cb0af45c7ecea2fd8aeff\n"
    },
    {
      "commit": "c698d477b26a69781713df5e3116eff76a606813",
      "tree": "5c8a2a276e99769481c67561afc79ca12b3b3c34",
      "parents": [
        "d8fc42d930cdb8f0f9b79dc0e57e4dbe1dc4f5c6"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Mon Dec 22 15:50:28 2025 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 22 07:55:50 2025 -0800"
      },
      "message": "Revert \"[LLVM][NFC] Move PassPlugin from Passes to Extensions lib\" and subsequent commit\n\nThis reverts commit d87b47d3a893b849cfd1ee5309b9fec2b0aec8cd.\nThis reverts commit f7ed3d44a198bfe689a1aa284452e875d5bb8a55.\n\nGitOrigin-RevId: 2634a2bda1db92ab5324a47459ee7f23e531ce53\n"
    },
    {
      "commit": "d8fc42d930cdb8f0f9b79dc0e57e4dbe1dc4f5c6",
      "tree": "018772c66dfd847d0f8e11cdc0b82337b767a3e6",
      "parents": [
        "338c6764d24eadb0fa828e72d6c41aedaf5b8d50"
      ],
      "author": {
        "name": "Alexis Engelke",
        "email": "engelke@in.tum.de",
        "time": "Mon Dec 22 11:42:27 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 22 02:45:55 2025 -0800"
      },
      "message": "[LLVM][NFC] Move PassPlugin from Passes to Extensions lib\n\nThis avoid pulling in the entire Passes library with all passes as\ndependencies when just referring to PassPlugin, which is in fact\nindependent of the Passes themselves.\n\nPull Request: https://github.com/llvm/llvm-project/pull/172478\n\nGitOrigin-RevId: d87b47d3a893b849cfd1ee5309b9fec2b0aec8cd\n"
    },
    {
      "commit": "338c6764d24eadb0fa828e72d6c41aedaf5b8d50",
      "tree": "5c8a2a276e99769481c67561afc79ca12b3b3c34",
      "parents": [
        "583472acf677b65fc6e090664a400521ce3a2a4a"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Wed Dec 17 13:20:19 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 17 04:25:32 2025 -0800"
      },
      "message": "[Polly] Recalculate dependencies after import-jscop (#172640)\n\nThe new access functions may have different dependencies than the\noriginal ones. Invalidate the dependency analysis after an jscop-import.\n\nGitOrigin-RevId: 06e4728f83e5c41c4e075fc5014f4aea696b6417\n"
    },
    {
      "commit": "583472acf677b65fc6e090664a400521ce3a2a4a",
      "tree": "e5477514299acb9e7c34520a7640f5f07b6d0f0d",
      "parents": [
        "5d7df09ee85a17f029803e3443c4232062c862dc"
      ],
      "author": {
        "name": "Ramkumar Ramachandra",
        "email": "ramkumar.ramachandra@codasip.com",
        "time": "Thu Dec 11 14:26:47 2025 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 23:22:00 2025 -0800"
      },
      "message": "[SCEVExp] Get DL from SE, strip constructor arg (NFC) (#171823)\n\nGitOrigin-RevId: 85fafd5db0fc0d1e38b3277b67f45ae6a5b74824\n"
    },
    {
      "commit": "5d7df09ee85a17f029803e3443c4232062c862dc",
      "tree": "cdbd516b67e1d3cf30cad7e4e77e6857722bb646",
      "parents": [
        "66dd508136d211da99fdecc446432adff4098e4b"
      ],
      "author": {
        "name": "Sebastian Pop",
        "email": "spop@nvidia.com",
        "time": "Wed Dec 03 22:21:09 2025 -0600"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 23:21:51 2025 -0800"
      },
      "message": "[delinearize] use SCEV exprs in getIndexExpressionsFromGEP (#162888)\n\nclean up interface of getIndexExpressionsFromGEP to get SCEV expressions\ninstead of int for Sizes of the arrays.\nThis intends to simplify the code in #156342 by avoiding conversions\nfrom SCEV to int and back to SCEV.\n\nGitOrigin-RevId: c08f49b685052092362e5afbcd7bdbf659195a7a\n"
    },
    {
      "commit": "66dd508136d211da99fdecc446432adff4098e4b",
      "tree": "e4553ceb40886b8ccfbe1099a104a1c802579bf4",
      "parents": [
        "a7be96da72a5ac4cfe30aec9ef742f1fea3c8039"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Sun Nov 16 15:12:52 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 23:21:42 2025 -0800"
      },
      "message": "[Polly] Remove ScopPass infrastructure (#125783)\n\nPR #125442 replaces the pass-based Polly architecture with a monolithic\npass consisting of phases. Reasons listed in\nhttps://github.com/llvm/llvm-project/pull/125442.\n\nWith this change, the SCoP-passes became redundant problematic versions\nof the same functionality and are removed.\n\nGitOrigin-RevId: f12ad95991144c35e95d331afc29b9b065d4e0b8\n"
    },
    {
      "commit": "a7be96da72a5ac4cfe30aec9ef742f1fea3c8039",
      "tree": "5dc48e35d5bf6cb7624a05ccce8a88e9e2bdd2ff",
      "parents": [
        "e2bc335a9e7d32ef4e7947ff57a66f98ea8f60f3"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Fri Nov 14 00:45:54 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 23:21:33 2025 -0800"
      },
      "message": "[Polly] Introduce PhaseManager and remove LPM support (#125442) (#167560)\n\nReapply of a22d1c2225543aa9ae7882f6b1a97ee7b2c95574. Using this PR for\npre-merge CI.\n\nInstead of relying on any pass manager to schedule Polly\u0027s passes, add\nPolly\u0027s own pipeline manager which is seen as a monolithic pass in\nLLVM\u0027s pass manager. Polly\u0027s former passes are now phases of the new\nPhaseManager component.\n\nRelying on LLVM\u0027s pass manager (the legacy as well as the New Pass\nManager) to manage Polly\u0027s phases never was a good fit that the\nPhaseManager resolves:\n\n* Polly passes were modifying analysis results, in particular RegionInfo\nand ScopInfo. This means that there was not just one unique and\n\"definite\" analysis result, the actual result depended on which analyses\nran prior, and the pass manager was not allowed to throw away cached\nanalyses or prior SCoP optimizations would have been forgotten. The LLVM\npass manger\u0027s persistance of analysis results is not contractual but\ndesigned for caching.\n\n* Polly depends on a particular execution order of passes and regions\n(e.g. regression tests, invalidation of consecutive SCoPs). LLVM\u0027s pass\nmanager does not guarantee any excecution order.\n\n* Polly does not completely preserve DominatorTree, RegionInfo,\nLoopInfo, or ScalarEvolution, but only as-needed for Polly\u0027s own uses.\nBecause the ScopDetection object stores references to those analyses, it\nstill had to lie to the pass manager that they would be preserved, or\nthe pass manager would have released and recomputed the invalidated\nanalysis objects that ScopDetection/ScopInfo was still referencing. To\nensure that no non-Polly pass would see these not-completely-preserved\nanalyses, all analyses still had to be thrown away after the\nScopPassManager, respectively with a BarrierNoopPass in case of the LPM.\n\n* The NPM\u0027s PassInstrumentation wraps the IR unit into an `llvm::Any`\nobject, but implementations such as PrintIRInstrumentation call\nllvm_unreachable on encountering an unknown IR unit, such as SCoPs, with\nno extension points to add support. Hence LLVM crashes when dumping IR\nbetween SCoP passes (such as `-print-before-changed` with Polly being\nactive).\n\nThe new PhaseManager uses some command line options that previously\nbelonged to Polly\u0027s legacy passes, such as `-polly-print-detect` (so the\noption will continue to work). Hence the LPM support is incompatible\nwith the new approach and support for it is removed.\n\nGitOrigin-RevId: 7a0f7dbf2dcc3f7f6546428aadff24209f7c1a94\n"
    },
    {
      "commit": "e2bc335a9e7d32ef4e7947ff57a66f98ea8f60f3",
      "tree": "ef433d2d227ff0bf234665dff56584794ef54437",
      "parents": [
        "a9a2801fabfcc5eb8246113370650314f88a9203"
      ],
      "author": {
        "name": "Karthika Devi C",
        "email": "quic_kartc@quicinc.com",
        "time": "Mon Nov 10 13:48:15 2025 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 23:21:22 2025 -0800"
      },
      "message": "[Polly] Retain vectorization for fallback loop when RTC is unsatisfiable (#165525)\n\nWhen Polly generates a false runtime condition (RTC), the associated\nPolly generated loop is never executed and is eventually eliminated. As\na result, the fallback loop becomes the default execution path.\nDisabling vectorization for this fallback loop will be\ncounterproductive. This patch ensures that vectorization is only\ndisabled when the RTC is not false (no Codegen failure).\n\nGitOrigin-RevId: 6408703de5a523e331ee47bbb6bea5a13b1a2758\n"
    },
    {
      "commit": "a9a2801fabfcc5eb8246113370650314f88a9203",
      "tree": "43717ffe052a68bb67d37737dfd81df696a76344",
      "parents": [
        "86a0dd4c7eafdcf4022d559b87c763024b256861"
      ],
      "author": {
        "name": "Kazu Hirata",
        "email": "kazu@google.com",
        "time": "Wed Nov 05 08:23:22 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 05 08:26:03 2025 -0800"
      },
      "message": "[polly] Fix unused variable warnings\n\nThis patch fixes:\n\n  polly/lib/Transform/ScheduleOptimizer.cpp:935:17: error: unused\n  variable \u0027File\u0027 [-Werror,-Wunused-variable]\n\n  polly/lib/Transform/ScheduleOptimizer.cpp:936:9: error: unused\n  variable \u0027Line\u0027 [-Werror,-Wunused-variable]\n\n  polly/lib/Transform/ScheduleOptimizer.cpp:937:17: error: unused\n  variable \u0027Msg\u0027 [-Werror,-Wunused-variable]\n\nGitOrigin-RevId: bb367c14aea99ab744406f3e3a700186fd3f1ad6\n"
    },
    {
      "commit": "86a0dd4c7eafdcf4022d559b87c763024b256861",
      "tree": "17bb631de55ac6fffe3fd59f2ff56d0c73950cab",
      "parents": [
        "82bad6ceec76783f440d675b86cf60c456ecd5eb"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Wed Nov 05 14:17:05 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 05 05:20:54 2025 -0800"
      },
      "message": "[Polly] Check for ISL errors after schedule optimization (#166551)\n\nWhen ISL encounters an internal error, it sets the error flag, but it is\nnot isl_error_quota that was already checked. Check for general errors\nand abort the schedule optimization if that happens, instead of\ncontinuing on the good path.\n\nThe error occured when compiling llvm-test-suite\u0027s\nMultiSource/Applications/JM/lencod/leaky_bucket.c with Polly enabled.\nNot adding a test case because it depends on ISL internals. We do not\nwant to a test case to depend on which version of ISL is used.\n\nGitOrigin-RevId: 305cf623d7ab6fc6340930c1c21fe9f7d39d0e8f\n"
    },
    {
      "commit": "82bad6ceec76783f440d675b86cf60c456ecd5eb",
      "tree": "b1fc010b4d7aeccd15ffe9746f6d2092c5a597c9",
      "parents": [
        "82253481282545806d050776af9b748d83cb21ba"
      ],
      "author": {
        "name": "Kazu Hirata",
        "email": "kazu@google.com",
        "time": "Tue Nov 04 08:28:51 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 04 08:30:35 2025 -0800"
      },
      "message": "[ADT] Deprecate a soft-deprecated APInt constructor (#166314)\n\nThis patch deprecates an APInt constructor that has been\nsoft-deprecated via comments since:\n\n  commit 7a16288157efc5fb85fbe3b8b4c37071da7609a6\n  Author: Jeffrey Yasskin \u003cjyasskin@google.com\u003e\n  Date:   Mon Jul 18 21:45:40 2011 +0000\n\nThis patch updates a small number of remaining uses.\n\nGitOrigin-RevId: ed7d6c3511df7f5d1dbf52579740f7f4e4ada4f9\n"
    },
    {
      "commit": "82253481282545806d050776af9b748d83cb21ba",
      "tree": "8d46864bee584d863752f2c1d792c5c23ecb40a6",
      "parents": [
        "ad24089f576dffe8e21f202c8bf6d54aec6417d9"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Nov 04 01:31:18 2025 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 03 17:35:43 2025 -0800"
      },
      "message": "Revert \"[Polly] Introduce PhaseManager and remove LPM support (#125442)\"\n\nThis reverts commit e987ab11a6f3d3965ef26fc42c82db3e8b1d56f5.\n\nThis broke premerge:\n1. https://lab.llvm.org/staging/#/builders/192/builds/9521\n2. https://github.com/llvm/llvm-project/actions/runs/19054182009\n\nNotably this did not break inside the PR. Not exactly sure why. I realize that\nthere is a lot of test churn here, but they\u0027re largely in polly where commit\nfrequency is much lower, so a reapply of the patch should be clean.\n\nGitOrigin-RevId: a22d1c2225543aa9ae7882f6b1a97ee7b2c95574\n"
    },
    {
      "commit": "ad24089f576dffe8e21f202c8bf6d54aec6417d9",
      "tree": "6d806fb9fc87353b0ea9e027dc9871f26bd68407",
      "parents": [
        "c50c12efbb6d4112eb2938a6620f74116eb71a0d"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Mon Nov 03 23:34:50 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 03 14:41:22 2025 -0800"
      },
      "message": "[Polly] Introduce PhaseManager and remove LPM support (#125442)\n\nInstead of relying on any pass manager to schedule Polly\u0027s passes, add\nPolly\u0027s own pipeline manager which is seen as a monolithic pass in\nLLVM\u0027s pass manager. Polly\u0027s former passes are now phases of the new\nPhaseManager component.\n\nRelying on LLVM\u0027s pass manager (the legacy as well as the New Pass\nManager) to manage Polly\u0027s phases never was a good fit that the\nPhaseManager resolves:\n\n* Polly passes were modifying analysis results, in particular RegionInfo\nand ScopInfo. This means that there was not just one unique and\n\"definite\" analysis result, the actual result depended on which analyses\nran prior, and the pass manager was not allowed to throw away cached\nanalyses or prior SCoP optimizations would have been forgotten. The LLVM\npass manger\u0027s persistance of analysis results is not contractual but\ndesigned for caching.\n\n* Polly depends on a particular execution order of passes and regions\n(e.g. regression tests, invalidation of consecutive SCoPs). LLVM\u0027s pass\nmanager does not guarantee any excecution order.\n\n* Polly does not completely preserve DominatorTree, RegionInfo,\nLoopInfo, or ScalarEvolution, but only as-needed for Polly\u0027s own uses.\nBecause the ScopDetection object stores references to those analyses, it\nstill had to lie to the pass manager that they would be preserved, or\nthe pass manager would have released and recomputed the invalidated\nanalysis objects that ScopDetection/ScopInfo was still referencing. To\nensure that no non-Polly pass would see these not-completely-preserved\nanalyses, all analyses still had to be thrown away after the\nScopPassManager, respectively with a BarrierNoopPass in case of the LPM.\n\n* The NPM\u0027s PassInstrumentation wraps the IR unit into an `llvm::Any`\nobject, but implementations such as PrintIRInstrumentation call\nllvm_unreachable on encountering an unknown IR unit, such as SCoPs, with\nno extension points to add support. Hence LLVM crashes when dumping IR\nbetween SCoP passes (such as `-print-before-changed` with Polly being\nactive).\n\nThe new PhaseManager uses some command line options that previously\nbelonged to Polly\u0027s legacy passes, such as `-polly-print-detect` (so the\noption will continue to work). Hence the LPM support is incompatible\nwith the new approach and support for it is removed.\n\nGitOrigin-RevId: e987ab11a6f3d3965ef26fc42c82db3e8b1d56f5\n"
    },
    {
      "commit": "c50c12efbb6d4112eb2938a6620f74116eb71a0d",
      "tree": "8d46864bee584d863752f2c1d792c5c23ecb40a6",
      "parents": [
        "24a4f4dfd438f31f1b48d02efe5bff75ed207ec6"
      ],
      "author": {
        "name": "Shikhar Jain",
        "email": "shikharj@qti.qualcomm.com",
        "time": "Mon Nov 03 19:06:37 2025 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 03 05:41:37 2025 -0800"
      },
      "message": " Bound ISL operations during pre-vectorization (#165204)\n\nBound ISL operations during pre-vectorization to\nprevent indefinite compilation. The MaxOpGuard\npreviously used for schedule computation is now\nextended to also guard pre-vectorization optimizations.\nThis patch includes a reduced test case derived\nfrom the original bug report.\n\n---------\n\nCo-authored-by: Michael Kruse \u003cllvm-project@meinersbur.de\u003e\nGitOrigin-RevId: 795fa9ea00a18b2ccd779efb17ce805a73d1ce7a\n"
    },
    {
      "commit": "24a4f4dfd438f31f1b48d02efe5bff75ed207ec6",
      "tree": "583e012747eafb32e469939cee02a995b1603a35",
      "parents": [
        "c5fb9b34219ef0edd6b509e2e8a5c08397db3158"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Fri Oct 31 19:23:49 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 31 11:25:27 2025 -0700"
      },
      "message": "[Polly][CodePreparation] Extract common code of LPM and NPM (#140419)\n\nUse a common function for the non-boilerplate code shared between LPM\nand NPM as done by most other passes already. ScalarEvolution is not\nactually used.\n\nPatch extracted out of #125442 requested by\nhttps://github.com/llvm/llvm-project/pull/125442#discussion_r2034416019\n\nGitOrigin-RevId: 8c87f3eb35d5f5c12321b516265c732a7e2c31d1\n"
    },
    {
      "commit": "c5fb9b34219ef0edd6b509e2e8a5c08397db3158",
      "tree": "f1e0c7ef12eee7f0d68f24287c2d8d95e6e02a64",
      "parents": [
        "927890b52ebd7f0a2f9deaa027b0c291e1115aee"
      ],
      "author": {
        "name": "paperchalice",
        "email": "liujunchang97@outlook.com",
        "time": "Wed Oct 22 22:04:13 2025 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 22 07:05:58 2025 -0700"
      },
      "message": "[polly] Remove unsafe-fp-math uses (NFC) (#164603)\n\nPost cleanup for #164534.\n\nGitOrigin-RevId: 0b9ed5dc64149147aadc588d9077d80fb73a54d6\n"
    },
    {
      "commit": "927890b52ebd7f0a2f9deaa027b0c291e1115aee",
      "tree": "114fc82f1fe58226c9582d05a55f80acb823ae49",
      "parents": [
        "4d7fd323f85dcac3a8af42828c38a2766cde9db8"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Wed Oct 22 15:00:28 2025 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 22 06:04:38 2025 -0700"
      },
      "message": "Reapply \"[Polly] Update ScopInliner for NPM (#125427)\" (#164601)\n\nAn assertion failed when Polly was registering for the pass manager\nwhich assumed that there would be only Polly passes. Since this does not\nneed to be the case, re-apply with the assert removed.\n\nIncludes a non-Polly change to trigger the premerge CI to trigger\ncheck-llvm which failed for 0b9a7b80c0674c5c6f746139912111bea7eae63b,\nbut pre-merge did not catch.\n\nGitOrigin-RevId: 6e0553f545df37a31b096f462f5319312728daca\n"
    },
    {
      "commit": "4d7fd323f85dcac3a8af42828c38a2766cde9db8",
      "tree": "121fe40dcc5520fdd43b1addfcdb0cde6bf821d9",
      "parents": [
        "0cab79bab9cec3e36dbde9163b346a06c69d2ee1"
      ],
      "author": {
        "name": "Tomohiro Kashiwada",
        "email": "kikairoya@gmail.com",
        "time": "Tue Oct 21 05:14:19 2025 +0900"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Oct 20 13:16:17 2025 -0700"
      },
      "message": "[Unittest][Cygwin] Set $PATH when running unittests (#163947)\n\nAs the Cygwin platform requires $PATH to be set in order to run\nunittests, do the same as for the regular Windows target.\n\nGitOrigin-RevId: d4af5e6b0b4fef49c3277d4a13d279dfcc4e155a\n"
    },
    {
      "commit": "0cab79bab9cec3e36dbde9163b346a06c69d2ee1",
      "tree": "439a444abcae878d4cf1bd2bb089aa2c1b19d5b0",
      "parents": [
        "9a993d976d10829bd530a8a20087dafa0f45a179"
      ],
      "author": {
        "name": "Luke Lau",
        "email": "luke@igalia.com",
        "time": "Sat Oct 18 07:33:49 2025 +0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 17 16:35:43 2025 -0700"
      },
      "message": "[SimpleLoopUnswitch] Don\u0027t use BlockFrequencyInfo to skip cold loops (#159522)\n\nIn https://reviews.llvm.org/D129599, non-trivial switching was disabled\nfor cold loops in the interest of code size. This added a dependency on\nBlockFrequencyInfo with PGO, but in loop passes this is only available\non a lossy basis: see https://reviews.llvm.org/D86156\n\nLICM moved away from BFI so as of today SimpleLoopUnswitch is the only\nremaining loop pass that uses BFI, for the sole reason to prevent code\nsize increases in PGO builds. It doesn\u0027t use BFI if there\u0027s no profile\nsummary available.\n\nAfter some investigation on llvm-test-suite it turns out that the lossy\nBFI causes very significant deviations in block frequency, since when\nnew loops are deleted/created during the loop pass manager it can return\nfrequencies for different loops altogether.\nThis results in unswitchable loops being mistakenly skipped because they\nare thought to be cold.\n\nThis patch removes the use of BFI from SimpleLoopUnswitch and thus the\nlast remaining use of BFI in a loop pass.\n\nTo recover the original intent of not unswitching cold code,\nPGOForceFunctionAttrs can be used to annotate functions which can be\noptimized for code size, since SimpleLoopUnswitch will respect OptSize:\nhttps://reviews.llvm.org/D94559\n\nThis isn\u0027t 100% the same behaviour since the previous behaviour checked\nfor coldness at the loop level and this is now at the function level. We\ncould expand PGOForceFunctionAttrs to be more granular at the loop\nlevel, https://github.com/llvm/llvm-project/issues/159595 tracks this\nidea.\n\nGitOrigin-RevId: df8956442feda0171fda79393778f698eb0385cf\n"
    },
    {
      "commit": "9a993d976d10829bd530a8a20087dafa0f45a179",
      "tree": "6807b18146316e8e9256bf7296f78bc8b278c991",
      "parents": [
        "6fa4e6f5f0b9c94817ed28df067f5015c84f5938"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Fri Oct 17 16:28:58 2025 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 17 09:36:10 2025 -0700"
      },
      "message": "Revert \"[Polly] Update ScopInliner for NPM (#125427)\"\n\nThis reverts commit 0b9a7b80c0674c5c6f746139912111bea7eae63b.\n\nThis is causing test failures under LLVM:\n1. Other/pass-pipeline-parsing.ll\n\nThis broke premerge. This was notably not caught by premerge testing on\nthe original PR because the original PR only touches polly, and premerge\ndoes not test LLVM when only polly is touched.\n\nGitOrigin-RevId: a99e32b23a1f074149ebdfafdcc735b8ceadd548\n"
    },
    {
      "commit": "6fa4e6f5f0b9c94817ed28df067f5015c84f5938",
      "tree": "831ee752d1c84578a545cfa4db32c19319407fd7",
      "parents": [
        "88e60890b3f2fc508117c3a16500396e95c1ef40"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Fri Oct 17 09:43:51 2025 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 17 00:46:16 2025 -0700"
      },
      "message": "[Polly] Update ScopInliner for NPM (#125427)\n\nRename the LPM ScopInliner pass to ScopInlinerWrapperPass and add a new\nclass ScopInliner for the NPM.\n\nGitOrigin-RevId: 0b9a7b80c0674c5c6f746139912111bea7eae63b\n"
    },
    {
      "commit": "88e60890b3f2fc508117c3a16500396e95c1ef40",
      "tree": "6807b18146316e8e9256bf7296f78bc8b278c991",
      "parents": [
        "8d76148f7b8233b6364daab64e82697d91020fab"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Thu Oct 16 11:11:10 2025 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 16 02:15:43 2025 -0700"
      },
      "message": "[Polly] Remove PolyhedralInfo (#124437)\n\nPolyhedralInfo is tied to the legacy pass manager. With the eventual\nremoval of the legacy pass manager it will not be useful anymore.\n\nPolyhedralInfo was an experiment to make Polly\u0027s analysis available to\nother passes. Its power is limited due to not being able to make\nassumptions for which regular Polly would emit a runtime condition/code\nversioning during optimization.\n\nWhen eventually porting such an API to the new pass manager, we will\nhave to invent a new API.\n\nGitOrigin-RevId: c46fec840dd111b60217bbeb5a0e388a824b2fac\n"
    },
    {
      "commit": "8d76148f7b8233b6364daab64e82697d91020fab",
      "tree": "da629146d966ad6b56e41f4fa0f763e8536039d6",
      "parents": [
        "39e8f9963760b37cee06991c449bdaeba37f38e6"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Oct 08 22:08:46 2025 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 08 15:11:06 2025 -0700"
      },
      "message": "[NFC][CI] Use Fully Qualified Names for All Containers\n\nFix the rest of the containers sitting around in the monorepo.\n\nGitOrigin-RevId: 4d2d21331bf058cf901d30a9b902008e0a8e9e20\n"
    },
    {
      "commit": "39e8f9963760b37cee06991c449bdaeba37f38e6",
      "tree": "19b5652b6dbffe4a549744e32bee6b25241ec2fb",
      "parents": [
        "f8e60d1ac0930257a951742f8f5775e9e68df34d"
      ],
      "author": {
        "name": "Owen Pan",
        "email": "owenpiano@gmail.com",
        "time": "Sun Aug 31 14:41:35 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Aug 31 14:56:07 2025 -0700"
      },
      "message": "[polly][CMake] Replace `elseif ()` with `else ()`\n\nThe no-argument elseif resulted in the warning below:\n\nCMake Warning (dev) at polly/lib/External/CMakeLists.txt:30 (elseif):\n  ELSEIF called with no arguments, it will be skipped.\n\nGitOrigin-RevId: 5109361d4aeeb0227e86a7f016eb773d28dd9957\n"
    },
    {
      "commit": "f8e60d1ac0930257a951742f8f5775e9e68df34d",
      "tree": "1a7875db813aad6a9c8edcbcf583debdefaa97d5",
      "parents": [
        "8c7df0f7e0b520599be9ad07338d3e9586d834a7"
      ],
      "author": {
        "name": "Kazu Hirata",
        "email": "kazu@google.com",
        "time": "Tue Aug 19 09:09:11 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 19 09:10:33 2025 -0700"
      },
      "message": "[polly] Replace SmallSet with SmallPtrSet (NFC) (#154367)\n\nThis patch replaces SmallSet\u003cT *, N\u003e with SmallPtrSet\u003cT *, N\u003e.  Note\nthat SmallSet.h \"redirects\" SmallSet to SmallPtrSet for pointer\nelement types:\n\n  template \u003ctypename PointeeType, unsigned N\u003e\nclass SmallSet\u003cPointeeType*, N\u003e : public SmallPtrSet\u003cPointeeType*, N\u003e\n{};\n\nWe only have 10 instances that rely on this \"redirection\". Since the\nredirection doesn\u0027t improve readability, this patch replaces SmallSet\nwith SmallPtrSet for pointer element types.\n\nI\u0027m planning to remove the redirection eventually.\n\nGitOrigin-RevId: 67ca5dad16e9271e62987f7c563b109a07dc8788\n"
    },
    {
      "commit": "8c7df0f7e0b520599be9ad07338d3e9586d834a7",
      "tree": "2b18d7d0ca36629e8f0d9fadce54160174f494e4",
      "parents": [
        "44c829b3ea99621e38cb973845b7747028fd4cb3"
      ],
      "author": {
        "name": "Luke Drummond",
        "email": "luke.drummond@codeplay.com",
        "time": "Thu Oct 13 16:57:43 2022 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jul 23 04:21:00 2025 -0700"
      },
      "message": "Slightly improve the getenv(\"bar\") linking problem\n\nThere\u0027s been a variation of the following in the code since 2005:\n\n    if (unoptimizable_true)\n      return;\n    use_this_symbol_to_force_linking(); // unreachable but never removed\n\nWay back in 00d5508496c it was the win32 call `GetCurrentProcess`\nbut switched to `getenv(\"bar\")` fairly soon after in 63e504ff43. While\nthat pulled in fewer dependencies and made the code portable, it\u0027s a\nbit of a weird construct. The environment variable used for the `getenv`\ncall is \"bar\", which is particularly weird to see fly past when you run\n`ltrace` on a binary linked against LLVM.\n\nIn this patch I don\u0027t try to replace this construct wholesale - it\u0027s\nstill required for architectural reasons I\u0027m not able to tackle right\nnow, but I did try and make it slightly less weird and opaque:\n\n- It gives the construct a name\n- The environment variable hints where this comes from and that its\n  value is ignored\n\nCombined, this should be a bit of improvement for the next person who\nwonders what LLVM is up to when they trace their process or see\nsmatterings of `getenv(\"bar\")` dotted around the source.\n\nGitOrigin-RevId: f992ae4fd16357116b341a1c8291b970787dc462\n"
    },
    {
      "commit": "44c829b3ea99621e38cb973845b7747028fd4cb3",
      "tree": "87f9f32fbd149fa6c4ad42f75312670ceeb94b9f",
      "parents": [
        "1eeda7583063f353c4fba4ca0427f6b87983a377"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Jul 22 21:27:56 2025 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 22 14:30:05 2025 -0700"
      },
      "message": "[Polly] Remove Accidental Test Comment in CMakeLists.txt\n\nThis was accidentally introduced in 921287e126465d6850954855ded640f0f78d72fd\nbecause I forgot to remove it before merging the patch...\n\nGitOrigin-RevId: 0df537e5a3d3985e771776d0a3ace758cc096437\n"
    },
    {
      "commit": "1eeda7583063f353c4fba4ca0427f6b87983a377",
      "tree": "518a02737e9694ef8a46a02942c21d68cfaff507",
      "parents": [
        "12d75738cb848179a9d623bec40b4331da429ee6"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Tue Jul 22 13:31:25 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jul 22 13:33:10 2025 -0700"
      },
      "message": "[CI] Enable sccache GCS on Linux premerge (#149923)\n\nThis patch enables sccache using GCS for Linux premerge.\n\nGitOrigin-RevId: 921287e126465d6850954855ded640f0f78d72fd\n"
    },
    {
      "commit": "12d75738cb848179a9d623bec40b4331da429ee6",
      "tree": "87f9f32fbd149fa6c4ad42f75312670ceeb94b9f",
      "parents": [
        "ca09e379cd0bac9e3604a51629eb803653067d73"
      ],
      "author": {
        "name": "Nikita Popov",
        "email": "npopov@redhat.com",
        "time": "Mon Jul 21 15:04:50 2025 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 21 06:07:28 2025 -0700"
      },
      "message": "[IR] Only allow lifetime.start/end on allocas (#149310)\n\nlifetime.start and lifetime.end are primarily intended for use on\nallocas, to enable stack coloring and other liveness optimizations. This\nis necessary because all (static) allocas are hoisted into the entry\nblock, so lifetime markers are the only way to convey the actual\nlifetimes.\n\nHowever, lifetime.start and lifetime.end are currently *allowed* to be\nused on non-alloca pointers. We don\u0027t actually do this in practice, but\njust the mere fact that this is possible breaks the core purpose of the\nlifetime markers, which is stack coloring of allocas. Stack coloring can\nonly work correctly if all lifetime markers for an alloca are\nanalyzable.\n\n* If a lifetime marker may operate on multiple allocas via a select/phi,\nwe don\u0027t know which lifetime actually starts/ends and handle it\nincorrectly (https://github.com/llvm/llvm-project/issues/104776).\n* Stack coloring operates on the assumption that all lifetime markers\nare visible, and not, for example, hidden behind a function call or\nescaped pointer. It\u0027s not possible to change this, as part of the\npurpose of lifetime markers is that they work even in the presence of\nescaped pointers, where simple use analysis is insufficient.\n\nI don\u0027t think there is any way to have coherent semantics for lifetime\nmarkers on allocas, while also permitting them on arbitrary pointer\nvalues.\n\nThis PR restricts lifetimes to operate on allocas only. As a followup, I\nwill also drop the size argument, which is superfluous if we always\noperate on an alloca. (This change also renders various code handling\nlifetime markers on non-alloca dead. I plan to clean up that kind of\ncode after dropping the size argument as well.)\n\nIn practice, I\u0027ve only found a few places that currently produce\nlifetimes on non-allocas:\n\n* CoroEarly replaces the promise alloca with the result of an intrinsic,\nwhich will later be replaced back with an alloca. I think this is the\nonly place where there is some legitimate loss of functionality, but I\ndon\u0027t think this is particularly important (I don\u0027t think we\u0027d expect\nthe promise in a coroutine to admit useful lifetime optimization.)\n* SafeStack moves unsafe allocas onto a separate frame. We can safely\ndrop lifetimes here, as SafeStack performs its own stack coloring.\n* Similar for AddressSanitizer, it also moves allocas into separate\nmemory.\n* LSR sometimes replaces the lifetime argument with a GEP chain of the\nalloca (where the offsets ultimately cancel out). This is just\nunnecessary. (Fixed separately in\nhttps://github.com/llvm/llvm-project/pull/149492.)\n* InferAddrSpaces sometimes makes lifetimes operate on an addrspacecast\nof an alloca. I don\u0027t think this is necessary.\n\nGitOrigin-RevId: 92c55a315eab455d5fed2625fe0f61f88cb25499\n"
    },
    {
      "commit": "ca09e379cd0bac9e3604a51629eb803653067d73",
      "tree": "5afb73990ee090c14b8ff693867b848df9eb8515",
      "parents": [
        "52920a0d955bea35cbd3499b56eac20a63804243"
      ],
      "author": {
        "name": "Kazu Hirata",
        "email": "kazu@google.com",
        "time": "Thu Jun 12 22:45:23 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jun 12 22:51:03 2025 -0700"
      },
      "message": "[polly] Remove an unused local variable (NFC) (#144012)\n\nGitOrigin-RevId: 054f4a50bb2ec1e535111d779bc5fdc93314c55a\n"
    },
    {
      "commit": "52920a0d955bea35cbd3499b56eac20a63804243",
      "tree": "08bcbdef57d6570c9729c90a1a278aba56e39f27",
      "parents": [
        "75469c036ad6c4bf59c39ebc06be09aa2d3a51a5"
      ],
      "author": {
        "name": "Jon Roelofs",
        "email": "jonathan_roelofs@apple.com",
        "time": "Sat May 31 11:07:54 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat May 31 11:10:42 2025 -0700"
      },
      "message": "[Remarks] Remove an upcast footgun. NFC (#142191)\n\nCodeRegion\u0027s were previously passed as Value*, but then immediately\nupcast to BasicBlock. Let\u0027s keep the type information around until the\nuse cases for non-BasicBlock code regions actually materialize.\n\nGitOrigin-RevId: 798058fca51ab4ba9d364c0ef022a15485e5ed5d\n"
    },
    {
      "commit": "75469c036ad6c4bf59c39ebc06be09aa2d3a51a5",
      "tree": "8f287203db47d7904abca9d680cd03db47d8517c",
      "parents": [
        "7f0299ff7c6ca5e4cb20c5a2dc9d52ad790cee69"
      ],
      "author": {
        "name": "jeremyd2019",
        "email": "github@jdrake.com",
        "time": "Wed May 21 22:14:13 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 21 22:15:45 2025 -0700"
      },
      "message": "[CMake] respect LLVMConfig.cmake\u0027s LLVM_DEFINITIONS in standalone builds (#138587)\n\nIn #138329, _GNU_SOURCE was added for Cygwin, but when building Clang\nstandalone against an installed LLVM this definition was not picked up,\nresulting in undefined strnlen. Follow the documentation in\nhttps://llvm.org/docs/CMake.html#embedding-llvm-in-your-project and add\nthe LLVM_DEFINITIONS in standalone projects\u0027 cmakes.\n\nGitOrigin-RevId: ba4bd3f46e97b5637b16a0fa74b064fb3e6db8ff\n"
    },
    {
      "commit": "7f0299ff7c6ca5e4cb20c5a2dc9d52ad790cee69",
      "tree": "249a9c5a7e022f1c0ce11df851745b88ac5648f5",
      "parents": [
        "7091aa9cdccdfb9eec05ed7df8453fe5a798fa28"
      ],
      "author": {
        "name": "Mohammad Bashir",
        "email": "157402336+youngbash88@users.noreply.github.com",
        "time": "Thu May 22 07:59:57 2025 +0300"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 21 22:06:20 2025 -0700"
      },
      "message": "Fix regression tests with bad FileCheck checks (#140373)\n\nFixes https://github.com/llvm/llvm-project/issues/140149\n\nGitOrigin-RevId: bcdce987c08bc90f30a44903a4f7d801099020f1\n"
    },
    {
      "commit": "7091aa9cdccdfb9eec05ed7df8453fe5a798fa28",
      "tree": "441f550c10860d15a5c954a09f5ea142902d41e6",
      "parents": [
        "a001e48ecc9f8c948e8d80c1189795c5cc94da0c"
      ],
      "author": {
        "name": "Kazu Hirata",
        "email": "kazu@google.com",
        "time": "Tue May 20 21:38:49 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 20 21:40:55 2025 -0700"
      },
      "message": "[polly] Drop const from return types (NFC) (#140837)\n\nGitOrigin-RevId: adbe155eeed6582f85d4c8e2a9268d3df31bf70d\n"
    },
    {
      "commit": "a001e48ecc9f8c948e8d80c1189795c5cc94da0c",
      "tree": "560afdb9155809bfc7e439f32da753c1ee51dffa",
      "parents": [
        "f50ac7db335ef6c4a0d61b6a20a25fedf0e381ec"
      ],
      "author": {
        "name": "Kazu Hirata",
        "email": "kazu@google.com",
        "time": "Sat May 10 23:15:00 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat May 10 23:19:01 2025 -0700"
      },
      "message": "[polly] Remove redundant calls to std::unique_ptr\u003cT\u003e::get (NFC) (#139418)\n\nGitOrigin-RevId: 2f69111e1aab1192598e8b6a42cc17a1b6ee1f13\n"
    },
    {
      "commit": "f50ac7db335ef6c4a0d61b6a20a25fedf0e381ec",
      "tree": "ea0e8d114bd618b0ad2e74cc489ef4f5687d14ed",
      "parents": [
        "0a761d1707a7327d293e0ea8d87a22332b4a296f"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Thu May 08 08:00:09 2025 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 07 23:06:05 2025 -0700"
      },
      "message": "Reapply \"IR: Remove uselist for constantdata (#137313)\" (#138961)\n\nReapply \"IR: Remove uselist for constantdata (#137313)\"\n\nThis reverts commit 5936c02c8b9c6d1476f7830517781ce8b6e26e75.\n\nFix checking uselists of constants in assume bundle queries\n\nGitOrigin-RevId: 9383fb23e18bb983d0024fb956a0a724ef9eb03d\n"
    },
    {
      "commit": "0a761d1707a7327d293e0ea8d87a22332b4a296f",
      "tree": "f190aced5aedeecdd7a9e5851dfc7be80b47c3d4",
      "parents": [
        "a78aa60b136c3e1710dab0ef7296ea23fa009609"
      ],
      "author": {
        "name": "Kirill Stoimenov",
        "email": "kstoimenov@google.com",
        "time": "Wed May 07 00:02:04 2025 +0000"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 06 17:11:04 2025 -0700"
      },
      "message": "Revert \"IR: Remove uselist for constantdata (#137313)\"\n\nPossibly breaks the build: https://lab.llvm.org/buildbot/#/builders/24/builds/8119\n\nThis reverts commit 87f312aad6ede636cd2de5d18f3058bf2caf5651.\n\nGitOrigin-RevId: 5936c02c8b9c6d1476f7830517781ce8b6e26e75\n"
    },
    {
      "commit": "a78aa60b136c3e1710dab0ef7296ea23fa009609",
      "tree": "ea0e8d114bd618b0ad2e74cc489ef4f5687d14ed",
      "parents": [
        "aa6cb3ae44df186f2e911c5ee0488f193e603f85"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Tue May 06 17:20:37 2025 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 06 08:25:29 2025 -0700"
      },
      "message": "IR: Remove uselist for constantdata (#137313)\n\nThis is a resurrected version of the patch attached to this RFC:\n\nhttps://discourse.llvm.org/t/rfc-constantdata-should-not-have-use-lists/42606\n\nIn this adaptation, there are a few differences. In the original patch, the Use\u0027s\nuse list was replaced with an unsigned* to the reference count in the value. This\nversion leaves them as null and leaves the ref counting only in Value.\n\nRemove use-lists from instances of ConstantData (which are shared\nacross modules and have no operands).\n\nTo continue supporting most of the use-list API, store a ref-count in\nplace of the use-list; this is for API like Value::use_empty and\nValue::hasNUses.  Operations that actually need the use-list -- like\nValue::use_begin -- will assert.\n\nThis change has three benefits:\n\n 1. The compiler output cannot in any way depend on the use-list order\n    of instances of ConstantData.\n\n 2. There\u0027s no use-list traffic when adding and removing simple\n    constants from operand lists (although there is ref-count traffic;\n    YMMV).\n\n 3. It\u0027s cheaper to serialize use-lists (since we\u0027re no longer\n    serializing the use-list order of things like i32 0).\n\nThe downside is that you can\u0027t look at all the users of ConstantData,\nbut traversals of users of i32 0 are already ill-advised.\n\nPossible follow-ups:\n  - Track if an instance of a ConstantVector/ConstantArray/etc. is known\n    to have all ConstantData arguments, and drop the use-lists to\n    ref-counts in those cases.  Callers need to check Value::hasUseList\n    before iterating through the use-list.\n  - Remove even the ref-counts.  I\u0027m not sure they have any benefit\n    besides minimizing the scope of this commit, and maintaining the\n    counts is not free.\n\nFixes #58629\n\nCo-authored-by: Duncan P. N. Exon Smith \u003cdexonsmith@apple.com\u003e\nGitOrigin-RevId: 87f312aad6ede636cd2de5d18f3058bf2caf5651\n"
    },
    {
      "commit": "aa6cb3ae44df186f2e911c5ee0488f193e603f85",
      "tree": "f190aced5aedeecdd7a9e5851dfc7be80b47c3d4",
      "parents": [
        "bd8bb4131073a22ecfde72fd2f0cb71c4a778d03"
      ],
      "author": {
        "name": "Karthika Devi C",
        "email": "quic_kartc@quicinc.com",
        "time": "Mon Apr 28 13:51:10 2025 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 28 01:25:53 2025 -0700"
      },
      "message": "[RemoveDI][Polly] Migrate to adapt to the new DebugRecord format in more areas (#135935)\n\nSome of the changes in the patch include:\n\n1. Using iterators instead of instruction pointers when applicable.\n2. Modifying Polly functions to accept iterators instead of inst\npointers.\n3. Updating API usages such as use begin instead of front.\n\nGitOrigin-RevId: 5f704f929d0d0d2f3438c951492212d6816b439c\n"
    },
    {
      "commit": "bd8bb4131073a22ecfde72fd2f0cb71c4a778d03",
      "tree": "3efb25665fc2e3d1bbf94d8511451064f6438aa5",
      "parents": [
        "349f271a4ba0fff8676bbc0603569cd0e43a6839"
      ],
      "author": {
        "name": "cor3ntin",
        "email": "corentinjabot@gmail.com",
        "time": "Fri Apr 25 14:13:17 2025 +0200"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 25 05:15:51 2025 -0700"
      },
      "message": "[Documentation] Always use SVG for dot-generated doxygen images. (#136843)\n\nDespite our attempt (build-docs.sh)\nto build the documentation with SVG,\nit still uses PNG https://llvm.org/doxygen/classllvm_1_1StringRef.html,\n\nand that renders terribly on any high dpi display.\n\nSVG leads to smasller installation and works fine\non all browser (that has been true for _a while_\nhttps://caniuse.com/svg), so this patch just unconditionally build all\ndot graphs as SVG in all subprojects and remove the option.\n\nGitOrigin-RevId: 320ec7fa7f2ca9385e355d3e031e601a9e331e3e\n"
    },
    {
      "commit": "349f271a4ba0fff8676bbc0603569cd0e43a6839",
      "tree": "284aa8524f0f72641ffe173c57e01f159030d57f",
      "parents": [
        "697c310f59c0b8753d8b60fc5b470b5fe41b9c81"
      ],
      "author": {
        "name": "Karthika Devi C",
        "email": "quic_kartc@quicinc.com",
        "time": "Thu Apr 24 18:31:48 2025 +0530"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 24 06:06:08 2025 -0700"
      },
      "message": "[RemoveDI][Polly] Use iterators instead of instruction pointers to SetInsertPoint (#135336)\n\nAs part of the effort to transition to using Debug Records instead of\nDebug intrinsics, some API/argument changes are necessary to achieve the\ndesired behavior from Debug Records. This particular fix involves\npassing iterators instead of instruction pointers to the SetInsertPoint\nfunction. While this is crucial in certain areas, it may be more than\nneeded in others, but it does not cause any harm.\n\nGitOrigin-RevId: ecdd3fd71f41f600623e93bad08f9e41b1d0d8cc\n"
    },
    {
      "commit": "697c310f59c0b8753d8b60fc5b470b5fe41b9c81",
      "tree": "2b8ae847f250a004e6e705cfa3a5f34c65e5e519",
      "parents": [
        "c60c0b50ebfea0d2eaaffc7bda7278fbfb0b6264"
      ],
      "author": {
        "name": "Mats Jun Larsen",
        "email": "mats@jun.codes",
        "time": "Fri Apr 04 16:18:13 2025 +0900"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 04 00:20:49 2025 -0700"
      },
      "message": "[polly] Prefer PointerType::get with LLVMContext over Type (NFC) (#133868)\n\nPart of #123569\n\nGitOrigin-RevId: 78a4b9d9b46d59e20cf01d6008ab0080052e9938\n"
    },
    {
      "commit": "c60c0b50ebfea0d2eaaffc7bda7278fbfb0b6264",
      "tree": "10e3429f0c02137b3467078bbf1c6376a85fc9d7",
      "parents": [
        "318444067deb3bacd747138bf7a88736136492a4"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Mon Mar 31 22:27:39 2025 +0100"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 31 14:30:18 2025 -0700"
      },
      "message": "Reapply \"[EquivalenceClasses] Replace findValue with contains (NFC).\"\n\nThis reverts the revert commit 616f447fc84bdc7655117f1b303d895dc3b93e4d.\n\nIt includes updates to remaining users in Polly and Clang, to avoid\nfailures when building those projects.\n\nGitOrigin-RevId: 32f24029c72dae175c9e2cc81f931f065a2ba347\n"
    }
  ],
  "next": "318444067deb3bacd747138bf7a88736136492a4"
}
