)]}'
{
  "log": [
    {
      "commit": "bf70f22cca7f0c13476146d5976a777f2b9a9d77",
      "tree": "0e9acce03239306d52704bb3c1ec27adb24b7441",
      "parents": [
        "99e50d8f469c588a707aaea115b6489eea8ac91c"
      ],
      "author": {
        "name": "Jonas Paulsson",
        "email": "paulson1@linux.ibm.com",
        "time": "Thu Oct 22 02:31:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 02:31:23 2026"
      },
      "message": "[SystemZ, Clang] Enable verification of int args extensions. (#223755)\n\nThe verification that was previously enabled only with the -argext-abi-check CL\noption is now enabled for clang by default (in an assertions build).\n\nIf you have run into any build problem and are looking at this commit, it means\nyou are building with clang and unfortunately found an issue that has not been\nhandled yet.\n\nHandling the problem means adding the right extension attribute to the\ncall/ret IR instruction where it is missing. This is one of SExt/ZExt(/NoExt)\nas given by the signedness of the int argument (or NoExt for struct in reg).\n\nTo disable this temporarily pass -argext-abi-check\u003dfalse to clang.\n\nThe verification itself has been refined somewhat to strictly require an\nextension attribute only in the case of a non-internal C-ABI Call/Function.\nIn the other cases, such as with internal functions, the attributes are checked\nto match those found in the Function header.\n\nSince the omission of an extension is a potential wrong-code bug, it is highly\nrecommended that other (SystemZ) front ends enable this as well by setting\nVerifyArgABICompliance to true.\n\nIn addition, there are other targets besides SystemZ that also depend on\nthese extensions being made. It should be possible to factor this check out\nand make it available outside SystemZ."
    },
    {
      "commit": "99e50d8f469c588a707aaea115b6489eea8ac91c",
      "tree": "55e142161493748118200306bb46bcbdd7b114d6",
      "parents": [
        "6ec6c0e9085627cb3cb7b44b93094043cdbb8b26"
      ],
      "author": {
        "name": "Akshay Deodhar",
        "email": "adeodhar@nvidia.com",
        "time": "Thu Oct 22 02:27:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 02:27:35 2026"
      },
      "message": "[NVPTX] Cleanup support for atomic loads/stores (#201468)\n\n- Adds exhaustive python-scripted testing for codegen for loads and\nstores in NVPTX, for all valid combinations of datatype x ordering x\nscope x addrspace x volatility, in the style of atomicrmw/cmpxchg/fence.\n- Migrates the emulation of seq_cst loads to AtomicExpandPass using\nbracketInstructionWithFences. For this, updates AtomicExpandPass to set\nload/store ordering after a fence split. Cleans up associated helper\nfunctions.\n- Emulates formerly-unsupported atomic loads and stores using fences in\nAtomicExpandPass. This leads to all possible memory orders being\nemulated even for SM60, using membar as a fence.\n- Relaxes the lowering of seq_cst stores to fence.sc; st.relaxed instead\nof fence.sc; st.release.\n- Updates NVPTXAtomicLower to downgrade atomic local loads/stores to\nnonatomic, in a fashion similar to atomicrmw.\n- Note that volatile loads are currently being lowered incorrectly- will\nbe fixed in a followup PR."
    },
    {
      "commit": "6ec6c0e9085627cb3cb7b44b93094043cdbb8b26",
      "tree": "fc49dd5d0a59083b570a5c54efb74374b3721245",
      "parents": [
        "2e02658913cbb74c3aa4aece44b42a88df475146"
      ],
      "author": {
        "name": "Fangrui Song",
        "email": "i@maskray.me",
        "time": "Thu Oct 22 02:23:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 02:23:11 2026"
      },
      "message": "[CSKY] Declare command line options in TableGen (#234452)\n\nMove the cl::opts of CSKYDesc and CSKYAsmParser into\nMCTargetDesc/CSKYMCOptions.td, registered by\nLLVMInitializeCSKYTargetMC(). CSKYAsmParser, CSKYInstPrinter, and\nCSKYAsmPrinter hold `const CSKYMCOptions \u0026CLOpts`; the static\nCSKYInstPrinter::getRegisterName takes it as a parameter.\n\n`-M no-aliases` now clears MCInstPrinter::PrintAliases, and `-M numeric`\nsets a file-static flag, instead of writing the cl::opts.\n\n-enable-csky-asm-compressed-inst is renamed to\n-csky-asm-compressed-inst, with the old spelling kept as an alias."
    },
    {
      "commit": "2e02658913cbb74c3aa4aece44b42a88df475146",
      "tree": "3c3146bcdd96cc03e7ae2e8a28d2a530cb255994",
      "parents": [
        "0441507623697ba25812481dd54255ee3e5212db"
      ],
      "author": {
        "name": "Sharjeel Khan",
        "email": "sharjeelkhan@google.com",
        "time": "Thu Oct 22 02:21:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 02:21:45 2026"
      },
      "message": "[libc++][Android] Update compiler and sysroot for Android libc++ builders (#234389)\n\nUpgrade Android compiler from r584948b to r596125 because libc++ is\ndropping LLVM 21 support in\nhttps://github.com/llvm/llvm-project/pull/231580. In addition, update\nthe sysroot to the latest NDK r30\u0027s sysroot but Bionic has deprecated\ncertain symbols (btowc, wctob, and strtok) so we ignore\n`Wdeprecated-declarations` for these symbols like\nhttps://github.com/llvm/llvm-project/commit/45ce3f325240417200a7bf89ac6f6c72b190ccbb.\n\nAssisted-by: Gemini"
    },
    {
      "commit": "0441507623697ba25812481dd54255ee3e5212db",
      "tree": "2a48dc10195b9464377e5bd35723f46ea4a2ce35",
      "parents": [
        "ea4c43d796c4e3fc0b51bda6234a7f2feb127c3d"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Thu Oct 22 02:10:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 02:10:17 2026"
      },
      "message": "[libc++] Actually run union_tests() in invoke.pass.cpp (#234205)\n\nThe tests for LWG3655 were added to invoke.pass.cpp, but we never\nactually ran them."
    },
    {
      "commit": "ea4c43d796c4e3fc0b51bda6234a7f2feb127c3d",
      "tree": "7af2a1ff4291fd2f00365270ac9fabb04cb39445",
      "parents": [
        "910cdcd093775616973dfaf6c09850bc93873cb3"
      ],
      "author": {
        "name": "Yaxun (Sam) Liu",
        "email": "yaxun.liu@amd.com",
        "time": "Thu Oct 22 01:55:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 01:55:33 2026"
      },
      "message": "[clang] Normalize clang-cl options for host and device compilation (#228096)\n\nclang-cl options such as `/O1`, `/O2`, and `/Ox` optimized host code in\nHIP builds while leaving device code unoptimized. Translation of these\noptions, macro separators, and `/permissive` also depended on selecting\nthe MSVC toolchain.\n\nMove this handling into a shared `ClangCLArgs` helper, selected by\n`IsCLMode()`. Translate shared options before host/device filtering and\nforwarded options afterward. Preserve explicit overrides, existing\nGNU-mode MSVC compatibility, and the resolved host architecture for\nframe-pointer options."
    },
    {
      "commit": "910cdcd093775616973dfaf6c09850bc93873cb3",
      "tree": "c9c6018e83e2d2632704c7eb419f75d873e34fe9",
      "parents": [
        "7021e2e7626d31f655020c2f566f1fe0ac99234a"
      ],
      "author": {
        "name": "Fangrui Song",
        "email": "i@maskray.me",
        "time": "Thu Oct 22 01:53:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 01:53:15 2026"
      },
      "message": "PassBuilder: Take LLVMContext for LibraryOptionsContext (#233150)\n\nPassBuilder uses the PipelineTuningOptions\u0027 context, else the\nTargetMachine\u0027s, else null, for which LibraryOptionsContext::get\u003cT\u003e\nreturns T::Global. A caller that sets neither, such as llvm-reduce,\nsilently gets the global values.\n\nTake the LLVMContext whose library options the pipelines read as the\nfirst constructor parameter instead, as StandardInstrumentations does,\nand remove PipelineTuningOptions::LibraryOptions.\n\nLLM-aided"
    },
    {
      "commit": "7021e2e7626d31f655020c2f566f1fe0ac99234a",
      "tree": "358e925146dca7ff739856800db1d9ad2a3f0bb6",
      "parents": [
        "293d35104263e27c9758b4c541c185d2c8abf118"
      ],
      "author": {
        "name": "Sachin 🗲",
        "email": "s4chinjha@gmail.com",
        "time": "Thu Oct 22 01:46:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 01:46:58 2026"
      },
      "message": "[libc][docs] Rewrite remaining rst docs to md [2/2] (#233848)\n\nTracking issue:\n[#201242](https://github.com/llvm/llvm-project/issues/201242)\n\nSee the [migration\nguide](https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines)\n\nthis is the second part of migrating the remaining libc utility READMEs\nfrom rst to md\nthe content conversion is provided by this pr, following the rename in\nthe previous pr\n\nDepends on #233817\n\nthe first commit is from the base pr (rename), the second commit\ncontains the content conversion"
    },
    {
      "commit": "293d35104263e27c9758b4c541c185d2c8abf118",
      "tree": "01014c66d2b861ddd0a98d24f4060e8b4ed402e8",
      "parents": [
        "e21db61afd2e85b9da23906c82f4723e02f236ff"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Thu Oct 22 01:34:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 01:34:34 2026"
      },
      "message": "[AMDGPU] Enable IAS in the AMDGPU backend (#85518)\n\nObject emission already parses inline asm with AMDGPUAsmParser, so the\nvisible change is in textual output (llc, clang -S), where inline asm\nis now parsed and printed in canonical form instead of being copied\nthrough as written.\n\nWith the integrated assembler, MCAsmInfoELF\u0027s HasPreferredAlignment\nmakes AsmPrinter emit the preferred function alignment as .prefalign,\nwhich lets small functions be aligned less than the instruction cache\nline. Turn it off so that enabling the integrated assembler does not\nchange code layout. The existing function alignment tests cover this.\n\nUpdate the tests whose inline asm cannot be written so that it prints\nthe same either way: v_nop_e64 is printed as v_nop, inline constants\nare printed by value (0xbf000000 -\u003e -0.5), constant expressions are\nevaluated (0x40fffffff0 \u003e\u003e 32 -\u003e 64) and a zero offset: is omitted.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "e21db61afd2e85b9da23906c82f4723e02f236ff",
      "tree": "2707b86dd388824eaf9f3611066f4422df68fec3",
      "parents": [
        "416f328b939fe1373ddc9060f6773ad4c5039f59"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Thu Oct 22 01:32:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 01:32:28 2026"
      },
      "message": "[libc][cmake] Respect the configured optimization level for tests (#234381)\n\nFollow up to #126322 and #233964 for the test side: the math and stdfix\ntests, `hash_test` and the MPFR/MPC wrappers still force `-O3`. Drop the\noverrides so they use the optimization level configured by CMake like\nthe rest of the library.\n\nAssisted-by: Claude"
    },
    {
      "commit": "416f328b939fe1373ddc9060f6773ad4c5039f59",
      "tree": "de318c2aecddf74592c96b4a47024b3f32741e00",
      "parents": [
        "67841e34f18859600481470a752d060a46562d70"
      ],
      "author": {
        "name": "Yongqiang Tian",
        "email": "yqtian668@gmail.com",
        "time": "Thu Oct 22 01:04:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 01:04:58 2026"
      },
      "message": "[XRay] Ignore debug instructions in instruction threshold (#219400)\n\nDebug instructions currently contribute to `xray-instruction-threshold`,\nso\nenabling debug information can change whether a function is\ninstrumented.\n\nCount raw machine instructions while excluding only debug instructions.\nUsing\nthe raw instruction range preserves the existing treatment of bundled\ninstructions and non-debug meta instructions.\n\nThe first commit records the existing behavior. The second applies the\nfix and\nupdates the test expectations.\n\nFixes #219376\n\nAssisted-by: OpenAI Codex 5.6 Sol, co-reviewed by Claude and Yongqiang\nTian."
    },
    {
      "commit": "67841e34f18859600481470a752d060a46562d70",
      "tree": "cd97e53d48d805c5ab8e82522e3e10691e149003",
      "parents": [
        "e01f8e16d7f18fb41a42ca6a3924f1290aebbfe2"
      ],
      "author": {
        "name": "Adrian Prantl",
        "email": "aprantl@apple.com",
        "time": "Thu Oct 22 00:41:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 00:41:06 2026"
      },
      "message": "[lldb] Fix SymbolFileDWARFTests link failure on Windows (#234441)\n\nLLDB unit tests don\u0027t link clang libraries themselves, use\nObjCInterfaceDecl::getObjCRuntimeNameAsString() instead.\n\nAssisted-by: Claude"
    },
    {
      "commit": "e01f8e16d7f18fb41a42ca6a3924f1290aebbfe2",
      "tree": "c4bbf7608a76f6f5b2f49e9894aafeecf56f67ae",
      "parents": [
        "784eb2c6257001b020606b44d676547a89b98f93"
      ],
      "author": {
        "name": "Nick Riasanovsky",
        "email": "njriasan@meta.com",
        "time": "Thu Oct 22 00:16:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 00:16:34 2026"
      },
      "message": "[MachineScheduler] Fix stale read-undef flags when rescheduling physreg copies (#227897)\n\n`GenericScheduler::reschedulePhysReg` can leave stale `read-undef` flags\nwhen moving an already-scheduled COPY. This can be exposed most commonly\nif a user introduces a large inline assembly section that can otherwise\nlimit the registers that are available to the compiler.\n\nThis addresses this bug in 2 steps:\n\n1) Check for backends that can produce `read-undef` on subregisters in a\nway that can meaningful move (e.g. has lane mask).\n2) After a move regenerate the `read-undef` flags for just the region of\n\"movement\" between the old/new location in the code.\n\nYou can find the motivating example here:\nhttps://gist.github.com/njriasan/73a4b080e98cdb54bd0b59138bc5ad9c"
    },
    {
      "commit": "784eb2c6257001b020606b44d676547a89b98f93",
      "tree": "8fd785996c825c12eb43b7f6782fd0db9f1b303b",
      "parents": [
        "c8d2ad51f0c371a0fd9549530c98c46110820b5f"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Thu Oct 22 00:04:24 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 00:04:24 2026"
      },
      "message": "PPC: Fold 64-bit zero-extending word load feeding extsw subregister (#211107)\n\nA gprc LWZ/LWZX feeding EXTSW_32_64 is rewritten into a sign-extending\nLWA/LWAX load. Extend the same fold to the 64-bit zero-extending word\nloads LWZ8/LWZX8 when the EXTSW_32_64 reads their sub_32 subregister,\nproducing a single LWA/LWAX instead of a redundant lwz+extsw pair.\n\nCo-authored-by: Claude (Opus 4.8) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "c8d2ad51f0c371a0fd9549530c98c46110820b5f",
      "tree": "942a1fa558b3e0f144f609fb212b8ed9b2f8333f",
      "parents": [
        "5e6300bf9989011dbe9e977442efb2b77bdd0297"
      ],
      "author": {
        "name": "Tamir Duberstein",
        "email": "tamird@gmail.com",
        "time": "Thu Oct 22 00:03:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 00:03:42 2026"
      },
      "message": "[ThinLTO] Import locals with colliding GUIDs (#234247)\n\nThe ThinLTO importer treated a local already defined in the destination\nas satisfying any reference with the same GUID. Distinct locals in\ndifferent modules can share a GUID when their source filenames and names\nmatch. A needed definition was then skipped, tripping the export/import\nconsistency assertion for read-only variables.\n\nCheck the referencing module before skipping the import.\n\nAssisted-by: OpenAI Codex"
    },
    {
      "commit": "5e6300bf9989011dbe9e977442efb2b77bdd0297",
      "tree": "da4c40207bf36f1aa805c64e6c518e28ddfa0d9f",
      "parents": [
        "ee73fb814cafaf9ae33359f42e10ca849f86f159"
      ],
      "author": {
        "name": "Craig Topper",
        "email": "craig.topper@sifive.com",
        "time": "Wed Oct 21 23:55:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:55:04 2026"
      },
      "message": "[RISCV][P-ext] Fold (sext_inreg (bitcast (ppaire X, Y)), SrcVT) -\u003e (sext_inreg (bitcast (freeze X)), SrcVT). (#233951)\n\nIf SrcVT is extending from only the even elements for the ppaire. In the\nchanged tests, the ppaire is a zext_inreg due to the second operand\nbeing a zero vector. This transform doesn\u0027t care what the second operand\nof the ppaire is since it is a discarded."
    },
    {
      "commit": "ee73fb814cafaf9ae33359f42e10ca849f86f159",
      "tree": "2236c5c2d1636e7ac1287c92ff65e6fd87214ded",
      "parents": [
        "56fb6257140e502146a9e8e1da99beed864e1e37"
      ],
      "author": {
        "name": "Jonas Paulsson",
        "email": "paulson1@linux.ibm.com",
        "time": "Wed Oct 21 23:47:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:47:04 2026"
      },
      "message": "[AtomicExpandPass] Add missing arg extensions. (#234332)\n\nThis involves the ordering argument(s) to atomic libcalls."
    },
    {
      "commit": "56fb6257140e502146a9e8e1da99beed864e1e37",
      "tree": "1a874cdbc5634233f6def2442dd10eb4332f4d80",
      "parents": [
        "8ffea316a20a33bb57acdaf7d53c4accd95ce72a"
      ],
      "author": {
        "name": "hchataing",
        "email": "henrichataing@google.com",
        "time": "Wed Oct 21 23:44:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:44:51 2026"
      },
      "message": "[libc++] Replace integrals helper by types::integer_types (#233923)\n\nintegrals imprecisely describes the list of all integer\ntypes, only \u0027char\u0027 is included from character types"
    },
    {
      "commit": "8ffea316a20a33bb57acdaf7d53c4accd95ce72a",
      "tree": "c3fb6b707dab68176fd3ca8bb3e2a2b5ace4693b",
      "parents": [
        "ead0877d5bb3d8173c999a261f720cc34729f921"
      ],
      "author": {
        "name": "Nikolas Klauser",
        "email": "nikolasklauser@berlin.de",
        "time": "Wed Oct 21 23:43:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:43:21 2026"
      },
      "message": "[libc++] Remove old release notes (#234169)\n\nThe current release is 23, so we don\u0027t need any earlier release notes\nanymore. There is nothing to back-port that could benefit from them."
    },
    {
      "commit": "ead0877d5bb3d8173c999a261f720cc34729f921",
      "tree": "a3f48cad44a201a1b05f667d0ac1ce9b20df9617",
      "parents": [
        "fe67f34107fac75b765a0160478da8d9a896101d"
      ],
      "author": {
        "name": "Hristo Hristov",
        "email": "hghristov.rmm@gmail.com",
        "time": "Wed Oct 21 23:42:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:42:56 2026"
      },
      "message": "[libc++] Flat containers should reject `vector\u003cbool, Alloc\u003e` (#224886)\n\nUpdate the error condition and the error messages.\nThis is a follow-up to 08daaa8e376a5d.\n\nCo-authored-by: Hristo Hristov \u003czingam@outlook.com\u003e\nCo-authored-by: A. Jiang \u003cde34@live.cn\u003e"
    },
    {
      "commit": "fe67f34107fac75b765a0160478da8d9a896101d",
      "tree": "8a774c3159be656c907c606dfe268f5cd4c43ec8",
      "parents": [
        "34ab34a817a58f0178cb47bc0ce2182219fbc16f"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Wed Oct 21 23:42:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:42:51 2026"
      },
      "message": "[RISC-V][MC] Fix C/Zce implications in RISCVAsmParser::resetToArch (#233956)\n\nThe previous logic ran updateCZceFeatureImplications() every time a feature\nwas being toggled which led to incorrect results such as zcd being enabled\nwith Y since it was being done in extension order on a partially valid\nfeature bit set.\n\nInstead of clearing all extensions up front and calling setFeatureBits()\nin a loop, toggle the changed feature bits directly on a single STI copy\nafter parseArchString() succeeds. We no longer need to call\nupdateCZceFeatureImplications() here either since the same is already done\nby the call to parseArchString().\n\nAssisted-by: AI tooling\nPull-Request: https://github.com/llvm/llvm-project/pull/233956"
    },
    {
      "commit": "34ab34a817a58f0178cb47bc0ce2182219fbc16f",
      "tree": "9eb770bf0c15a636608562ea7c05b57d2806ea28",
      "parents": [
        "2c777725e558d92ad626d1b30ac59aef2ed29f1a"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Wed Oct 21 23:42:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:42:16 2026"
      },
      "message": "[RISC-V][MC] Add baseline test for resetToArch C/Zce implication bug (#233955)\n\n`RISCVAsmParser::resetToArch()` calls `setFeatureBits` in alphabetical\norder (and before changing Feature64Bit). Because that then calls\n`updateCZceFeatureImplications()` on the partially updated feature set,\n\u0027.attribute arch, \"rv64y0p910_c_d\"\u0027 visits \u0027c\u0027 and \u0027d\u0027 before\n\u0027experimental-y\u0027 and enables \u0027zcd\u0027 (which is incompatible with Y). And\nswitching from `rv32` to \u0027.attribute arch, \"rv64icf\"\u0027 visits \u0027c\u0027 and \u0027f\u0027\nbefore setting Feature64Bit and enables RV32-only \u0027zcf\u0027.\n\nAssisted-by: AI tooling\nPull-Request: https://github.com/llvm/llvm-project/pull/233955"
    },
    {
      "commit": "2c777725e558d92ad626d1b30ac59aef2ed29f1a",
      "tree": "d9c7e47510dc68431b9a7ce259f4316644384edd",
      "parents": [
        "8782640049cff93c6070ef1a69819cb506e04b11"
      ],
      "author": {
        "name": "Alexander Richardson",
        "email": "alexrichardson@google.com",
        "time": "Wed Oct 21 23:39:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:39:37 2026"
      },
      "message": "[RISC-V][RVY] Fix round-trip and order of arch strings with \u0027y\u0027 (#227865)\n\nPreviously \u0027y\u0027 was treated as an unknown single-letter extension rather\nthan a known base ISA, so it ended up at the end of a arch string\n(e.g. \u0027rv64i2p1_m2p0_y0p910\u0027) instead of the start.\n\nRank \u0027y\u0027 immediately after \u0027i\u0027 and \u0027e\u0027, and teach parseNormalizedArchString()\nto accept \u0027y\u0027 as a base ISA. Since we omit \u0027i\u0027 in toString() when \u0027y\u0027 is\npresent this also needs to implicitly add the default \u0027i\u0027 extension\nversion so that normalized RVY arch strings and \u0027.attribute arch\u0027\ndirectives round-trip cleanly.\n\nSupport for combining \u0027e\u0027 and \u0027y\u0027 in arch strings is deferred until the\nlonger base name proposal\n(https://lists.riscv.org/g/tech-unprivileged/topic/longer_base_name_proposal/116854896)\nis adopted.\n\nCo-authored-by: Jessica Clarke \u003cjrtc27@jrtc27.com\u003e\nAssisted-by: AI tooling (added/updated tests)\nPull-Request: https://github.com/llvm/llvm-project/pull/227865"
    },
    {
      "commit": "8782640049cff93c6070ef1a69819cb506e04b11",
      "tree": "2ee13cb38465e7aa67558b95c026948f79cc054e",
      "parents": [
        "73a434b6fae8dc9fd485c75ed9f0326f7e25854c"
      ],
      "author": {
        "name": "Andy Kaylor",
        "email": "akaylor@nvidia.com",
        "time": "Wed Oct 21 23:33:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:33:48 2026"
      },
      "message": "[CIR] Fix relative include directories (#234419)\n\nCIR had several places in the make files where we were setting include\npaths using CMAKE_BINARY_DIR as a root, but some build bots had problems\nwith this because they were using a non-default build directory layout.\nCIR should instead have been using LLVM_BINARY_DIR. This change fixes\nthat."
    },
    {
      "commit": "73a434b6fae8dc9fd485c75ed9f0326f7e25854c",
      "tree": "2f7238c8407fbc6454e4ebae900112e85206b32a",
      "parents": [
        "bc432b90d89933e8ab68beb6d441faf65a4adb8b"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Wed Oct 21 23:24:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:24:12 2026"
      },
      "message": "PPC: Add MIR examples for missed extsw+word-load fold on subregister input (#211106)\n\nA gprc LWZ/LWZX feeding EXTSW_32_64 folds into a sign-extending LWA/LWAX\nload. The equivalent 64-bit zero-extending word loads (LWZ8/LWZX8) whose\nsub_32 feeds EXTSW_32_64 are not folded, leaving a redundant lwz+extsw\n(or lwzx+extsw) pair. Add MIR examples documenting the missed fold.\n\nCo-authored-by: Claude (Opus 4.8) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "bc432b90d89933e8ab68beb6d441faf65a4adb8b",
      "tree": "545d09bb5cfc39a9e4ad0c21712361a7b39781b6",
      "parents": [
        "20a4e6eb98070871bd16d3bc41ee661ad839ab83"
      ],
      "author": {
        "name": "Leonardo Román Carrillo",
        "email": "leonardoroman@google.com",
        "time": "Wed Oct 21 23:21:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:21:55 2026"
      },
      "message": "[bazel][mlir] Add CAPIOpenACC target (#234421)\n\nAdd the CAPIOpenACC target and CAPI pass TableGen outputs in\nOpenACCPassIncGen (needed after #233103 added mlir/test/CAPI/openacc.c)."
    },
    {
      "commit": "20a4e6eb98070871bd16d3bc41ee661ad839ab83",
      "tree": "39a594e1501b8c206d107c75167c6b95a27f210c",
      "parents": [
        "2c09a5b09c2ba2d17e937b98e3331728ca7f4548"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Oct 21 23:20:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:20:59 2026"
      },
      "message": "[CI] Do not explicitly build ClangIR (#234384)\n\nThis is enabled by default in check-clang after\ndfd756d1b830ff810644d19ed1eb7ff5f08a8585, so need to do any more\nexplicit handling."
    },
    {
      "commit": "2c09a5b09c2ba2d17e937b98e3331728ca7f4548",
      "tree": "3d6453ce617831292af9e9b8c853e0398196b64a",
      "parents": [
        "707fc8e4983be78c7204a93c1ed664e9cb24ddcd"
      ],
      "author": {
        "name": "Vasileios Porpodas",
        "email": "vasileios.porpodas@amd.com",
        "time": "Wed Oct 21 23:20:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:20:31 2026"
      },
      "message": "[SandboxVec][LoadStoreVec] Use more accurate alignment (#231695)\n\nUp until now LoadStoreVec used to create vector loads/stores with\nalign(1) regardless of the alignment of the original instructions that\ngot vectorized. On the other hand BundleVec used the alignment of the\nfirst element.\n\nThis patch introduces a new VecUtils::getVecAlignment() function that\nunifies both. For now we use the alignment of the first element, but\nthis should be improved in the future with more precise alignment\nreasoning."
    },
    {
      "commit": "707fc8e4983be78c7204a93c1ed664e9cb24ddcd",
      "tree": "485b0ae33b9f52ca707473f12438c760b2638488",
      "parents": [
        "a808f8ea7fdc61ead417bfe55e8ef5f728776aeb"
      ],
      "author": {
        "name": "Reid Kleckner",
        "email": "rkleckner@nvidia.com",
        "time": "Wed Oct 21 23:16:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:16:41 2026"
      },
      "message": "[CMake] Add a launcher for TableGen commands (#234410)\n\nAdd `LLVM_TABLEGEN_LAUNCHER`, an empty-by-default, semicolon-separated\ncommand prefix analogous to `CMAKE_\u003cLANG\u003e_COMPILER_LAUNCHER`. It applies\nto commands created by `tablegen()`, including MLIR source sharding, and\nlets users select a launcher independently of their compiler\nconfiguration. I\u0027m using this with\n[`recelient`](https://github.com/bazelbuild/reclient) to distribute\ntablegen actions.\n\nSuch launchers tend to regress build wall-time since most tablegen runs\nare fast and staging the remote execution environment for tablegen takes\nmore time than it takes to run tablegen, but this can be handy for\noffloading LLVM builds from \"small\" machines to large remote executors,\nor allowing one to do multiple local builds in parallel, like with\nunrelated agents, without consuming local resources.\n\n@manasij7479 has some prototypes that teach lit to distribute test\nshards with `reclient` as well, but that comes later."
    },
    {
      "commit": "a808f8ea7fdc61ead417bfe55e8ef5f728776aeb",
      "tree": "a4ae2bf27a31648c96ad4a8e3396691363c862c9",
      "parents": [
        "c97bf0eb64e52dfa8f44dfec8c713bdeb8bac957"
      ],
      "author": {
        "name": "Alexander Shaposhnikov",
        "email": "ashaposhnikov@google.com",
        "time": "Wed Oct 21 23:12:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:12:55 2026"
      },
      "message": "[mlir][cf] Canonicalize cf.switch cases targeting ub.unreachable (#234387)\n\nAdd a canonicalization pattern for cf.switch that drops cases whose\ndestination block contains only ub.unreachable, mirroring the existing\nDropUnreachableCondBranch pattern for cf.cond_br.\n(following https://github.com/llvm/llvm-project/pull/169873)"
    },
    {
      "commit": "c97bf0eb64e52dfa8f44dfec8c713bdeb8bac957",
      "tree": "69899aa5b13ef6399dd92ee5b9d86cff936059bc",
      "parents": [
        "06f022ed3983262fa8c0917909a780dac04ac9b4"
      ],
      "author": {
        "name": "Andy Kaylor",
        "email": "akaylor@nvidia.com",
        "time": "Wed Oct 21 23:11:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:11:50 2026"
      },
      "message": "[mlir][NFC] Fix mlir prettyprinter debuginfo test for MSVC (#234409)\n\nMSVC doesn\u0027t allow reinterpret cast of an integer to its own type. The\nmlir gdb prettyprinter test was doing this via a template. This caused a\nfailure on some Windows buildbots.\n\nThis change fixes that by doing what the template function did but\nwithout the cast."
    },
    {
      "commit": "06f022ed3983262fa8c0917909a780dac04ac9b4",
      "tree": "2397a5961eaa762dacb6373ebda5fccaeb42d507",
      "parents": [
        "767bec154f337933c4face93f6988751caf3097b"
      ],
      "author": {
        "name": "Prabhu Rajasekaran",
        "email": "prabhukr@google.com",
        "time": "Wed Oct 21 23:06:06 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:06:06 2026"
      },
      "message": "[X86] Use the Win64 i128 libcall lowering for UEFI (#233114)\n\nUEFI on x86-64 follows the Win64 ABI: clang passes `__int128` arguments\nby pointer and returns the value in XMM0, and the compiler-rt builtins\nbuilt for the target expect exactly that. The backend however only\napplied the Win64 lowering of the i128 division, remainder and floating\npoint conversion libcalls (`LowerWin64_i128OP`,\n`LowerWin64_INT128_TO_FP`, `LowerWin64_FP_TO_INT128`) to Windows\ntriples, so for `x86_64-unknown-uefi` the halves of the operands were\npassed in registers instead:\n\n```\n$ clang --target\u003dx86_64-unknown-uefi -O2 -S i128.c   # unsigned __int128 d(a, b) { return a / b; }\n...\nmovq    (%rcx), %rax      # low half of a in rcx\nmovq    8(%rcx), %r10     # high half of a in rdx\nmovq    (%rdx), %r8       # b in r8:r9\nmovq    8(%rdx), %r9\ncallq   __udivti3\n```\n\nwhile `__udivti3` itself, compiled for the same target, reads its\noperands through the pointers in `rcx` and `rdx`. The same mismatch\nshows up with Rust\u0027s compiler-builtins when the `x86_64-unknown-uefi`\nRust target is lowered through this LLVM target.\n\nWhether the lowering is needed is a property of the ABI the libcalls are\ncompiled with, not of the operating system, so key it on the default C\ncalling convention being the Win64 one\n(`isCallingConvWin64(CallingConv::C)`) rather than on the target. That\ncovers UEFI and keeps the decision in one place for any target that\nadopts the Win64 ABI. The existing Win64 tests (`divmod128.ll`,\n`i128-fpconv-win64.ll`, `i128-fpconv-win64-strict.ll`) are now also run\nfor the UEFI triple and produce the same code.\n\nAssisted-by: Claude"
    },
    {
      "commit": "767bec154f337933c4face93f6988751caf3097b",
      "tree": "674a4c16a35f64f3d31c17cffd5ff16eac583710",
      "parents": [
        "aae8470726f4ef3af1b20686058adef5ec535293"
      ],
      "author": {
        "name": "Romaric Jodin",
        "email": "rjodin@google.com",
        "time": "Wed Oct 21 23:00:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 23:00:47 2026"
      },
      "message": "[libclc]: add geometric/normalize.cl to spirv/vulkan (#234300)"
    },
    {
      "commit": "aae8470726f4ef3af1b20686058adef5ec535293",
      "tree": "7381cc25ed33ac27a5c0c4cc17b540eb66fa6897",
      "parents": [
        "6fbf4cbace17a5ebfe8c2c07a08684a93fd9af20"
      ],
      "author": {
        "name": "Alina Sbirlea",
        "email": "asbirlea@google.com",
        "time": "Wed Oct 21 22:59:29 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:59:29 2026"
      },
      "message": "[GVN] Reuse EarliestEscapeAnalysis across loads when using MemorySSA (#233932)\n\nReuse EarliestEscapeAnalysis to reduce compile time."
    },
    {
      "commit": "6fbf4cbace17a5ebfe8c2c07a08684a93fd9af20",
      "tree": "553d0436874bac58abffb61d9077aae862d75b87",
      "parents": [
        "05efdbf9f93d8a4ddc125c4a77402b9a48ef3f80"
      ],
      "author": {
        "name": "Leonardo Román Carrillo",
        "email": "leonardoroman@google.com",
        "time": "Wed Oct 21 22:33:14 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:33:14 2026"
      },
      "message": "[NVPTX][test] Gate custom-abi-preserve-reg.ll ptxas-verify on ptxas-sm_80 \u0026\u0026 ptxas-isa-9.0 (#234391)\n\ncustom-abi-preserve-reg.ll (added in #227499) compiles with\n-mattr\u003d+ptx90, which requires a CUDA 13.0+ ptxas supporting PTX ISA 9.0.\nGate %ptxas-verify on ptxas-sm_80 \u0026\u0026 ptxas-isa-9.0 instead of bare ptxas\nso the test does not fail when run with an older ptxas."
    },
    {
      "commit": "05efdbf9f93d8a4ddc125c4a77402b9a48ef3f80",
      "tree": "0f4565b4641a0d78336c83c5bba3fecfb87be743",
      "parents": [
        "5059e3355e08ab972aa332ca83110aca14754fa2"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Wed Oct 21 22:29:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:29:38 2026"
      },
      "message": "[clang][test] Use the FreeBSD sysroot tree in freebsd.cpp (#234366)\n\nThe libc++ sysroot include path tests in freebsd.cpp were using\nbasic_openbsd_libcxx_tree as the sysroot. Use basic_freebsd_libcxx_tree\ninstead. Both trees have the same layout, so this does not change what\nis being tested."
    },
    {
      "commit": "5059e3355e08ab972aa332ca83110aca14754fa2",
      "tree": "e57271351e87e71f39aa7680fa3fa61360766cf6",
      "parents": [
        "5fb8e4e0e3f24c667f943920f9e188cf31da69e7"
      ],
      "author": {
        "name": "Matt Turner",
        "email": "mattst88@gmail.com",
        "time": "Wed Oct 21 22:28:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:28:17 2026"
      },
      "message": "[clang][CodeGen] Rename isSingleElementStruct to isSingleElementRecord and factor out PPC FP/vector check (NFC) (#234054)\n\nTwo NFC refactors split out of #223481 at review request.\n\n- Rename isSingleElementStruct to isSingleElementRecord. It decomposes\nunions\nas well as structures, both at the top level and in nested fields and\nbases;\nthe new name and comment say so, so that a later isSingleElementStruct\ncan\n  refuse unions.\n- Factor the single-element floating-point/128-bit vector aggregate test\nthat\nPPC64_SVR4_ABIInfo::computeInfo and getParamTypeAlignment each performed\n  into getSingleElementFPOrVectorType.\n\nAssisted-by: Claude Code"
    },
    {
      "commit": "5fb8e4e0e3f24c667f943920f9e188cf31da69e7",
      "tree": "a23fa8646db4d08ede4f17be0ad763609076b9ee",
      "parents": [
        "3832e114799cea9f24c6d9ae06d6d75df4327ab5"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Oct 21 22:23:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:23:55 2026"
      },
      "message": "[libc++] Update macOS CI jobs to C++26 (#230136)\n\nCurrently released Xcode does not support C++29, but it supports C++26\nso we should test C++26 features on it."
    },
    {
      "commit": "3832e114799cea9f24c6d9ae06d6d75df4327ab5",
      "tree": "77f372328e41d800b96991b157ae82a32cf0e733",
      "parents": [
        "e6f48dd7c09a5254757555c71c064f782f05d893"
      ],
      "author": {
        "name": "Alexander Shaposhnikov",
        "email": "ashaposhnikov@google.com",
        "time": "Wed Oct 21 22:18:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:18:47 2026"
      },
      "message": "[mlir][LLVM] Add a negative test for inttoptr(ptrtoint(x))  (#234397)\n\nFolding `inttoptr(ptrtoint(x))` to `x` is incorrect even when the\nintermediate integer is at least as wide as the pointer, because the\npointer produced by `inttoptr` may carry different provenance than `x`.\nAdd a negative canonicalization test, with a comment pointing to the\nrelevant references, so that the cast pair is documented as\nintentionally not folded and future attempts are caught."
    },
    {
      "commit": "e6f48dd7c09a5254757555c71c064f782f05d893",
      "tree": "777122f5060caa36c03a9e3ae01246e94ad0ea4a",
      "parents": [
        "97e2f22cab7e27cb68be907bc0625b3becb314e4"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Wed Oct 21 22:13:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:13:22 2026"
      },
      "message": "[gn build] Port 260a2065d6808 (#234401)"
    },
    {
      "commit": "97e2f22cab7e27cb68be907bc0625b3becb314e4",
      "tree": "4e2bbbab8dfe6e35ebabe3c23c7dfc48cedf1e9c",
      "parents": [
        "cd9002930651f87c90fe7713563ba7725bf398ba"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Wed Oct 21 22:13:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:13:05 2026"
      },
      "message": "[gn build] Port 42c4dc0d5cf6a (#234402)"
    },
    {
      "commit": "cd9002930651f87c90fe7713563ba7725bf398ba",
      "tree": "6f13a6c953978766c7d8ca2c9086c7e08ee6117e",
      "parents": [
        "7177ec5f62b3e963c8d63d823901c8aaefcd33ed"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Wed Oct 21 22:12:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:12:44 2026"
      },
      "message": "[gn build] Port edad54e08d3b (#234403)"
    },
    {
      "commit": "7177ec5f62b3e963c8d63d823901c8aaefcd33ed",
      "tree": "788f8fa411af38dad15cefc382345680beb31e32",
      "parents": [
        "a3f08bc7b06244b8708eb34fc5963eb41cbbaeb1"
      ],
      "author": {
        "name": "Morris Hafner",
        "email": "mmha@users.noreply.github.com",
        "time": "Wed Oct 21 22:09:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:09:00 2026"
      },
      "message": "[CIR] Add missing MLIR TableGen dependencies to CIR CMake targets (#187692)\n\nCIR targets include MLIR headers that depend on TableGen-generated .inc\nfiles (BuiltinLocationAttributes.h.inc, BytecodeOpInterface.h.inc), but\ndo not declare build dependencies on the corresponding TableGen targets.\nThis causes intermittent build failures with parallel builds when the\n.inc files have not yet been generated by the time CIR sources compile.\n\nAdd MLIRBuiltinLocationAttributesIncGen and\nMLIRBytecodeOpInterfaceIncGen to DEPENDS in all affected CIR CMake\ntargets:\n- clangCIRLoweringCommon\n- clangCIRLoweringDirectToLLVM\n- clangCIRFrontendAction\n- MLIRCIRInterfaces\n- MLIRCIR (Dialect/IR)\n- MLIRCIRTransforms\n- MLIRCIRTargetLowering\n- CIROpenACCSupport\n- clangCIR (CodeGen)\n\nFixes #234321."
    },
    {
      "commit": "a3f08bc7b06244b8708eb34fc5963eb41cbbaeb1",
      "tree": "57ab2fb24f484fcebbf40ef6eb233b59af1e4da5",
      "parents": [
        "ae62ecf96fa9905dc5453984582f4e58c738e6cc"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Wed Oct 21 22:07:07 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:07:07 2026"
      },
      "message": "PPC: Fix extsw elimination when the input reads a subregister (#208052)\n\nThe EXTSW_32_64 sign-extend elimination previously assumed its input\nwas a full register value. It would then try using that value as the\nsource of the new (unnecessary) INSERT_SUBREG.\n\nThe new test would then hit this verifier error:\n\n```\nbb.0:\n  liveins: $x3\n  %0:g8rc \u003d COPY killed $x3\n  %1:g8rc \u003d RLDICL killed %0:g8rc, 0, 33\n  %3:g8rc \u003d IMPLICIT_DEF\n  %2:g8rc \u003d INSERT_SUBREG %3:g8rc(tied-def 0), %1:g8rc, %subreg.sub_32\n  $x3 \u003d COPY killed %2:g8rc\n  BLR8 implicit $lr8, implicit $rm, implicit killed $x3\n\n*** Bad machine code: INSERT_SUBREG expected inserted value to have equal or lesser size than the subreg it was inserted into ***\n- function:    extsw_elim_subreg_input\n- basic block: %bb.0  (0x13c834070)\n- instruction: %2:g8rc \u003d INSERT_SUBREG %3:g8rc(tied-def 0), %1:g8rc, %subreg.sub_32\n```\n\nThis avoids verifier error regressions in a future change.\n\nCo-authored-by: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "ae62ecf96fa9905dc5453984582f4e58c738e6cc",
      "tree": "3329c62305fb215506426e22eec066f20a16b334",
      "parents": [
        "8de4417034efe6a374e21e686803525cad3466c0"
      ],
      "author": {
        "name": "Anshul Nigham",
        "email": "nigham@google.com",
        "time": "Wed Oct 21 22:05:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:05:40 2026"
      },
      "message": "Adds assertions as required to WebAssembly/CostModel/loop-02-bb1176.ll (#234378)\n\nFixes commit 69ad76c"
    },
    {
      "commit": "8de4417034efe6a374e21e686803525cad3466c0",
      "tree": "2bc217ad8bf049d918372a0b894112fc94ef0afa",
      "parents": [
        "ed07c22327fdc4ccddac4e44c32bc69c796be782"
      ],
      "author": {
        "name": "Adrian Prantl",
        "email": "aprantl@apple.com",
        "time": "Wed Oct 21 22:04:45 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:04:45 2026"
      },
      "message": "[lldb] Support objc_runtime_name annotations in DWARF  (#233648)\n\nAn Objective-C class with a custom objc_runtime_name exports its\nclass, metaclass, and ivar offset symbols under the runtime name.\nLLDB reconstructs the interface from DWARF with only the source name,\nso expressions that reference such a class fail to find these\nsymbols.\n\nThis patch reads the DW_TAG_LLVM_annotation that clang now emits for\nthe runtime name and attaches an ObjCRuntimeNameAttr to the\nreconstructed ObjCInterfaceDecl.\n\nrdar://190472538\nAssisted-by: Claude"
    },
    {
      "commit": "ed07c22327fdc4ccddac4e44c32bc69c796be782",
      "tree": "27b1f2671e0c677b9493a41db7893e3cb6e9f9b2",
      "parents": [
        "284217fb0b984531389ecc8933fbf819c87ada97"
      ],
      "author": {
        "name": "Adrian Prantl",
        "email": "aprantl@apple.com",
        "time": "Wed Oct 21 22:03:58 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 22:03:58 2026"
      },
      "message": "[clang][DebugInfo] Record objc_runtime_name of ObjC interfaces  (#233647)\n\nAn Objective-C class with a custom objc_runtime_name exports its class,\nmetaclass, and ivar offset symbols under the runtime name, but the debug\ninfo only records the source name.\n\nThis causes problems in LLDB\u0027s expression evaluator since it will use\nthe name recorded in the debug info for any ObjC metadata symbols.\n\nThis patch uses DW_TAG_LLVM_annotation to record the runtime name in the\ninterface.\n\nrdar://187396633\nAssisted-by: Claude"
    },
    {
      "commit": "284217fb0b984531389ecc8933fbf819c87ada97",
      "tree": "09582c050fbab9cff2314bcc6f930e7250fbc52c",
      "parents": [
        "a73eccc328658b352bef955ba225853f36f47542"
      ],
      "author": {
        "name": "Simon Pilgrim",
        "email": "llvm-dev@redking.me.uk",
        "time": "Wed Oct 21 21:52:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:52:41 2026"
      },
      "message": "[X86] Add test coverage for #233272 (#234282)"
    },
    {
      "commit": "a73eccc328658b352bef955ba225853f36f47542",
      "tree": "212b6ce385ae6c3d564fc53a10bd29624944775b",
      "parents": [
        "da846c671d18a7cba470c0a0a6d9947450ebbeee"
      ],
      "author": {
        "name": "Tim",
        "email": "timothy.smith@hpe.com",
        "time": "Wed Oct 21 21:49:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:49:56 2026"
      },
      "message": "[flang][debuginfo] Emit DW_AT_type for DW_TAG_string_type DIEs [3/3] (#231960)\n\nUse the new DIStringType type field to emit the DW_AT_type attribute on\nDW_TAG_string_type DIEs generated by Flang\u0027s debug type generator,\nenabling debuggers to identify the character type of Fortran strings.\n\nFixes #95440"
    },
    {
      "commit": "da846c671d18a7cba470c0a0a6d9947450ebbeee",
      "tree": "3f2f6e46ab1251cdb05d1c48bdf4a06a82b3b622",
      "parents": [
        "e8605fba270516fe3715fe38e30904b3217d1bb1"
      ],
      "author": {
        "name": "lntue",
        "email": "lntue@google.com",
        "time": "Wed Oct 21 21:48:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:48:31 2026"
      },
      "message": "[libc][cmake] Unify unit and hermetic test rules into add_libc_test (#233512)\n\n- Consolidate _add_libc_unittest and add_libc_hermetic into mode-aware\nadd_libc_test and create_libc_test rules using llvm_libc_parse_arguments\nand forward_arguments (#232089), keeping add_libc_unittest,\nadd_libc_hermetic, and add_fp_unittest as thin forwarding wrappers.\n- Replace separate libc-unit-tests and libc-hermetic-tests with unified\nlibc-tests and libc-tests-build targets.\n- Introduce add_libc_testsuite to create both \u003csuite\u003e and \u003csuite\u003e-build\ntargets wired into libc-tests and libc-tests-build.\n- Move add_fp_unittest into LLVMLibCTestRules.cmake via the FP_TEST\noption and rename MPFR/MPC helper libraries to follow standard libc\ntarget naming (libc.utils.MPCommon, libc.utils.MPFRWrapper,\nlibc.utils.MPCWrapper).\n- Streamline _add_libc_test_runner: replace $\u003cTARGET_FILE:...\u003e with\nconfigure-time binary paths, fast-path .params generation, and define\ntest runner targets directly via add_custom_target(... COMMAND ...\nJOB_POOL ...) instead of intermediate .cmd stamp rules.\n- Update docs and GPU benchmarks to use the unified test targets and\nrules.\n\nAssisted-by: Gemini"
    },
    {
      "commit": "e8605fba270516fe3715fe38e30904b3217d1bb1",
      "tree": "8cc9a0b95e817921d5daf44368e741cabd023505",
      "parents": [
        "b42abf84d1a210e1b12184d651c3bf881e1e4f57"
      ],
      "author": {
        "name": "Mehdi Amini",
        "email": "joker.eph@gmail.com",
        "time": "Wed Oct 21 21:47:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:47:01 2026"
      },
      "message": "[libc++] Disable automatic module scanning on ARM CI builders (#232947)\n\nThe ARM Buildkite toolchains do not expose clang-scan-deps to CMake.\nWhen CMP0155 enables automatic scanning for libc++abi C++23 sources,\nthese standalone runtimes builds fail with the scanner set to NOTFOUND.\n\nPass CMAKE_CXX_SCAN_FOR_MODULES\u003dOFF in the eight ARM job invocations,\nincluding the no-exceptions variants, until their toolchains provide a\nmatching scanner. Keep the other CI configurations on their defaults.\n\nSee the issue tracking upgrading the bots:\nhttps://github.com/llvm/llvm-project/issues/232946\n\nAssisted-by: Codex"
    },
    {
      "commit": "b42abf84d1a210e1b12184d651c3bf881e1e4f57",
      "tree": "eb726531726357ef10740b926036f938dfbf623e",
      "parents": [
        "c090e6654f2161ab7a6385fb4bce4be208969bba"
      ],
      "author": {
        "name": "Cyndy Ishida",
        "email": "cyndy_ishida@apple.com",
        "time": "Wed Oct 21 21:44:15 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:44:15 2026"
      },
      "message": "[clang][Modules] Disable module map subdirectory search by default (#234233)\n\ncbd5ba20d1fa stopped searching the immediate subdirectories of header\nsearch paths for module maps on Darwin using SDKs: macOS 15+, iOS 18+,\ntvOS 18+, watchOS 11+, and visionOS 2+.\n\nNow, disable it by default everywhere.\n`-fmodulemap-allow-subdirectory-search` is kept as an opt-in for the\nprevious behavior."
    },
    {
      "commit": "c090e6654f2161ab7a6385fb4bce4be208969bba",
      "tree": "4bdd58132c4ebc3713a10f6084e29e5d3faba44c",
      "parents": [
        "a6c7f7c87f73613c68db402005647298c67c50a4"
      ],
      "author": {
        "name": "Moazin K.",
        "email": "mkhatti@nvidia.com",
        "time": "Wed Oct 21 21:35:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:35:18 2026"
      },
      "message": "[OpenACC] Handle device_type(*) properly for OpenACC routine bind (#234373)\n\nAdd `getEffectiveBindName` to `acc.routine` to select the applicable\nbind for a target device. Use it in `ACCImplicitRoutine`,\n`ACCRoutineLowering`, `ACCRoutineToGPUFunc`,\n`ACCMaterializeRoutineBindTargets`, and `ACCBindRoutine`.\n\nAssisted-by: Codex"
    },
    {
      "commit": "a6c7f7c87f73613c68db402005647298c67c50a4",
      "tree": "0b0fd1ec727ffabdf3d34a1080e345331da4a6ff",
      "parents": [
        "6fde55d96d2bc1f6df0a59afbdf100283bb871b9"
      ],
      "author": {
        "name": "Andy Kaylor",
        "email": "akaylor@nvidia.com",
        "time": "Wed Oct 21 21:24:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:24:23 2026"
      },
      "message": "[CIR][NFC] Avoid unused value for vtable address point (#234326)\n\nWe had been creating an unused value to emit a constant attribute for\nvtable address points in ConstantRecordBuilder. We recently discovered\nthat the temporary operation wrapped by this value was being leaked. A\nquick fix was added to delete the operation. This change applies the\nmore thorough fix of just creating the attribute directly without\ncreating a temporary value.\n\nAssisted-by: Cursor / claude-opus-5.5"
    },
    {
      "commit": "6fde55d96d2bc1f6df0a59afbdf100283bb871b9",
      "tree": "633b9b4751db7f4ce75bec370da350d8bc31ac34",
      "parents": [
        "f16cbe7b015b59cbe0b9647e6d5f6ba9aaeaf668"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Wed Oct 21 21:16:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:16:37 2026"
      },
      "message": "CodeGen: Stop using LiveVariables in tests (#234293)\n\nChange most of these tests to use live-intervals instead, assuming\nthere\u0027s some value in testing whatever edge case once broke live\nvariables. Some cases seem to use it just to drive other passes where\nit makes sense to just slot it in. The one case that seems\nunrecoverably useless is a test for the extra implicit def operands\nLiveVariables would add involving subregister defs."
    },
    {
      "commit": "f16cbe7b015b59cbe0b9647e6d5f6ba9aaeaf668",
      "tree": "9cccaf2a2a6e81551303d1b9d373a5df8aa9aa3e",
      "parents": [
        "cbc77c989914b2e457e99541fd90a5733841371b"
      ],
      "author": {
        "name": "Finn Plummer",
        "email": "mail@inbelic.dev",
        "time": "Wed Oct 21 21:08:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:08:22 2026"
      },
      "message": "[CGHLSL] Account for matrices in semantics (#233495)\n\nUpdates the emission of semantics with matrix values now that we have\nupdated its representation in the AST.\n\nResolves https://github.com/llvm/llvm-project/issues/143523\n\nAssisted by: ChatGPT Sol 6.1"
    },
    {
      "commit": "cbc77c989914b2e457e99541fd90a5733841371b",
      "tree": "cb1823846197c4b75ddd0ab0c73e925b6c6c03e5",
      "parents": [
        "0e8a14ce8d96822ef518dfc9aa7f6a7f39240a95"
      ],
      "author": {
        "name": "Finn Plummer",
        "email": "mail@inbelic.dev",
        "time": "Wed Oct 21 21:05:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:05:55 2026"
      },
      "message": "[DirectX] Update writing of semantic signatures to account for legacy padding (#232454)\n\nThis is a follow up pr to the comment here:\nhttps://github.com/llvm/llvm-project/pull/226562#discussion_r4213252870\n\nIt updates how we write out the signature parts of the dxcontainer to\nuse legacy padding rules when targeting a validator version under 1.7\n\nResolves https://github.com/llvm/llvm-project/issues/143523\n\nAssisted by: GPT Sol 6.1"
    },
    {
      "commit": "0e8a14ce8d96822ef518dfc9aa7f6a7f39240a95",
      "tree": "ec97697126ca27ed96a0cc12a1d87704c89d1b84",
      "parents": [
        "1e8b1af8b96a601958612bfc9fcbb9d0d44dbd18"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Wed Oct 21 21:02:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 21:02:21 2026"
      },
      "message": "[LV] Add initial conservative memory safety check for outer loops. (#229223)\n\nThis patch adds initial simple memory safety checks for the outer loop\nvectorization path, enabled with a new `-vplan-outer-loop-legality-checks` flag.\n\nThe initial checks only allow cases where the inner loop is read-only.\nThe outer loop is allowed to contain stores with stride !\u003d 0 to rule out\nwrite-after-write dependencies. The stores must not alias any other\nloads or stores in the loop nest.\n\nThose restrictions will be relaxed in follow-ups, together with support\nfor runtime check generation. The goal is to provide a new mode where\nonly provably safe loops get vectorized, and gradually extend the\ncapabilities."
    },
    {
      "commit": "1e8b1af8b96a601958612bfc9fcbb9d0d44dbd18",
      "tree": "c132128ad2d16695448e8be700224bdabcc9d8c2",
      "parents": [
        "effdc68341319865a1e88e357731b100f9726b9a"
      ],
      "author": {
        "name": "Alexey Bataev",
        "email": "a.bataev@outlook.com",
        "time": "Wed Oct 21 20:44:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:44:32 2026"
      },
      "message": "[SLP][NFC]ADd extra tests for i1 constants copyables, NFC\n\n\n\nReviewers: \n\nPull Request: https://github.com/llvm/llvm-project/pull/234361"
    },
    {
      "commit": "effdc68341319865a1e88e357731b100f9726b9a",
      "tree": "bcaa9e131e94c29a6ebada283ea10bc94f7576dc",
      "parents": [
        "90f5b425bc16a47ab28d7bc29e79ba0e957831fb"
      ],
      "author": {
        "name": "Alina Sbirlea",
        "email": "asbirlea@google.com",
        "time": "Wed Oct 21 20:43:42 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:43:42 2026"
      },
      "message": "[ConstraintElimination] Exact right shifts extension (#223207)\n\nDecompose exact right shifts when terms are divisible by shift factor\n\nExtend ConstraintElimination::decompose() to look through exact right\nshifts (ashr exact / lshr exact) when the decomposed operand\u0027s constant\noffset and variable coefficients are all evenly divisible by the shift\nfactor (1 \u003c\u003c Shift). For example, (4 * a + 8) \u003e\u003e 2 decomposes into a +\n2, allowing comparisons like ((4 * a + 8) \u003e\u003e 2) \u003e a to be proven and\nfolded to true.\n\nAdded lit tests in\nllvm/test/Transforms/ConstraintElimination/exact-shr.ll covering\npositive folds and negative cases (non-divisible coefficients,\nnon-divisible offsets, and non-exact shifts).\n\nGemini assisted change."
    },
    {
      "commit": "90f5b425bc16a47ab28d7bc29e79ba0e957831fb",
      "tree": "80be8c159f19696301ca1265388e68240a7f81e5",
      "parents": [
        "723ad5da93e4ba121556653d91a66934a6499e46"
      ],
      "author": {
        "name": "Dmitry Vasilyev",
        "email": "dvassiliev@accesssoftek.com",
        "time": "Wed Oct 21 20:43:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:43:36 2026"
      },
      "message": "[CAS] Fixed FD leak in BuiltinObjectHasher (#234316)\n\nNote BuiltinObjectHasher.h includes BLAKE3.h, so remove redundant include."
    },
    {
      "commit": "723ad5da93e4ba121556653d91a66934a6499e46",
      "tree": "0b548e1a919d415bf7d038d29ed029e8208b5455",
      "parents": [
        "7ae415894ac76a6301fb005eb06881acba2c2351"
      ],
      "author": {
        "name": "Malavika Samak",
        "email": "malavika.samak@gmail.com",
        "time": "Wed Oct 21 20:37:51 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:37:51 2026"
      },
      "message": "[InferAddressSpaces] Fix cloneConstantExprWithNewAddressSpace assert with a mismatched address space (#231643)\n\ncloneConstantExprWithNewAddressSpace() asserts when cloning a no-op\ninttoptr(ptrtoint(Src)) constant expression whose source pointer Src\nlives in a different address space than the one being inferred.\n\nWhen unwrapping the no-op, the code assumed Src is already in the\ninferred address space and returned it unchanged. However, inference can\nassign the pair a different address space than Src\u0027s actual one, in\nwhich case returning Src yields a pointer typed in the wrong address\nspace (or trips the assert in a debug build).\n\ncloneInstructionWithNewAddressSpace(), the instruction-level counterpart\nof this function, already handles this case correctly by inserting an\naddress space cast when the types don\u0027t match. Apply the same fix to the\nconstant-expression path.\n\n---------\nCo-authored-by: anhe@nvidia.com\n\nCo-authored-by: mmalavika \u003cmmalavika@nvidia.com\u003e"
    },
    {
      "commit": "7ae415894ac76a6301fb005eb06881acba2c2351",
      "tree": "3430c7323a585baff7dbe3519080084c31393370",
      "parents": [
        "2cac8fc93a02e64e110e3b6c1f2d763f01a8ed65"
      ],
      "author": {
        "name": "Lucas Mellone",
        "email": "github.snugness349@passinbox.com",
        "time": "Wed Oct 21 20:35:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:35:30 2026"
      },
      "message": "[libc++] Add coverage for corner case in enumerate_view::size test (#233777)\n\nCompletes the [range.enumerate.sentinel] `size` test by addressing the\nreview comment https://github.com/llvm/llvm-project/pull/73617#discussion_r1416645016\nfrom the original implementation."
    },
    {
      "commit": "2cac8fc93a02e64e110e3b6c1f2d763f01a8ed65",
      "tree": "20bc4d2a86584196a74899107b19720439cf6336",
      "parents": [
        "14dc2bcf4722bfbd07b92dee24bf86571e0e4835"
      ],
      "author": {
        "name": "Florian Hahn",
        "email": "flo@fhahn.com",
        "time": "Wed Oct 21 20:18:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:18:52 2026"
      },
      "message": "[LV] Add test for branch costs in replicate regions. (NFC) (#234333)\n\nAdd a test for the costs of replicate regions without a target, where\nbranches have a non-zero cost.\n\nAlso force VF 4 for tests with replicated stores that are only\npredicated by the header mask with tail-folding, so they remain\nvectorized once the costs of extracting the mask for the replicated\nstores are accounted for."
    },
    {
      "commit": "14dc2bcf4722bfbd07b92dee24bf86571e0e4835",
      "tree": "05d307fccd43b235dd0e00f696d89dda90f9a3ac",
      "parents": [
        "240a7d7ddcd74f3d07f3bddd197f088f28d3a426"
      ],
      "author": {
        "name": "Louis Dionne",
        "email": "ldionne.2@gmail.com",
        "time": "Wed Oct 21 20:13:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:13:41 2026"
      },
      "message": "[libc++] Extract the A/B benchmark comparison into a reusable workflow (#234317)\n\nLike we did for the historical benchmarking workflows, extract the\nactual build + benchmarking logic into its own workflow. This is more\nmodular and it should fix issues with K8s workers not being able to\nupdate PR comments.\n\nThis also prevents running workflows that contain the user\u0027s PR code in\na context where API keys (for posting comments) are available.\n\nAssisted by Claude"
    },
    {
      "commit": "240a7d7ddcd74f3d07f3bddd197f088f28d3a426",
      "tree": "ab776d65667faeed6ef9d8f89db22d3dee60dd67",
      "parents": [
        "07c472ce990df18db091fa5357192f9a2ae78e9e"
      ],
      "author": {
        "name": "Ambrose Leeb",
        "email": "aleeb@nvidia.com",
        "time": "Wed Oct 21 20:13:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:13:38 2026"
      },
      "message": "[Clang] [CUDA] Clean up exception handling diagnostics in device code (#230658)\n\nCurrently, the way in which we diagnose exception handling as\nunsupported in device code (e.g. CUDA, OpenMP) is a bit of a mess:\n\nGenerally, to implement `-fno-exceptions` in Sema, we have\n`Sema::DiagnoseExceptionUse()`, which is called by both\n`ActOnCXXTryStmt()` and `BuildCXXThrow()` (there is no `Build*()`\nfunction for `try` statements), as well as when we rebuild them in\n`TreeTransform` because we don\u0027t diagnose exceptions as unsupported in\ndependent contexts to avoid diagnosing discarded code (see #139859).\n\nThat part is fine; however, for some reason, we also have _additional_\nchecks that are duplicated in `ActOnCXXTryStmt()` and `BuildCXXThrow()`.\nThis patch moves those checks into `DiagnoseExceptionUse()`.\n\nAdditionally, there\u0027s another change I made: `DiagnoseExceptionUse()`\nused to return w/o emitting any diagnostics in CUDA mode. Presumably,\nthis was to avoid issuing duplicate diagnostics since\n`ActOnCXXTryStmt()` and `BuildCXXThrow()` would reject exceptions in\ndevice code anyway.\n\nBut the problem here is that we were only doing that for _device code_.\nCurrently, `-fno-exceptions` is just _ignored entirely_ in CUDA host\ncode (https://godbolt.org/z/sdcscEdbf). I don\u0027t see how this is anything\nother than a bug, so this patch fixes that too."
    },
    {
      "commit": "07c472ce990df18db091fa5357192f9a2ae78e9e",
      "tree": "29e983b3582ae79e5544b16e846915a7e0845745",
      "parents": [
        "260a2065d6808935d4dea41d48c024e66b394c48"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@google.com",
        "time": "Wed Oct 21 20:05:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:05:18 2026"
      },
      "message": "[NFC][clang][test] Regenerate memcpy-inline-builtin-no-extern.c (#234083)\n\nRegenerate checks with `update_cc_test_checks.py` and add a\n`preserve_most` calling convention test case for #234081 and #234089.\n\nAssisted-by: Gemini"
    },
    {
      "commit": "260a2065d6808935d4dea41d48c024e66b394c48",
      "tree": "5f480bf7d929166473d5e38c750ce08329198ff4",
      "parents": [
        "cc4892e2adb63dd85d0d211b20ccd4c579ebf2b3"
      ],
      "author": {
        "name": "Jay Foad",
        "email": "jay.foad@amd.com",
        "time": "Wed Oct 21 20:02:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:02:35 2026"
      },
      "message": "[CycleInfo] Invalidate all exit block caches when adding a block (#233378)\n\naddBlockToCycle only cleared the getExitBlocks cache of the target cycle\nand its ancestors, and splitCriticalEdge cleared nothing when the new\nblock lies outside every cycle. But splitting an edge that leaves a\ncycle changes that cycle\u0027s exit blocks even when the new block is not\nadded to it: if the edge goes to the parent cycle the new block joins\nthe parent, and if it goes outside all cycles the new block joins no\ncycle. In both cases a subsequent getExitBlocks on the inner cycle\nreturned the old successor instead of the new block.\n\nClear all exit block caches in addBlockToCycle and splitCriticalEdge.\nThey are recomputed lazily, and updates are rare.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "cc4892e2adb63dd85d0d211b20ccd4c579ebf2b3",
      "tree": "ad586096196369603f2c16bea0912f3d67ae2c80",
      "parents": [
        "1a12cdff0a0c759425e9708856ad2a10865e015b"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Oct 21 20:01:39 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 20:01:39 2026"
      },
      "message": "Reapply \"[SimplifyCFG] Mark branch weights unknown in masked switch to lookup\" (#234069)\n\nReverts llvm/llvm-project#233325\n(63ad0005f5eaac3e58289c05111ce5e5a20592b8)\n\nThis relands 299c65b98b0248d0dabf19f0c5126b69eae7f7e4.\n\nThe original PR exposed issues that were fixed in\n410f668aaeac203580336170eaa5aebd5d89908d."
    },
    {
      "commit": "1a12cdff0a0c759425e9708856ad2a10865e015b",
      "tree": "a0dcf2f971c35cd4e1fbf71fbcc2cabaee664317",
      "parents": [
        "3878e680445418b076d7dd860f15171f22747751"
      ],
      "author": {
        "name": "Jay Foad",
        "email": "jay.foad@amd.com",
        "time": "Wed Oct 21 19:55:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:55:40 2026"
      },
      "message": "[CycleInfo] Avoid quadratic cost in verifyCycle (#233385)\n\nOn CFGs with unreachable blocks, verifyCycle can potentially walk all\nreachable blocks once for almost every block, in order to check that a\nnon-entry block has no reachable predecessors ouside the cycle. Fix this\nby computing the set of reachable blocks lazily on first use and caching\nit.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "3878e680445418b076d7dd860f15171f22747751",
      "tree": "32f8ae3d1d80bb8acbf7b268efe9338c69be5888",
      "parents": [
        "de892a378ac608ea4d5a061c247085e26ec517db"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Wed Oct 21 19:48:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:48:57 2026"
      },
      "message": "[AMDGPU] Don\u0027t emit .amdgcn_target for each inline asm blob (#234195)\n\nWhen the integrated assembler is used for textual output, AsmPrinter\nparses every inline asm blob with a new AMDGPUAsmParser and calls\nRun() on it. Run() invokes onEndOfFile() as if the blob were a complete\nfile, and that emits the deferred .amdgcn_target directive. Since each\nparser tracked on its own whether the directive had been emitted, a\ncopy was printed after every inline asm statement, in addition to the\none AsmPrinter emits for the module.\n\nTrack this on AMDGPUTargetStreamer instead, which AsmPrinter and the\ninline asm parsers share, so the directive is emitted at most once per\noutput file regardless of who gets there first. Assembling with\nllvm-mc behaves as before.\n\nThis only shows up in textual output with the integrated assembler\nenabled, which AMDGPU does not do yet, so there is no test here. Once\nit is enabled the existing CodeGen/AMDGPU inline asm tests cover it.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "de892a378ac608ea4d5a061c247085e26ec517db",
      "tree": "3be676446852470dbc4a2eda61dcbf9f39ac84e1",
      "parents": [
        "df547465c38804d2e1289cbd1e2862533dd3dda5"
      ],
      "author": {
        "name": "Andrew Browne",
        "email": "browneee@google.com",
        "time": "Wed Oct 21 19:45:49 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:45:49 2026"
      },
      "message": "Fix infinite recursion from DFSan reaches function argument callbacks. (#233982)\n\nWith `-dfsan-reaches-function-callbacks`, a reaches function callback\nthat is marked uninstrumented in the ABI list and registered with the\nruntime overflows the stack whenever a stale non-zero label sits in\n`__dfsan_arg_tls`. The runtime calls the `dfsw$` wrapper, which reads\nargument shadows from `__dfsan_arg_tls` and reports them, re-entering\nthe callback through the runtime before the callback\u0027s own reentrancy\nguard runs. Nothing clears the stale label, so this repeats until the\nstack overflows.\n\nTwo defects contribute. Wrappers get argument callbacks even though they\nmay be called from uninstrumented code, where their argument shadows are\nstale. Also, the argument callback instrumentation is inserted before\nthe visitor runs, so the visitor instruments it again: argument shadow\nloads are treated as application loads, and the callback calls as\ninstrumented calls whose argument shadow stores clobber\n`__dfsan_arg_tls`.\n\nSkip argument callbacks in wrappers, and add the inserted instructions\nto `SkipInsts`."
    },
    {
      "commit": "df547465c38804d2e1289cbd1e2862533dd3dda5",
      "tree": "15001845729b2ddcb87b3cd755f026cb58a2e8e5",
      "parents": [
        "486ab7ff1b89d3cdaf0d1feafe5dc82f2a32f090"
      ],
      "author": {
        "name": "Michael Kruse",
        "email": "llvm-project@meinersbur.de",
        "time": "Wed Oct 21 19:42:52 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:42:52 2026"
      },
      "message": "[Flang] Fix BUILD_SHARED_LIBS build (#234327)\n\nFortranSupport was only depended on indirectly, breaking the shared\nlibrary build. Missed in #216958."
    },
    {
      "commit": "486ab7ff1b89d3cdaf0d1feafe5dc82f2a32f090",
      "tree": "2d25f420bfc00d80598950975d55d11817d67ebf",
      "parents": [
        "a637bd8034ee63c42746845b9bd58ad2e6b2dc5f"
      ],
      "author": {
        "name": "Alexey Bataev",
        "email": "a.bataev@outlook.com",
        "time": "Wed Oct 21 19:41:35 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:41:35 2026"
      },
      "message": "[SLP]Keep scalar GEP index for external uses\n\nThe power-of-2 external-use heuristic swapped a cheap scalar GEP\nindex for an extractelement. The extracted index hid the consecutive\naccesses from later trees, so they were gathered instead of\nvectorized as wide loads.\n\nAssisted-by: Cursor\n\nReviewers: \n\nPull Request: https://github.com/llvm/llvm-project/pull/234338"
    },
    {
      "commit": "a637bd8034ee63c42746845b9bd58ad2e6b2dc5f",
      "tree": "cfc5c844a3c14e1ed79a05d61d4bf642dcdd6a1d",
      "parents": [
        "922d6a22f9971a5fd6c3a38defbcc0c9be392212"
      ],
      "author": {
        "name": "Alex Rønne Petersen",
        "email": "alex@alexrp.com",
        "time": "Wed Oct 21 19:31:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:31:44 2026"
      },
      "message": "[Sparc] Use 64-bit `long double` for v8 `sparc-netbsd` (#232943)"
    },
    {
      "commit": "922d6a22f9971a5fd6c3a38defbcc0c9be392212",
      "tree": "d96985d0551d0fc7c92f304d1194818cbe8f0e12",
      "parents": [
        "4936d85b08053eead5eb7355691f141c2c473285"
      ],
      "author": {
        "name": "Vijay Kandiah",
        "email": "vkandiah@nvidia.com",
        "time": "Wed Oct 21 19:28:02 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:28:02 2026"
      },
      "message": "[mlir][acc] Reduce a complex accumulator componentwise (#234276)\n\n`gpu.all_reduce` accepts only integer and float operands, including in\nits\ncustom-region form. A thread-partitioned `acc.reduction_accumulate` or\n`acc.reduction_accumulate_array` with a complex accumulator therefore\nproduced\nIR that failed to verify:\n\n```\nerror: \u0027gpu.all_reduce\u0027 op operand #0 must be Integer or Float, but got \u0027complex\u003cf32\u003e\u0027\n```\n\nMLIR repro:\n\n```mlir\n// repro.mlir\nfunc.func @complex_reduction(%slot: memref\u003ccomplex\u003cf32\u003e\u003e) {\n  %c128 \u003d arith.constant 128 : index\n  %tx \u003d acc.par_width %c128 par_dim(#acc.par_dim\u003cthread_x\u003e)\n  acc.compute_region launch(%ktx \u003d %tx) ins(%s \u003d %slot) : (memref\u003ccomplex\u003cf32\u003e\u003e) {\n    %c0 \u003d arith.constant 0 : index\n    %c1 \u003d arith.constant 1 : index\n    %one \u003d arith.constant 1.0 : f32\n    %v \u003d complex.create %one, %one : complex\u003cf32\u003e\n    scf.parallel (%i) \u003d (%c0) to (%ktx) step (%c1) {\n      acc.reduction_accumulate %v to %s \u003cadd\u003e par_dims(#acc\u003cpar_dims[thread_x]\u003e) : complex\u003cf32\u003e -\u003e memref\u003ccomplex\u003cf32\u003e\u003e\n      scf.reduce\n    } {acc.par_dims \u003d #acc\u003cpar_dims[thread_x]\u003e}\n    acc.yield\n  } \u003c{origin \u003d \"acc.parallel\"}\u003e\n  return\n}\n```\n\n```\nmlir-opt repro.mlir --pass-pipeline\u003d\"builtin.module(func.func(acc-cg-to-gpu))\"\n```\n\nThis change reduces the real and imaginary parts separately and rebuilds\nthe value from the\ntwo results:\n\n```mlir\n%1 \u003d complex.re %0 : complex\u003cf32\u003e\n%2 \u003d gpu.all_reduce add %1 uniform {\n} {acc.par_dims \u003d #acc\u003cpar_dims[thread_x]\u003e} : (f32) -\u003e f32\n%3 \u003d complex.im %0 : complex\u003cf32\u003e\n%4 \u003d gpu.all_reduce add %3 uniform {\n} {acc.par_dims \u003d #acc\u003cpar_dims[thread_x]\u003e} : (f32) -\u003e f32\n%5 \u003d complex.create %2, %4 : complex\u003cf32\u003e\n```\n\nAddition is the only operator for which this rewrite is valid, since\neach\ncomponent of a sum depends only on that component of the inputs.\nMultiplication mixes the two components, and min and max have no\nordering on\ncomplex at all. The split is therefore allowed for floating-point\naddition\nalone; every other operator on a complex accumulator reports not\nimplemented\nrather than being split in a way that would silently give a wrong\nanswer.\n\nReporting not-implemented also marks the conversion as failed, so the\npass\nleaves the `acc.reduction_accumulate` in place and fails rather than\nerasing\nthe accumulate and emitting incomplete IR."
    },
    {
      "commit": "4936d85b08053eead5eb7355691f141c2c473285",
      "tree": "04be14af323d9fea3a9d22b221c5e35949f7f06f",
      "parents": [
        "8b6ed364fc5e4ba9967701698a05de1002c961a1"
      ],
      "author": {
        "name": "Ville-Markus Yli-Suutala",
        "email": "ville-markus.yli-suutala@helsinki.fi",
        "time": "Wed Oct 21 19:20:38 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:20:38 2026"
      },
      "message": "[openmp][mlir] Expand use of atomicrmw for atomic update (#215654)\n\nUse atomicrmw for more OpenMP atomic updates and captures, avoiding cmpxchg loops where possible.\n\nThis covers fadd, fsub, fmax, fmin, fmaximum, fminimum and xchg for single and double precision floating-point values, plus signed and unsigned integer min/max."
    },
    {
      "commit": "8b6ed364fc5e4ba9967701698a05de1002c961a1",
      "tree": "c20bdd9483250c6200dc9c7249f0cb15c561e2d8",
      "parents": [
        "1761e2c1a9fe88605f151b5f40a3f095e1e18445"
      ],
      "author": {
        "name": "Jonathan Zakharov",
        "email": "jzakharov@nvidia.com",
        "time": "Wed Oct 21 19:06:53 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:06:53 2026"
      },
      "message": "[HLSL] Implement SV_ShadingRate (#233629)\n\nFixes https://github.com/llvm/llvm-project/issues/212567\n\n@dnovillo @inbelic \n\nAssisted-by LLM"
    },
    {
      "commit": "1761e2c1a9fe88605f151b5f40a3f095e1e18445",
      "tree": "7181ce4e597dda02c0bd4018925ec9f4354fcda7",
      "parents": [
        "3743f56d187182e0dc5a6c4eb373dd9d3e7251a6"
      ],
      "author": {
        "name": "Teresa Johnson",
        "email": "tejohnson@google.com",
        "time": "Wed Oct 21 19:05:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 19:05:32 2026"
      },
      "message": "[ThinLTO] Record whether call edges come from indirect calls in the summary (#233924)\n\nAdd a `HasIndirectCall` flag to the summary call edge (`CalleeInfo`),\nset by the summary analysis when recording indirect call edges (from\nindirect call value profile targets, or from `!callees` metadata on\nindirect calls that could not be promoted/devirtualized to direct\ncalls). If a function calls the same callee both directly and\nindirectly, the merged edge is marked indirect.\n\nThis will be used by a follow-up MemProf ThinLTO change to distinguish\nindirect call edges (which require importing the target at least as a\ndeclaration for indirect call promotion in the backend when assigned to\na cloned cross-module callee) from direct call edges (where the backend\nalready has or can directly update the declaration).\n\nThe flag uses a previously unused bit of the existing `CalleeInfo`\nbitfield (no in-memory size change), and is encoded as bit 4 of the\nexisting per-call-edge hotness/tail call flags operand in the per-module\nand combined summaries. The encoded flags value is at most 31, which\nstill fits in a single chunk of both the VBR8 abbreviation array element\nand the VBR6 unabbreviated encoding, so the bitcode size is unchanged.\nOlder readers ignore the bit, and older bitcode is read as not indirect,\nso no summary version bump is needed. The flag is printed and parsed as\n`indirect: 1` in the textual summary (only emitted when set, like\n`tail: 1`).\n\nAssisted-by: Gemini"
    },
    {
      "commit": "3743f56d187182e0dc5a6c4eb373dd9d3e7251a6",
      "tree": "d5c96039813bfbbd53b66002f6dd7c8dc2a585f7",
      "parents": [
        "e6602770fcd6d8d12be1f2e7df082a0fdfc4d1bf"
      ],
      "author": {
        "name": "r4nt",
        "email": "klimek@google.com",
        "time": "Wed Oct 21 18:59:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:59:11 2026"
      },
      "message": "[clang-format] Fix macro expansion crashes and raw string indentation (#233758)\n\nFix three issues with clang-format\u0027s macro expansion\n(FormatStyle::Macros):\n\n1. Guard MatchingOpeningBlockLineIndex / MatchingClosingBlockLineIndex\nduring macro expansion: When a macro expands to a multi-line block (such\nas DECL_STRUCT(Name)\u003dstruct Name {}),\nUnwrappedLineParser::addUnwrappedLine pushes the expanded lines into\nCurrentExpandedLines rather than CurrentLines. However, parseBlock() and\nparseEnum() still computed OpeningLineIndex from CurrentLines-\u003esize() -\n1, recording an unrelated or out-of-bounds line index in\nMatchingOpeningBlockLineIndex and MatchingClosingBlockLineIndex and\ncrashing DefinitionBlockSeparator / NamespaceEndCommentsFixer. Only\nrecord block line indices when CurrentExpandedLines is empty and the\nclosing line is not part of a macro expansion.\n\n2. Annotate and analyze each run immediately in\nTokenAnalyzer::finishRun(): FormatToken objects in AllTokens are shared\nacross preprocessor branch runs in UnwrappedLineParser::parse(), and\nUnwrappedLineParser::reset() resets Token-\u003eMacroCtx at the start of each\nbranch. Previously, TokenAnalyzer stored a nested vector of runs\n(SmallVector\u003cSmallVector\u003cUnwrappedLine, 16\u003e, 2\u003e UnwrappedLines),\nappending a new inner vector on each finishRun() while Parser.parse()\nparsed all #if / #else branches, and only iterated over UnwrappedLines\nto annotate and analyze after Parser.parse() returned. Because later #if\n/ #else branches reset Token-\u003eMacroCtx and mutated shared FormatTokens\nduring parsing, earlier runs had their token state clobbered before they\nwere ever annotated or analyzed. Instead, keep only the current run\u0027s\nlines in a flat SmallVector\u003cUnwrappedLine, 16\u003e UnwrappedLines, invoke\nOnFinishRun() inside finishRun() to annotate and analyze the current run\nimmediately before the parser moves to the next run/branch, and then\nclear UnwrappedLines.\n\n3. Indent multi-line raw string literals in unexpanded macro arguments:\nWhen a multi-line raw string literal (e.g. R\"pb(...)pb\") is passed as a\nmacro argument, ContinuationIndenter::handleEndOfLine previously\nreformatted the raw string literal during the expanded pass\n(MR_ExpandedArg) using the expanded statement\u0027s indentation, and\nUnwrappedLineFormatter did not update ParenState::NestedBlockIndent\nafter formatting a MacroParent\u0027s children in the unexpanded pass. Skip\nreformatRawStringLiteral when Role \u003d\u003d MR_ExpandedArg and update\nNestedBlockIndent after formatting MacroParent children.\n\nFixes #78263\nFixes #233300"
    },
    {
      "commit": "e6602770fcd6d8d12be1f2e7df082a0fdfc4d1bf",
      "tree": "73aa8014cc316168e3f62de288057b17cbcacf6e",
      "parents": [
        "72dbb93f2a13485b077ae367a16f1907c2214091"
      ],
      "author": {
        "name": "r4nt",
        "email": "klimek@google.com",
        "time": "Wed Oct 21 18:55:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:55:34 2026"
      },
      "message": "[clang-format] Defer line merging to the unexpanded pass (#233944)\n\nDefer line merging to the unexpanded pass when expanding macros.\n\nWhen Configured Macro Expansion (Style.Macros) is used, clang-format\nruns two formatting passes: Run 0 formats the macro-expanded\nUnwrappedLines (and finalizes all non-macro-expanded lines and macro\nargument tokens), and Run 1 formats the reconstructed unexpanded\nUnwrappedLines.\n\nPreviously, LineJoiner ran in both Run 0 and Run 1, and Run 0 finalized\nthe first token of every top-level UnwrappedLine. This caused several\nbugs:\n1. If a macro expanded to multiple UnwrappedLines whose first line could\nmerge with a preceding header in Run 0 (e.g. `void f() {\nIF_ERROR_RETURN(x); }` where `IF_ERROR_RETURN(x)` expands to `if (x)\\n\nreturn x;` with `AllowShortIfStatementsOnASingleLine: Never` and\n`AllowShortFunctionsOnASingleLine: All`, or `FN\u003dclass C { int f` in\n`void f() { FN(a *b); }; }`), Run 0 merged the first expanded line onto\n`void f() {` and finalized the macro token\u0027s whitespace, while leaving\n`}` on a subsequent line.\n2. Conversely, if a macro call\u0027s expanded line was longer than the\nunexpanded macro call (preventing a merge in Run 0), finalizing the\nfirst token of each top-level line in Run 0 prevented LineJoiner in Run\n1 from merging lines that fit on a single line in the unexpanded code\n(or conversely, Run 0 merged lines whose unexpanded macro call exceeded\nthe column limit in Run 1).\n3. In MacroCallReconstructor::finalize(), multi-line object-like macros\nwhere subsequent expanded lines contained only hidden macro tokens (e.g.\n`STMTS\u003df(); g();`) produced empty child ReconstructedLines, crashing on\n`Last-\u003eChildren.back()-\u003eTokens.back()` when `Tokens` was empty.\n\nFix this by:\n- Skipping line merging (`LineJoiner`) and not finalizing the first\ntoken of top-level UnwrappedLines during Run 0 (`InMacroExpansion`),\nwhile still transitioning `MR_ExpandedArg` to `MR_UnexpandedArg` if the\nfirst token is a macro argument.\n- Running `LineJoiner` in Run 1 using the unexpanded token lengths, and\ndisallowing merges across lines that contain multi-line macro expansions\nor internal line breaks from Run 0.\n- Skipping empty child lines in `MacroCallReconstructor::finalize()`\nafter marking `Last-\u003eTok-\u003eMacroParent \u003d true`, and marking\n`Reconstructed`\u0027s last token as `MacroParent` whenever a macro call\nexpands to multiple `UnwrappedLine`s."
    },
    {
      "commit": "72dbb93f2a13485b077ae367a16f1907c2214091",
      "tree": "4dced8fc337a9af45f9aaf667a75ef2cb6b6098b",
      "parents": [
        "107253eb689f9b2ad7567f86d965f292b712d57d"
      ],
      "author": {
        "name": "Morris Hafner",
        "email": "mmha@users.noreply.github.com",
        "time": "Wed Oct 21 18:55:11 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:55:11 2026"
      },
      "message": "[CIR][OpenMP] Specify x86 host triple in target-parallel test (#234314)\n\nThe host RUN line inherits the compiler default triple even though the\nchecks describe an x86 host with an AMDGPU offload target. Clang rejects\nthe incompatible host and device pointer sizes on platforms like ARM32.\n\nAssisted-by: Codex"
    },
    {
      "commit": "107253eb689f9b2ad7567f86d965f292b712d57d",
      "tree": "84ba559534dafe9aa258507a6563aec5b4669571",
      "parents": [
        "a171e0d7dfca389be0f319fea7c8e66e86ac4be3"
      ],
      "author": {
        "name": "Björn Schäpers",
        "email": "bjoern@hazardy.de",
        "time": "Wed Oct 21 18:53:41 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:53:41 2026"
      },
      "message": "[clang-format] Fix UseBreakAfter with casts (#233556)\n\nFirst check for a new argument, before skipping an inner scope.\n\nFixes #229473"
    },
    {
      "commit": "a171e0d7dfca389be0f319fea7c8e66e86ac4be3",
      "tree": "68a814967e350d3c75e0580fef20d347a1ce22fa",
      "parents": [
        "fc9215428138c4d9238486c2bdbea192b6107b65"
      ],
      "author": {
        "name": "Akimasa Watanuki",
        "email": "mencotton0410@gmail.com",
        "time": "Wed Oct 21 18:52:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:52:50 2026"
      },
      "message": "[CIR] Reject language address spaces in DirectToLLVM pointer conversion (#224239)\n\nReject unlowered language address spaces in pointer types when bypassing\nTargetLowering. Guard pointer-producing lowerings, including generated\npatterns, so failed conversions report legalization failures instead of\nsilently selecting address space zero or constructing invalid LLVM\noperations.\n\nAssisted-by: Codex / GPT-6"
    },
    {
      "commit": "fc9215428138c4d9238486c2bdbea192b6107b65",
      "tree": "3fa9ba6841ec00c71dd06b3e2b13021e5a3afee2",
      "parents": [
        "fe11ede0a988097e3b8b76e2793dd010eb2e6046"
      ],
      "author": {
        "name": "Yeoul Na",
        "email": "yeoul_na@apple.com",
        "time": "Wed Oct 21 18:45:46 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:45:46 2026"
      },
      "message": "[BoundsSafety][NFC] Build an incomplete CountAttributedType for a late-parsed attribute (#224558)\n\nThis is part of supporting late parsing of counted_by as a type\nattribute, following the direction set in\nhttps://github.com/llvm/llvm-project/pull/223267, which allows a\nCountAttributedType\u0027s count to be filled in later.\n\nAdd Sema::ProcessLateParsedTypeAttr. It validates a late-parsed\ncounted_by-family attribute in type position and wraps the type in a\nCountAttributedType whose count is filled in once the enclosing record\nis complete.\n    \nLateParsedTypeAttribute is owned by the Parser, which Sema cannot depend\non. Sema therefore reads the attribute\u0027s kind, location and type slot\nthrough a callback.\n    \nNo functional change: nothing creates late-parsed type attributes yet,\nso ProcessLateParsedTypeAttr is never invoked. The next commit wires it\nup.\n    \nAssisted-by: Opus 5.5"
    },
    {
      "commit": "fe11ede0a988097e3b8b76e2793dd010eb2e6046",
      "tree": "ed8c87c7bd5f8095463f28b12c705aec3c4a76ff",
      "parents": [
        "cd24eb2681a510a46f18bc0583c291c26069a724"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Oct 21 18:45:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:45:31 2026"
      },
      "message": "[LegacyPM] Remove addPostFastRegAllocRewrite hook (#234298)\n\nThe NewPM doesn\u0027t use this given it\u0027s only on x86 and easy to implement\nwith existing hooks. Match the NewPM for consistency."
    },
    {
      "commit": "cd24eb2681a510a46f18bc0583c291c26069a724",
      "tree": "35b7d9001dbef4f2c27913e90fa7374084c4b17b",
      "parents": [
        "806b039756f7e60b27a70fa23e4ac86f85458d88"
      ],
      "author": {
        "name": "Alexey Bataev",
        "email": "a.bataev@outlook.com",
        "time": "Wed Oct 21 18:34:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:34:33 2026"
      },
      "message": "[SLP][NFC]Add extra tests for some missing features, NFC\n\n\n\nReviewers: \n\nPull Request: https://github.com/llvm/llvm-project/pull/234307"
    },
    {
      "commit": "806b039756f7e60b27a70fa23e4ac86f85458d88",
      "tree": "532db04c3769d362a94e856e00959466124879f8",
      "parents": [
        "c8145b12498e6d34d11a69da289e92edc26462a8"
      ],
      "author": {
        "name": "Sunil Shrestha",
        "email": "sunil.shrestha@hpe.com",
        "time": "Wed Oct 21 18:34:20 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:34:20 2026"
      },
      "message": "[flang][OpenMP] Handle sections in target clause extraction (#232084)\n\nParallel sections nested in target left beginClauseList null and tripped\nan assertion. Add OpenMPSectionsConstruct to the handled constructs.\n\nFixes #227190\n\nAssisted-by: Copilot"
    },
    {
      "commit": "c8145b12498e6d34d11a69da289e92edc26462a8",
      "tree": "bd09a93d515c6af3c107ca03e61485c1829cf039",
      "parents": [
        "25b8a82d1b70dbb41b0025011b23d4aacd22bdaa"
      ],
      "author": {
        "name": "Aman Maurya",
        "email": "amanmaurya9209@gmail.com",
        "time": "Wed Oct 21 18:26:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:26:47 2026"
      },
      "message": "[libc] Implement execvpe in unistd (#234071)\n\nImplement `execvpe` in `\u003cunistd.h\u003e` and share the common PATH resolution\nand execution loop with `execvp`.\n\nFixes #234065.\n\nLike `execvp`, `execvpe` duplicates the actions of the shell in\nsearching for an executable file if the specified filename does not\ncontain a slash (`/`), resolving against the directories in the caller\u0027s\n`PATH`. Unlike `execvp`, `execvpe` allows passing an explicit custom\nenvironment (`envp`) to the executed process image rather than using the\nglobal `environ`.\n\nPer POSIX.1-2024 and Linux specifications, `execvpe` searches for the\nprogram using the value of `PATH` from the caller\u0027s environment, not\nfrom the `envp` argument.\n\nChanges:\n- Add `exec_utils.h` containing common `internal::execvpe` logic, and\nrefactor both `execvp` and `execvpe` to use it.\n- Add `execvpe.h` and `linux/execvpe.cpp` entrypoint.\n- Register `execvpe` in `unistd.yaml` under GNU standards and in docgen.\n- Add entrypoints for x86_64, aarch64, and riscv.\n- Add integration tests under\n`libc/test/integration/src/unistd/execvpe_test.cpp`."
    },
    {
      "commit": "25b8a82d1b70dbb41b0025011b23d4aacd22bdaa",
      "tree": "2bae4b8f41a1359403c42aeb003800ec7b252bec",
      "parents": [
        "eceefd2abfa59dd93929909445f4b59c5c0f0f44"
      ],
      "author": {
        "name": "Erich Keane",
        "email": "ekeane@nvidia.com",
        "time": "Wed Oct 21 18:17:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:17:21 2026"
      },
      "message": "[CIR] Fix a handful of hwasan issues/sanitizer found issues in CIR (#234294)\n\nThe hwasan bot found quite some issues with how we were managing\ncontexts/memory throughout.\n\nFirst, CIRAction doesn\u0027t need an MLIRContext at all, and was never being\npassed one, so it would always construct one, then never erase it.\n\nSecond in CIRGenModule, the module is non-owning, so we need to make\nsure we erase it at the end of the module.\n\nThird, when generating the global view for a vptr, we were creating an\noperation with the intent of \u0027stealing\u0027 from it, but never ended up\nadding it anywhere, so it would be lost.\n\nForth, we had a few uses of getAddrOfGlobalVar that were causing an\nextra getglobalop when they really just needed the global itself. That\ncaused those to never be emitted right either.\n\nFinally, an issue in PointerLikeTest caused us to leak a ConstantOp, wh\nich this patch properly wraps in the OwningOpRef."
    },
    {
      "commit": "eceefd2abfa59dd93929909445f4b59c5c0f0f44",
      "tree": "5e344c6294c6945971b5b0bc0e0f2012b65709e5",
      "parents": [
        "d9cd4cfb1daf00a87f20c6ee6d3f27a9f823ae2a"
      ],
      "author": {
        "name": "Miłosz",
        "email": "milosz.skobejko@intel.com",
        "time": "Wed Oct 21 18:15:31 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:15:31 2026"
      },
      "message": "[CloneFunction] Keep fast-math flags on constrained intrinsic calls (#231860)\n\nPruningFunctionCloner converts FP operations to constrained intrinsics\nwhen the host function is strictfp, but drops their fast-math flags in\ncloneInstruction().\n\nCopy them to the new call."
    },
    {
      "commit": "d9cd4cfb1daf00a87f20c6ee6d3f27a9f823ae2a",
      "tree": "4b91cf2dcf0e24754731fe494c4086f67f51f086",
      "parents": [
        "34aa7b2c82c086ccd7ce0f65116ce49a7c1a763a"
      ],
      "author": {
        "name": "Akimasa Watanuki",
        "email": "mencotton0410@gmail.com",
        "time": "Wed Oct 21 18:04:03 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:04:03 2026"
      },
      "message": "[CIR] Propagate initializer type adjustment failures (#224238)\n\nReject initializers whose active members have no LLVM representation,\nincluding when an enclosing union\u0027s storage type is convertible.\nPropagate recursive adjustment failures before querying data layout or\nconstructing LLVM operations.\n\nAssisted-by: Codex / GPT-6"
    },
    {
      "commit": "34aa7b2c82c086ccd7ce0f65116ce49a7c1a763a",
      "tree": "4e61c1b24f98cce14ca0f4a7e2f3d00f6a0c91ac",
      "parents": [
        "e5cf80474ba82648872e8c5d976cac62b31e1122"
      ],
      "author": {
        "name": "Yongqiang Tian",
        "email": "yqtian668@gmail.com",
        "time": "Wed Oct 21 18:00:50 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:00:50 2026"
      },
      "message": "[BasicBlockSections] Ignore debug-only blocks in landing-pad checks (#219749)\n\nFixes #219671.\n\n`avoidZeroOffsetLandingPad()` used raw `MachineBasicBlock::empty()`, so\na\ndebug-only instruction made an otherwise code-empty block count as the\nfirst\nnon-empty block in a section. This changed `CurrentSection` before the\nlanding\npad was visited and suppressed the NOP required to prevent a zero-offset\nlanding pad.\n\nUse `getFirstNonDebugInstr()` when determining whether a block\ncontributes\ncode. Its default behavior also ignores pseudo probes, which do not emit\nbytes\ninto the function\u0027s text section.\n\nThe regression test uses a version-1 basic-block cluster profile and\nverifies\nthat a debug-only predecessor does not suppress the `NOOP` immediately\nbefore\nthe EH label.\n\nAI assistance disclosure: OpenAI Codex 5.6 Sol assisted with\nimplementation\nand testing. Claude was used for an additional private review. Yongqiang\nTian\nreviewed the complete patch and is responsible for the contribution.\n\nCo-authored-by: Rahman Lavaee \u003crahmanl@google.com\u003e"
    },
    {
      "commit": "e5cf80474ba82648872e8c5d976cac62b31e1122",
      "tree": "3000aead358c7deb13dd95c85bfbee07bf61d481",
      "parents": [
        "9d2c2cdec5f1c96951c37e4afcf775086e3645aa"
      ],
      "author": {
        "name": "Brad Smith",
        "email": "brad@comstyle.com",
        "time": "Wed Oct 21 18:00:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 18:00:27 2026"
      },
      "message": "[AMDGPU] Use canonical syntax for inline asm in CodeGen tests (#234279)\n\nWrite the inline asm in these tests the way the assembler prints it:\nwith the encoding suffix (v_mov_b32 -\u003e v_mov_b32_e32, v_mov_b16 -\u003e\nv_mov_b16_e32, v_cvt_f32_f64 -\u003e v_cvt_f32_f64_e32, v_cmpx_le_u32 -\u003e\nv_cmpx_le_u32_e64, v_cmp_gt_i32 -\u003e v_cmp_gt_i32_e64), the real name\ninstead of an alias (v_accvgpr_write -\u003e v_accvgpr_write_b32), commas\nbetween all operands, and hex for 100. The encodings are unchanged.\n\nllc currently copies inline asm into textual output as written, but\nwith the integrated assembler it is parsed and printed in canonical\nform. Writing it canonically keeps these checks the same either way.\n\nAlso replace v_add_i32_e32 in inline-asm.ll, which does not exist on\nthe gfx802 RUN line, with v_add_f32_e32, and check that llc\u0027s output\nfor inline-asm.ll assembles with llvm-mc.\n\nCo-authored-by: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "9d2c2cdec5f1c96951c37e4afcf775086e3645aa",
      "tree": "70556ccbc470fd65e0a1d3d192af91eb2cb1550e",
      "parents": [
        "8cd22998123a3103cc352140124afeaaff9e1c2b"
      ],
      "author": {
        "name": "Akshay Deodhar",
        "email": "adeodhar@nvidia.com",
        "time": "Wed Oct 21 17:55:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 17:55:36 2026"
      },
      "message": "[NVPTX] Add Custom ABI (abi_preserve) support via function attributes (#227499)\n\nAdds support for the abi_preserve and abi_preserve_control performance\ntuning directives, which specify how many general purpose and control\nregisters the callers of a function are responsible for preserving.\n\nThese are modeled as function and callsite attributes:\n\n  \"nvvm.abi_preserve\"\u003d\"8\"\n  \"nvvm.abi_preserve_control\"\u003d\"3\"\n\nOn a function they describe that function\u0027s contract and are emitted on\nits definition and declaration. On a callsite they are appended to the\ngenerated .callprototype, which is how an indirect call -- having no\ncallee to consult -- states the contract. The attributes are looked up\non the callsite only, never inherited from the callee.\n\nPTX ISA documentation:\nhttps://docs.nvidia.com/cuda/parallel-thread-execution/index.html#performance-tuning-directives-abi-preserve,\nhttps://docs.nvidia.com/cuda/parallel-thread-execution/index.html#performance-tuning-directives-abi-preserve-control\n\nSome use of claude, for moving code around, and finding precedent for\nverifier checks. PR description handwritten, I completely understand the\nchange.\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "8cd22998123a3103cc352140124afeaaff9e1c2b",
      "tree": "82d984ce705154b414a4caa62a880216605a0c35",
      "parents": [
        "a26c5c670d92a7a3cac96542200a07daf789c7ad"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Wed Oct 21 17:54:34 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 17:54:34 2026"
      },
      "message": "DeadMIElim: Require SSA (#234199)\n\nRequire SSA for DeadMachineInstructionElim. This is only used in the\nSSA pipeline. The only test using a non-SSA run is apparently testing\nLiveIntervals preservation, which it does not use or preserve."
    },
    {
      "commit": "a26c5c670d92a7a3cac96542200a07daf789c7ad",
      "tree": "a73129abd630d8803df8bf1c00ad9d333950a7d7",
      "parents": [
        "cd1cdcfbb138f2e50654d2ed8e8de8fbe01d317b"
      ],
      "author": {
        "name": "Ebuka Ezike",
        "email": "e_ezike@apple.com",
        "time": "Wed Oct 21 17:49:12 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 17:49:12 2026"
      },
      "message": "[lldb-dap] Remove old test infrastructure (#233950)"
    },
    {
      "commit": "cd1cdcfbb138f2e50654d2ed8e8de8fbe01d317b",
      "tree": "70e606a10ab7ea8c4ab6bd709712d4197abbde7f",
      "parents": [
        "09e8a04dca0cebe2de2d99d3e7336db5e64c3290"
      ],
      "author": {
        "name": "Aiden Grossman",
        "email": "aidengrossman@google.com",
        "time": "Wed Oct 21 17:46:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 17:46:13 2026"
      },
      "message": "[X86] Finish AMX-RegAlloc Related Pipeline Overrides\n\nThe modification points are now available so finish up this part of the\npipeline, just matching the behavior from the X86 TargetPassConfig for\nthe LegacyPM.\n\nReviewers: arsenm, aeubanks\n\nPull Request: https://github.com/llvm/llvm-project/pull/234079"
    },
    {
      "commit": "09e8a04dca0cebe2de2d99d3e7336db5e64c3290",
      "tree": "f4ac2a8a3ac23f4a9dc3d6f7a53754d074f7c0ce",
      "parents": [
        "0e42735b0df2071a34bdee283ec2387c3c7262c3"
      ],
      "author": {
        "name": "David Li",
        "email": "davidxl@google.com",
        "time": "Wed Oct 21 17:30:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 17:30:37 2026"
      },
      "message": "[MemProf] Fix off-by-one in the function clone numbers of UnassignedC… (#234032)\n\nThe loop recording the calls in function clones which did not get their\nown clone of a callsite node (UnassignedCallClones) incremented the\nclone number before checking it, recording the calls of function clone k\nunder clone number k+1. A function clone was therefore skipped whenever\nk+1 was the clone number of a clone of the callsite node, leaving its\ncall to the original callee instead of following the original node\u0027s\ncallee assignment, and the calls of a function clone which did have its\nown clone of the node could be recorded (under the next number) and\nlater redirected to the original node\u0027s callee. Use the clone number of\nthe function clone being examined.\n\nThe new test has a function F with two clones, where F.memprof.1 has no\nclone of the F-\u003eG callsite node while F.memprof.2 does (clone number 2):\nF.memprof.1\u0027s call to G was skipped and kept calling the original G\nrather than the cold clone the original node is assigned to."
    },
    {
      "commit": "0e42735b0df2071a34bdee283ec2387c3c7262c3",
      "tree": "0325c2d3b6ccfdaa96eaa220ec0477346ac608a1",
      "parents": [
        "d87f107e1365135804615a3c516488d3bfe29a61"
      ],
      "author": {
        "name": "Matt Arsenault",
        "email": "Matthew.Arsenault@amd.com",
        "time": "Wed Oct 21 17:24:40 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 17:24:40 2026"
      },
      "message": "CodeGen: Remove LiveVariables references from LiveIntervals (#234267)"
    }
  ],
  "next": "d87f107e1365135804615a3c516488d3bfe29a61"
}
