[all-commits] [llvm/llvm-project] b5c41b: [CIR] Add CIRGen support for static local variable...

Peter Collingbourne via All-commits all-commits at lists.llvm.org
Fri Feb 13 14:16:30 PST 2026


  Branch: refs/heads/users/pcc/spr/lowertypetests-remove-the-optimization-for-llvmcondloop
  Home:   https://github.com/llvm/llvm-project
  Commit: b5c41b4bdef7faaaf49125b41fdee0116824e73a
      https://github.com/llvm/llvm-project/commit/b5c41b4bdef7faaaf49125b41fdee0116824e73a
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    A clang/test/CIR/CodeGen/static-local.cpp

  Log Message:
  -----------
  [CIR] Add CIRGen support for static local variables with non-constant initializers (#179827)

This adds CIRGen infrastructure for C++ function-local static variables
that require guarded initialization (Itanium C++ ABI).

Changes:
- Add ASTVarDeclAttr to carry VarDecl AST through the pipeline
- Add emitGuardedInit() to CIRGenCXXABI for guarded initialization
- Add emitCXXGuardedInit() to CIRGenFunction
- Replace NYI in addInitializerToStaticVarDecl() with ctor region emission
- Set static_local attribute on GlobalOp and GetGlobalOp

This doesn't unwrap the high level constructs just yet - The global's ctor region contains the initialization code, which will be lowered by LoweringPrepare to emit the actual guard variable pattern with __cxa_guard_acquire/__cxa_guard_release calls.


  Commit: 685507d9beefce91a59591795a54bf92b66c8de7
      https://github.com/llvm/llvm-project/commit/685507d9beefce91a59591795a54bf92b66c8de7
  Author: Andrew Lazarev <alazarev at google.com>
  Date:   2026-02-12 (Thu, 12 Feb 2026)

  Changed paths:
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/RelocScan.h
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  Revert "[ELF] Add target-specific relocation scanning for x86" (#181274)

Reverts llvm/llvm-project#178846

Brakes buildbot:
https://lab.llvm.org/buildbot/#/builders/25/builds/15566


  Commit: 792ac8e94cdb1d8685d52cced32fcd513c0aec57
      https://github.com/llvm/llvm-project/commit/792ac8e94cdb1d8685d52cced32fcd513c0aec57
  Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/cuf17.cuf

  Log Message:
  -----------
  [flang][cuda] Resolve generic tie‑breaks using per‑arg CUDA distance (#181038)

Switch CUDA generic resolution to compare per‑argument CUDA matching
distances lexicographically instead of summing them. This prevents
ambiguous matches when different specifics yield the same total
distance.


  Commit: e777fe2a6fdd5d59f23eebeddedf29925fdc8952
      https://github.com/llvm/llvm-project/commit/e777fe2a6fdd5d59f23eebeddedf29925fdc8952
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpFrame.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Add InterpFrame::getName() (#181158)


  Commit: 24fbf9deb002ef0f0f35527bbafb8e84ef6dc148
      https://github.com/llvm/llvm-project/commit/24fbf9deb002ef0f0f35527bbafb8e84ef6dc148
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/MemberPointer.cpp
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/test/AST/ByteCode/memberpointers.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp

  Log Message:
  -----------
  [clang][bytecode] Add a path to MemberPointers (#179050)

Add a path and an `IsDerivedMember` member to our `MemberPointer` class.
Fix base-to-derived/derived-to-base casts. Add tests and unit tests,
since regular tests allow a lot and we want to check the path size
exactly.


  Commit: da9c513c87b2fbd32e32e4122dec9ce437f0b9b6
      https://github.com/llvm/llvm-project/commit/da9c513c87b2fbd32e32e4122dec9ce437f0b9b6
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
    M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/IR/invalid-static-local.cir
    M clang/test/CIR/IR/static-local.cir

  Log Message:
  -----------
  [CIR][LoweringPrepare] Emit guard variables for static local initialization (#179828)

This implements the lowering of static local variables with the Itanium C++ ABI
guard variable pattern in LoweringPrepare. This is initial support, errorNYI covering all that hasn't been added just yet.

When a GlobalOp has the static_local attribute and a ctor region, this pass:
1. Creates a guard variable global (mangled name from AST)
2. Inserts the guard check pattern at each GetGlobalOp use site:
   - Load guard byte with acquire ordering
   - If zero, call __cxa_guard_acquire
   - If acquire returns non-zero, inline the ctor region code
   - Call __cxa_guard_release
3. Clears the static_local attribute and ctor region from the GlobalOp

Once the new design doc lands I'll add more information over there.


  Commit: 48566b21a48573e0b2dcc67936ea8fdb7c40974a
      https://github.com/llvm/llvm-project/commit/48566b21a48573e0b2dcc67936ea8fdb7c40974a
  Author: Tuomas Kärnä <tuomas.karna at intel.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/TransformOps/XeGPUTransformOps.td
    M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
    M mlir/python/mlir/dialects/transform/xegpu.py
    M mlir/test/Dialect/XeGPU/transform-ops-invalid.mlir
    M mlir/test/Dialect/XeGPU/transform-ops.mlir
    M mlir/test/python/dialects/transform_xegpu_ext.py

  Log Message:
  -----------
  [MLIR][XeGPU][TransformOps] set_op_layout_attr supports setting anchor layout (#172542)

Changes `transform.xegpu.set_op_layout_attr` to support xegpu anchor
layouts. By default, if `result` and `operand` bool arguments are unset,
this transform op sets the op's anchor layout, if the op supports it
(otherwise emits a silenceable failure).

In contrast to the earlier implementation, setting the operand layout
now requires setting the new `operand` argument.


  Commit: a89e766ca63d61874138dd84b0e2eaf1f9d73d51
      https://github.com/llvm/llvm-project/commit/a89e766ca63d61874138dd84b0e2eaf1f9d73d51
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    A llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll

  Log Message:
  -----------
  [IndVarSimplify] Add safety check for getTruncateExpr in genLoopLimit (#181296)

getTruncateExpr may not always return a SCEVAddRecExpr when truncating
loop bounds. Add a check to verify the result type before casting, and
bail out of the transformation if the cast would be invalid.

This prevents potential crashes from invalid casts when dealing with
complex loop bounds.

Co-authored by Michael Rowan

Resolves
[https://github.com/llvm/llvm-project/issues/153090](https://github.com/llvm/llvm-project/issues/153090)


  Commit: a809d6409f7a4785d0301bddea8a1ce6713c6179
      https://github.com/llvm/llvm-project/commit/a809d6409f7a4785d0301bddea8a1ce6713c6179
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-02-12 (Thu, 12 Feb 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td

  Log Message:
  -----------
  [RISCV] Remove RISCVISD::WMACC*. Match during isel. NFC (#181197)

I think we may want to be able to fold ADDD nodes independent of the MUL
in some cases. For example turning NSRAI into NSRARI.

If we fold ADDD into WMACC we would need to be able to extract it again.
Keep the nodes separate avoids this.

Code change was assisted by AI.


  Commit: 4b887533389c78e3e678b3af85d1dc8e3bf59e83
      https://github.com/llvm/llvm-project/commit/4b887533389c78e3e678b3af85d1dc8e3bf59e83
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-02-12 (Thu, 12 Feb 2026)

  Changed paths:
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/RelocScan.h
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  [ELF] Add target-specific relocation scanning for x86 (#178846)

Implement scanSection/scanSectionImpl for i386 and x86-64 to

* enable devirtualization of getRelExpr calls
* eliminate abstraction overhead for PLT-to-PCRel optimization, TLS
relocations
* optimize for R_X86_64_PC32 and R_X86_64_PLT32: they consist of 95%
  relocations in `lld/ELF/**/*.o` files.
* enable future optimization to remove `loc` from `getRelExpr` (only
  used by X86.cpp `R_386_GOT32[X]`)

at the cost of more boilerplate.

TLS relocation handling is inlined into scanSectionImpl. Also,

- Remove getTlsGdRelaxSkip
- Replace TLS-optimization-specific expressions:
- R_RELAX_TLS_GD_TO_LE, R_RELAX_TLS_LD_TO_LE, R_RELAX_TLS_IE_TO_LE →
R_TPREL
  - R_RELAX_TLS_GD_TO_IE → R_GOT_PC

This follows the pattern established for MIPS and PPC64 in `#163138`.

getRelExpr is simplified to only handle relocations needed for
relocateNonAlloc and relocateEH.

Average "Scan relocations" time (measured by --time-trace) decreases
from 110078 to 101585.

(
```
ruby -rjson -e 't=[]; 50.times { system("numactl -C 0-7 /t/lld1 -flavor gnu --threads=8 @response.txt -o a.out --time-trace"); t << JSON.parse(File.read("a.out.time-trace"))["traceEvents"].find { |e| e["name"] == "Scan relocations" }["dur"] }; puts "Average: #{t.sum / t.size}"'
```
)


  Commit: 5ab9cbe41b7fd8367ebd8f29ad11b6fe4fe2b579
      https://github.com/llvm/llvm-project/commit/5ab9cbe41b7fd8367ebd8f29ad11b6fe4fe2b579
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    A llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
    A llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-round.ll

  Log Message:
  -----------
  [ARM] Precommit tests: strictfp rounding vector intrinsics (#180479)


  Commit: 655b6fbd5c3431fecff5055614686b0b3f141456
      https://github.com/llvm/llvm-project/commit/655b6fbd5c3431fecff5055614686b0b3f141456
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-02-12 (Thu, 12 Feb 2026)

  Changed paths:
    M lldb/include/lldb/API/SBProcessInfoList.h
    M lldb/include/lldb/Breakpoint/StoppointHitCounter.h
    M lldb/include/lldb/Core/AddressRangeListImpl.h
    M lldb/include/lldb/Core/DebuggerEvents.h
    M lldb/include/lldb/Core/Declaration.h
    M lldb/include/lldb/Core/SourceLocationSpec.h
    M lldb/include/lldb/Host/common/DiagnosticsRendering.h
    M lldb/include/lldb/Host/common/ZipFileResolver.h
    M lldb/include/lldb/Host/posix/Support.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/include/lldb/Symbol/SymbolLocator.h
    M lldb/include/lldb/Target/RegisterTypeBuilder.h
    M lldb/include/lldb/Target/TraceCursor.h
    M lldb/include/lldb/Target/TraceDumper.h
    M lldb/include/lldb/Target/TraceExporter.h
    M lldb/include/lldb/Utility/AppleUuidCompatibility.h
    M lldb/include/lldb/Utility/ErrorMessages.h
    M lldb/include/lldb/Utility/FileSpecList.h
    M lldb/include/lldb/Utility/ScriptedMetadata.h
    M lldb/include/lldb/Utility/StreamBuffer.h
    M lldb/include/lldb/Utility/XcodeSDK.h
    M lldb/include/lldb/ValueObject/ValueObjectSynthetic.h
    M lldb/source/Commands/CommandObjectProtocolServer.h
    M lldb/source/Commands/CommandObjectRegexCommand.h
    M lldb/source/Commands/CommandObjectScripting.h
    M lldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
    M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.h
    M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.h
    M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
    M lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.h
    M lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.h
    M lldb/source/Plugins/Instruction/RISCV/RISCVCInstructions.h
    M lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
    M lldb/source/Plugins/InstrumentationRuntime/BoundsSafety/InstrumentationRuntimeBoundsSafety.h
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/VerboseTrapFrameRecognizer.h
    M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.h
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmRemoteGDBServer.h
    M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.h
    M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.h
    M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
    M lldb/source/Plugins/Protocol/MCP/Resource.h
    M lldb/source/Plugins/Protocol/MCP/Tool.h
    M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.h
    M lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
    M lldb/source/Plugins/ScriptInterpreter/Lua/SWIGLuaBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
    M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.h
    M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h
    M lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
    M lldb/source/Plugins/TraceExporter/common/TraceHTR.h
    M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
    M lldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h
    M lldb/source/Utility/WasmVirtualRegisters.h

  Log Message:
  -----------
  [lldb] Fix LLDB header guards (NFC) (#181312)

Fix LLDB header guards using clang-tidy's llvm-header-guard check. A
bunch of headers have been moved or renamed and we often forget to
update the header guard.


  Commit: da6851f9ef365a87951a4a4306705e30f5ee62a2
      https://github.com/llvm/llvm-project/commit/da6851f9ef365a87951a4a4306705e30f5ee62a2
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M lldb/source/API/SBFile.cpp

  Log Message:
  -----------
  [lldb] Fix typo: transfer_owndership -> transfer_ownership (NFC) (#181314)


  Commit: 54c080da2ccaf59f0636d2e7d6c789a634a5c47e
      https://github.com/llvm/llvm-project/commit/54c080da2ccaf59f0636d2e7d6c789a634a5c47e
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M mlir/tools/mlir-tblgen/DialectGen.cpp

  Log Message:
  -----------
  [MLIR][ODS] Make dialect attribute helper member functions const (NFC) (#181111)

This commit marks member functions of dialect attribute helpers as
constant. This ensures that these helpers can be used as members of
rewrite patterns, whose `matchAndRewrite` functions are marked as const
as well.


  Commit: 29b363ea640f7a02987e3786d26538af14428c24
      https://github.com/llvm/llvm-project/commit/29b363ea640f7a02987e3786d26538af14428c24
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/CodeGenCXX/cxx2a-consteval.cpp

  Log Message:
  -----------
  [clang][bytecode] Don't check lvalue expressions for initialization (#181309)

We're not reading from them, so they don't need to be fully initialized.


  Commit: 8d5a58ee8567df51db9c9a3d2c30c2af105ef3fd
      https://github.com/llvm/llvm-project/commit/8d5a58ee8567df51db9c9a3d2c30c2af105ef3fd
  Author: David Green <david.green at arm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll

  Log Message:
  -----------
  [AArch64] Even more fcmp+select tests. NFC

This time from known bits.


  Commit: b9f4c7887380ea52c0ce101548db584d329fdd70
      https://github.com/llvm/llvm-project/commit/b9f4c7887380ea52c0ce101548db584d329fdd70
  Author: Hugo Rambure <32395687+Nodli at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp

  Log Message:
  -----------
  [clangd] Respect ArgumentLists setting for lambdas (#181009)

Fixes https://github.com/clangd/clangd/issues/1861


  Commit: 25a56fbd15dfbd4954ae168a8ce656823d76d3f8
      https://github.com/llvm/llvm-project/commit/25a56fbd15dfbd4954ae168a8ce656823d76d3f8
  Author: Alex Wang <yesterda9 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy] Fix bugprone-bad-signal-to-kill-thread not working in clangd (#180711)

After preamble deserialization, `Token::getLiteralData()` returns
`nullptr` for macro tokens defined in headers. Fall back to
`SourceManager` to retrieve the token text from the source buffer.

Fixes https://github.com/clangd/clangd/issues/2473


  Commit: 420047c4cc90508614ff88c7e8defd7967ef9274
      https://github.com/llvm/llvm-project/commit/420047c4cc90508614ff88c7e8defd7967ef9274
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll

  Log Message:
  -----------
  [AArch64] Fix active.lane.mask(0, cttz.elts(x)) -> 'brkb' transform (#180177)

If the result type and mask don't match, the transform is not valid.


  Commit: 5629f4e9d10e5ffe65e52057a02b984012b4abf9
      https://github.com/llvm/llvm-project/commit/5629f4e9d10e5ffe65e52057a02b984012b4abf9
  Author: Christian Sigg <csigg at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port a1d7cda.


  Commit: e2cc034ba7716478b5555090a2990294e3cec479
      https://github.com/llvm/llvm-project/commit/e2cc034ba7716478b5555090a2990294e3cec479
  Author: Christian Sigg <csigg at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fix 22a3f7b.


  Commit: 25ea9206993134e1e93e840f3391aa35204a5204
      https://github.com/llvm/llvm-project/commit/25ea9206993134e1e93e840f3391aa35204a5204
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/complex.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix already initializing _Complex UO_Not (#181323)

We'd accidentally leave the subexpr pointer on the stack.


  Commit: 8f22e431476698197ddc13d3caa87e7b84254667
      https://github.com/llvm/llvm-project/commit/8f22e431476698197ddc13d3caa87e7b84254667
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/complex.c

  Log Message:
  -----------
  [clang][bytecode] Fix multi-word complex division (#181325)

Looks like I forgot about `isZero()` when writing this.


  Commit: eb30b5cf0b38828090f61f00adb4a7144ddc4231
      https://github.com/llvm/llvm-project/commit/eb30b5cf0b38828090f61f00adb4a7144ddc4231
  Author: David Green <david.green at arm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll

  Log Message:
  -----------
  [AArch64] Lower SETLE and SETLT vector CondCodes to FCMGT/FCMGE directly.

We previously checked that the compare was NoNan, but the "don't care"
condition codes can be set from known-values as well as nnan instructions.
Lower the vector condition codes directly so that they do not get scalarized
into many scalar instructions.


  Commit: 6906c5c0338b74750bba745725a1254d918620f0
      https://github.com/llvm/llvm-project/commit/6906c5c0338b74750bba745725a1254d918620f0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix __builtin_nan* for non-primitive arrays (#181326)

They might've been casted, so we need t check for it, not assert.


  Commit: ac6382425e6c9849387ae0fc4bbaa6127c458af0
      https://github.com/llvm/llvm-project/commit/ac6382425e6c9849387ae0fc4bbaa6127c458af0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/invalid.cpp

  Log Message:
  -----------
  [clang][bytecode] Check for invalid call expressions (#181327)


  Commit: ca8082f3564a3274094aa9eb4c3997142f8df2f9
      https://github.com/llvm/llvm-project/commit/ca8082f3564a3274094aa9eb4c3997142f8df2f9
  Author: hanbeom <kese111 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/and-xor-merge.ll

  Log Message:
  -----------
  [InstCombine] Fold ((X + AddC) & Mask) ^ Mask to (~AddC - X) & Mask (#174278)

This patch optimizes specific pattern.

((X + AddC) & Mask) ^ Mask
-> (~AddC - X) & Mask

Proof: https://alive2.llvm.org/ce/z/XFHfnD
Fixed: https://github.com/llvm/llvm-project/issues/128475


  Commit: 2435a6856b92fad20e8e121c0e1e0270180b9e06
      https://github.com/llvm/llvm-project/commit/2435a6856b92fad20e8e121c0e1e0270180b9e06
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/test/AST/ByteCode/vectors.cpp

  Log Message:
  -----------
  [clang][bytecode] Strip atomicity in Descriptor::getElemQualType() (#181328)

The later check for VectorType fails otherwise.


  Commit: 0f8325c9a9647e9c97bc81e368767fb21ee25ccf
      https://github.com/llvm/llvm-project/commit/0f8325c9a9647e9c97bc81e368767fb21ee25ccf
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    A llvm/test/Analysis/CostModel/WebAssembly/extract-last-active.ll

  Log Message:
  -----------
  Revert "[WebAssembly] Mark extract.last.active as having invalid cost." (#180942)

The failures should have been resolved with #180290 (which also added
WebAssembly tests).

This reverts commit 811fb223af2b3e2d68c99b346f4b75dcf3de3417.


  Commit: b58a31d3cec8f42d8222ff86e8340c9a926f5224
      https://github.com/llvm/llvm-project/commit/b58a31d3cec8f42d8222ff86e8340c9a926f5224
  Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/device/olGetHostInfo.cpp

  Log Message:
  -----------
  [OFFLOAD] Add support for host offloading device (#177307)

The purpose of this PR is to add support of host as an offloading device
to liboffload. Both OpenMP and sycl support offloading to a host as
their normal workflow and therefore would require such capability from
liboffload library.


  Commit: 900fac763f65774042502d62b80233fb107c65b4
      https://github.com/llvm/llvm-project/commit/900fac763f65774042502d62b80233fb107c65b4
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Check strlen element size (#181333)

We're otherwise running into an assertion later, so do the check early.


  Commit: a7a249f072461bbb2a429848bb31682d0b9a93a4
      https://github.com/llvm/llvm-project/commit/a7a249f072461bbb2a429848bb31682d0b9a93a4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libcxx/include/__filesystem/path.h

  Log Message:
  -----------
  [libc++][NFC] Simplify some overloads in fs::path a bit (#181053)

We can use `if constexpr` instead, removing a bit of code and making
things easier to read.


  Commit: 0ad941a98b69b9581f1f1663b088d4fa16960606
      https://github.com/llvm/llvm-project/commit/0ad941a98b69b9581f1f1663b088d4fa16960606
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    R llvm/test/Analysis/CostModel/WebAssembly/extract-last-active.ll

  Log Message:
  -----------
  Revert "Revert "[WebAssembly] Mark extract.last.active as having invalid cost."" (#181342)

Reverts llvm/llvm-project#180942

Looks like something changed the cost model. Will investigate later.


  Commit: d7d4e4ace55cb6f1f727d1053e9d409882453b20
      https://github.com/llvm/llvm-project/commit/d7d4e4ace55cb6f1f727d1053e9d409882453b20
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libcxx/include/__charconv/from_chars_integral.h

  Log Message:
  -----------
  [libc++][NFC] Don't use copy_n to copy a single integer in __sign_combinator (#181119)

We can just assign the integer directly.


  Commit: c2b69b1a173704e246f7501f8e87268ff6afcd01
      https://github.com/llvm/llvm-project/commit/c2b69b1a173704e246f7501f8e87268ff6afcd01
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Do a full CheckLoad in builtin_memcmp() (#181337)

This handles unknown size arrays as well and prints the expected
diagnostics.


  Commit: e0182ebd40066fedc282f9cb06cbec48b6f827dc
      https://github.com/llvm/llvm-project/commit/e0182ebd40066fedc282f9cb06cbec48b6f827dc
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M offload/CMakeLists.txt

  Log Message:
  -----------
  [OFFLOAD] Fix issue where host plugin is added twice to the plugin list (#181346)


  Commit: fe413f70fe594fcc53519fc685a0de36a8cbcb36
      https://github.com/llvm/llvm-project/commit/fe413f70fe594fcc53519fc685a0de36a8cbcb36
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/IndVarSimplify/turn-to-invariant.ll

  Log Message:
  -----------
  [SCEV] Discard samesign when analyzing loop invariant exits (#181171)

If the predicate has samesign set, we could either perform the checks
with the unsigned predicate and return and unsigned invariant predicate,
or we could perform them with the signed predicate and return a signed
invariant predicate. The current implementation can end up mixing both,
using a signed predicate for one check and an unsigned one for the
other.

Avoid this by dropping the samesign flag.

Fixes https://github.com/llvm/llvm-project/issues/180870.


  Commit: a55fbab0cffc9b4af497b9e4f187b61143743e06
      https://github.com/llvm/llvm-project/commit/a55fbab0cffc9b4af497b9e4f187b61143743e06
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
    M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll

  Log Message:
  -----------
  [VPlan] Run initial recipe simplification on VPlan0. (#176828)

In some cases, LV gets simplifyable IR as input. Directly apply
simplifications on the initial VPlan0 to avoid vectorization in cases
where the loop body can be folded away.

Using the end-to-end pipeline, this is relatively rare, but when
reducing test cases, the reduction often ends up with cases with trivial
folds. Rejecting those will result in more robust & realistic test
cases.

As follow-up, I also plan to add initial dead recipe removal.

Depends on https://github.com/llvm/llvm-project/pull/176795.

PR: https://github.com/llvm/llvm-project/pull/176828


  Commit: 7f932c24ad3ca5d961a3608151798d6828983e8c
      https://github.com/llvm/llvm-project/commit/7f932c24ad3ca5d961a3608151798d6828983e8c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp

  Log Message:
  -----------
  [OffloadWrapper] Avoid unnecessary zero-index GEPs

These are no-ops that will get optimized away.


  Commit: cf95ad190e0d12d93d756556864fedda1a0d7ade
      https://github.com/llvm/llvm-project/commit/cf95ad190e0d12d93d756556864fedda1a0d7ade
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    A llvm/test/tools/llubi/divrem_ub1.ll
    A llvm/test/tools/llubi/divrem_ub2.ll
    A llvm/test/tools/llubi/divrem_ub3.ll
    A llvm/test/tools/llubi/divrem_ub4.ll
    A llvm/test/tools/llubi/int_arith.ll
    M llvm/tools/llubi/lib/Context.cpp
    M llvm/tools/llubi/lib/Interpreter.cpp
    M llvm/tools/llubi/lib/Value.h

  Log Message:
  -----------
  [llubi] Add support for integer arithmetic ops (#181224)


  Commit: 655eddad9b135e9b51e85f3e5db646b92adf8e69
      https://github.com/llvm/llvm-project/commit/655eddad9b135e9b51e85f3e5db646b92adf8e69
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/test/tools/llvm-objdump/MachO/dis-symname.test
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-objdump/MachODump.h
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-otool] Fix error messages to use -p instead of --dis-symname (#181225)

Also fixes llvm-objdump error messages to print --dis-symname instead of
single dash option.


  Commit: c592866bbad0b63155612e8b9d8977e6e9db1070
      https://github.com/llvm/llvm-project/commit/c592866bbad0b63155612e8b9d8977e6e9db1070
  Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/SemaCXX/address-space-new-delete.cpp

  Log Message:
  -----------
  [clang][Sema] Avoid assert when diagnosing address-space qualified new/delete (#178424)

### Whats the error

Clang could assert when diagnosing new or delete on types in
language-specific address spaces (e.g. OpenCL __local), instead of
emitting a normal error.

### Why it happened

The diagnostics used getAddressSpaceAttributePrintValue(), which assumes
target-specific address spaces and asserts for language-defined ones
like
OpenCL.

### Whats the Fix

Explicitly check for language defined address spaces in new/delete
diagnostics and emit the error directly, avoiding the crashing path, Add
a regression test.

Fixes #178319


  Commit: aac8885d323172475fca41a8c03dea495187d10f
      https://github.com/llvm/llvm-project/commit/aac8885d323172475fca41a8c03dea495187d10f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    A clang/test/SemaCXX/GH167120.cpp

  Log Message:
  -----------
  [clang] NestedNameSpecifier typo correction fix (#181239)

This stops typo correction from considering template parameters as
candidates for a NestedNameSpecifier when it has a prefix itself.

I think this is better than the alternative of accepting these
candidates, but otherwise droping the prefix, because it seems more
far-fetched that someone would actually try to refer to a template
parameter this way.

Since this regression was never released, there are no release notes.

Fixes #167120


  Commit: 741a4daa84c602d4bdd838ad469aea95b9f1d46c
      https://github.com/llvm/llvm-project/commit/741a4daa84c602d4bdd838ad469aea95b9f1d46c
  Author: Tobias Ribizel <mail at ribizel.de>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/include/clang/Basic/SourceLocation.h

  Log Message:
  -----------
  [clang] Clarify SourceLocation and (Char)SourceRange docs (#177400)

The current documentation leaves some questions unanswered to me, which
I'm trying to clarify here.
1. It was unclear how SourceLocation differed when referring to the
character level vs. the token level. Turns out there is no such
difference, and SourceLocation always refers to characters. This should
be made explicit in the docs.
2. It was unclear in which cases (Char)SourceRange is inclusive
(containing the endpoint) or exclusive (ending before the endpoint).
>From my reading of the docs and investigating the behavior of different
AST nodes' `getSourceLoc()` result and `Lexer::getSourceText()`,
SourceRange is always inclusive and CharSourceRange is inclusive only as
a TokenRange, and exclusive as a CharRange. This is also consistent
matches with the documentation of the clang::transformer::after()
function in RangeSelector.h, where the question of inclusive/exclusive
ranges came up first for me.


  Commit: e0293fc7a55aa880d1bb67d31775bdbe85c672d1
      https://github.com/llvm/llvm-project/commit/e0293fc7a55aa880d1bb67d31775bdbe85c672d1
  Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M openmp/runtime/src/include/ompx.h.var

  Log Message:
  -----------
  [OFFLOAD] Add support for SPIRV to ompx (#179849)

After adding support to build device RTL for SPIRV, this PR will make an
ompx to use the DeviceRTL API when compiled for SPIRV


  Commit: b447f5d9763010f8c6806c578533291aef2bd484
      https://github.com/llvm/llvm-project/commit/b447f5d9763010f8c6806c578533291aef2bd484
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    A lldb/test/API/tools/lldb-dap/unknown/Makefile
    A lldb/test/API/tools/lldb-dap/unknown/TestDAP_unknownRequest.py
    A lldb/test/API/tools/lldb-dap/unknown/main.c
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    A lldb/tools/lldb-dap/Handler/UnknownRequestHandler.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  [lldb-dap] Add unknown request handler (#181109)

Added unknown request handler to avoid crash. Returning error in this
case looks better than stopping entire debug session.


  Commit: 80fffd527c20ac8970fbffc37c674caa17faa815
      https://github.com/llvm/llvm-project/commit/80fffd527c20ac8970fbffc37c674caa17faa815
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/Target/BorrowedStackFrame.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/API/SBFrame.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Target/BorrowedStackFrame.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
    M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
    M lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
    M lldb/test/API/commands/frame/var-dil/basics/MemberOf/TestFrameVarDILMemberOf.py
    M lldb/test/API/commands/frame/var-dil/basics/PointerDereference/TestFrameVarDILPointerDereference.py
    M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
    M lldb/tools/lldb-dap/SourceBreakpoint.cpp

  Log Message:
  -----------
  [lldb] Add evaluation modes to DIL (#178747)

Adding more supported operators to DIL breaks tests in `DWIMPrint` and
`lldb-dap`, which shouldn't be simply adjusted for new DIL capabilities.
They act as a check for the boundaries of what subset of expressions
`DWIMPrint` and `lldb-dap` expect to be evaluated when using
`GetValueForVariableExpressionPath` function. With this patch, the
caller can now pick a mode that limits the expressions DIL can evaluate,
which ensures the expected preexisting behavior. More operators can now
be safely added to DIL, which can still be evaluated by DIL when using
`frame var` command or the API call with Full mode selected (or not
specified at all).

DIL will only attempt evaluating expressions that contain operations
allowed by a selected mode:
 - Simple: identifiers, operators: '.'
 - Legacy: identifiers, integers, operators: '.', '->', '*', '&', '[]'
 - Full: everything supported by DIL


  Commit: 36a4a55f580bc6fe7a86bf4b5ea447925c100197
      https://github.com/llvm/llvm-project/commit/36a4a55f580bc6fe7a86bf4b5ea447925c100197
  Author: Aadarsh Keshri <120744385+Aadarsh-Keshri at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/C/C2y/n3369.c

  Log Message:
  -----------
  [Clang] Fix crash for _Countof(void) by correcting extension handling (#181169)

Fix a crash for _Countof(void) caused by incorrect extension handling in
CheckExtensionTraitOperandType.

Fixes #180893


  Commit: 0d8d421d4eff42acb880b328acdf123bea0d0838
      https://github.com/llvm/llvm-project/commit/0d8d421d4eff42acb880b328acdf123bea0d0838
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/tools/bugpoint/Miscompilation.cpp

  Log Message:
  -----------
  [bugpoint] Remove unnecessary zero-index GEP

This is a no-op.


  Commit: 778948f2d6d37aad710342a8e7480999ae019175
      https://github.com/llvm/llvm-project/commit/778948f2d6d37aad710342a8e7480999ae019175
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/examples/BrainF/BrainF.cpp

  Log Message:
  -----------
  [BrainF] Remove unnecessary zero-index GEP

This is a no-op.


  Commit: a93e04cf8341242c551561dc2619943e1407a87b
      https://github.com/llvm/llvm-project/commit/a93e04cf8341242c551561dc2619943e1407a87b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [AddressSanitizer] Remove unnecessary zero-index GEP

This is a no-op.


  Commit: a17ffaf9d08a1a88fba522acfb6bd19b5ec90c24
      https://github.com/llvm/llvm-project/commit/a17ffaf9d08a1a88fba522acfb6bd19b5ec90c24
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp

  Log Message:
  -----------
  [AMDGPU] Avoid unnecessary zero-index GEPs

These are no-ops.


  Commit: b16e7de0f20756846d13b2913fd2f46b8d9c14d4
      https://github.com/llvm/llvm-project/commit/b16e7de0f20756846d13b2913fd2f46b8d9c14d4
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/include/clang/CIR/ABIArgInfo.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/CodeGen/assign-operator.cpp
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
    M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
    M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
    M clang/test/CIR/CodeGen/derived-to-base.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
    M clang/test/CIR/CodeGen/forrange.cpp
    M clang/test/CIR/CodeGen/goto.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/inline-attributes.cpp
    M clang/test/CIR/CodeGen/inline-cxx-func.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/no-odr-use.cpp
    M clang/test/CIR/CodeGen/pack-indexing.cpp
    A clang/test/CIR/CodeGen/ret-attrs.cpp
    M clang/test/CIR/CodeGen/string-literals.cpp
    M clang/test/CIR/CodeGen/struct-init.cpp
    M clang/test/CIR/CodeGen/template-specialization.cpp
    M clang/test/CIR/CodeGen/temporary-materialization.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/variable-decomposition.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
    M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/func-simple.cpp

  Log Message:
  -----------
  [CIR] Implement func/call return-attributes (#181052)

This patch implements the infrastructure for return attributes on
function/call operations, a little of the common infrastructure for arg
attributes on the same, and 4 return attributes lowering: noundef
nonnull
dereferenceable
align

These 4 common attributes are all pretty reasonable/common, so these
will change a lot of tests.

This patch chooses to just use the LLVM-IR-Dialect variant of these
attributes (as a NamedAttr), which means no changes to the dialect or
lowering are necessary.


  Commit: 32c79e0e9cc67b2f531fbcd1991d1c5a912e1313
      https://github.com/llvm/llvm-project/commit/32c79e0e9cc67b2f531fbcd1991d1c5a912e1313
  Author: GkvJwa <gkvjwa at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGenCXX/exceptions-seh.cpp

  Log Message:
  -----------
  [WinEH] Only emit err_seh_object_unwinding when CXXExceptions are enabled (#180959)

Based on the PR(https://github.com/llvm/llvm-project/pull/180108)
discussion, it has been modified to check when `/EH*` is enabled.

Although `/EHsc` `/EHs` are slightly different from `/EHa`, and the
changes here have different effects than `/EHa` when these two switches
are enabled, we are still considering supporting this situation, and we
will improve support for `/EHs*` in the future.


  Commit: 855be5f2fbb57ba66a0d5a14e8d87b0eab523b60
      https://github.com/llvm/llvm-project/commit/855be5f2fbb57ba66a0d5a14e8d87b0eab523b60
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp

  Log Message:
  -----------
  [ShadowStackGCLowering] Remove unnecessary zero-index GEP

This is a no-op.


  Commit: 5e706e1b4ba428fa21cbd51f1e41e01ade2310a7
      https://github.com/llvm/llvm-project/commit/5e706e1b4ba428fa21cbd51f1e41e01ade2310a7
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/SemaCXX/warn-loop-analysis.cpp

  Log Message:
  -----------
  [Clang] enhance loop analysis to handle variable changes inside lambdas (#135573)

Fixes #132038 

--- 

This PR extends `-Wloop-analysis` to handle variable modifications
inside lambda expressions.


  Commit: 05ea779fcf475b7edd7e27c11966366be1aa01f5
      https://github.com/llvm/llvm-project/commit/05ea779fcf475b7edd7e27c11966366be1aa01f5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M openmp/runtime/cmake/LibompMicroTests.cmake

  Log Message:
  -----------
  [openmp] Remove perl mentions (#181371)

These tests were converted from Perl to Python in #95307, so there is no
perl dependency here anymore. (I omitted an explicit mention of Python
here, as that's a general dependency anyway.)


  Commit: 40c778ad1d8013db79a7adcfc2db1dcdbdde5111
      https://github.com/llvm/llvm-project/commit/40c778ad1d8013db79a7adcfc2db1dcdbdde5111
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Remove already fixed FIXME from range.iota.view/indices.pass.cpp (#181344)


  Commit: a820c8b676854170f88c11560122c6fa8b67d130
      https://github.com/llvm/llvm-project/commit/a820c8b676854170f88c11560122c6fa8b67d130
  Author: Christian Sigg <csigg at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port a1d7cda.


  Commit: 320d0b5467b9586a188e06dd2620126f5cb99318
      https://github.com/llvm/llvm-project/commit/320d0b5467b9586a188e06dd2620126f5cb99318
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/Analysis/indirect-goto-basics.c
    A clang/test/Analysis/switch-basics.c

  Log Message:
  -----------
  [NFCI][analyzer] Regularize NodeBuilder classes (#180960)

This commit removes virtual methods from the `NodeBuilder` class
hierarchy (because they were only relevant for the "enclosing builder"
feature of `StmtNodeBuilder` which was not used anywhere), then moves
the classes `IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into this
hierarchy. (Previously they were independent classes with some
duplicated logic in the `generateNode()`-like functions.)

Updating `SwitchNodeBuilder` is a prerequisite for activating the
`BranchCondition` checkers on the condition of the `switch` statement
because `CheckerContext` requires the presence of a `NodeBuilder`.

Updating `IndirectGotoNodeBuilder` doesn't have any analogous goals --
I'm just doing it for the sake of consistency.

I also added some very basic tests because this area wasn't properly
covered by the old tests.

I'm planning to do more cleanup (e.g. the removal of `StmtNodeBuilder`)
in follow-up commits.


  Commit: ca8a6b8cb14e7006b041da889ba16110ec2cd673
      https://github.com/llvm/llvm-project/commit/ca8a6b8cb14e7006b041da889ba16110ec2cd673
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp

  Log Message:
  -----------
  [Clang] fix crash when constexpr evaluation encounters uninitialized GCC vector (#180293)

Fixes #180044

---

This patch addresses the regression caused by
https://github.com/llvm/llvm-project/commit/77534291fcbd2c784c54e39a60895e4f60f19742.
The crash happens because


https://github.com/llvm/llvm-project/blob/85d94e17144f2ca250c91b827b59e6ddea675d31/clang/lib/AST/ExprConstant.cpp#L4294

tries to read a vector element when the `APValue` is still
`Indeterminate` or `Absent`. These changes _populate_ vector `APValue`
to ensure elements exist before access.


  Commit: 637e9bdd7c2269c16cf37ea910ee6804e7d191ff
      https://github.com/llvm/llvm-project/commit/637e9bdd7c2269c16cf37ea910ee6804e7d191ff
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libcxx/utils/ci/lnt/run-benchmarks

  Log Message:
  -----------
  [libc++] Run all the microbenchmarks in run-benchmarks (#181374)

Running all the benchmarks does not significantly increase the total
time, and it ensures that what we upload to LNT corresponds exactly to
what's in the test suite.


  Commit: 892ac614bf8fafd4d13381bb45b369721309785a
      https://github.com/llvm/llvm-project/commit/892ac614bf8fafd4d13381bb45b369721309785a
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Hexagon.h
    A llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
    A llvm/test/CodeGen/Hexagon/avoid-debug-increment.mir
    M llvm/test/CodeGen/Hexagon/cext-check.ll
    A llvm/test/CodeGen/Hexagon/dbg-label-pullup.ll
    A llvm/test/CodeGen/Hexagon/global-sched-skip-vsub_fake.ll
    A llvm/test/CodeGen/Hexagon/pull-delayed-new.mir
    A llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
    A llvm/test/CodeGen/Hexagon/pull-up-dbg-label.mir
    A llvm/test/CodeGen/Hexagon/pull-up-slots.mir
    A llvm/test/CodeGen/Hexagon/pull-up.ll

  Log Message:
  -----------
  Add HexagonGlobalScheduler pass (#180803)

This patch adds the HexagonGlobalScheduler, a post-packetization pass
that performs global instruction scheduling and pull-up optimizations to
improve packet density on Hexagon VLIW architecture.

The scheduler operates on scheduling regions (super-blocks with single
entry and multiple exits) and attempts to move instructions across basic
blocks to fill packet slots more efficiently. It supports both
speculative and predicative scheduling modes.

Key features:
- Global instruction scheduling across basic blocks
- Speculative scheduling with safety checks
- Predicative scheduling using predication
- Local pull-up within basic blocks
- Dual jump formation
- Branch optimizations
- Liveness preservation using HexagonLiveVariables

The pass depends on HexagonLiveVariables and HexagonGlobalRegion
infrastructure for maintaining correct liveness information when moving
instructions across basic block boundaries.

This patch also adds two helper functions to HexagonRegisterInfo that
are required by the scheduler to prevent correctness issues.

1. isGlobalReg(MCPhysReg Reg) - Returns true for reserved physical
registers (R29, R30, R31) that are live across function calls. This
prevents the scheduler from incorrectly speculating instructions that
modify the stack pointer or frame pointer.

2. isFakeReg(MCPhysReg Reg) - Returns true for fake HVX registers
(VF0-VF31, VFR0-VFR31) used as sub-registers in vector pairs. This
prevents crashes when the scheduler processes HVX vector operations by
skipping these internal bookkeeping registers.

The scheduler runs in the pre-emit pipeline after packetization and is
only active when optimizations are enabled.

Patch by Sergei Larin <slarin at qti.qualcomm.com>

Co-authored-by: Ikhlas Ajbar <iajbar at qti.qualcomm.com>
Co-authored-by: Krzysztof Parzyszek <kparzysz at codeaurora.org>


  Commit: 424686a62d0e42cc44f45809684c61a4f642d49b
      https://github.com/llvm/llvm-project/commit/424686a62d0e42cc44f45809684c61a4f642d49b
  Author: Twice <twice at apache.org>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M mlir/docs/Bindings/Python.md

  Log Message:
  -----------
  [MLIR][Docs] Add docs about Python-defined dialects (#181372)

This PR adds documentation to the MLIR Python bindings introducing
support for Python-defined dialects (initially introduced in #169045).


  Commit: ec0b22ff472368e11de25e0f9d38527c937500f2
      https://github.com/llvm/llvm-project/commit/ec0b22ff472368e11de25e0f9d38527c937500f2
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll

  Log Message:
  -----------
  [VPlan] Reuse introduces-broadcast logic in narrowToSingleScalars (#174444)

narrowToSingleScalarRecipes' operands check is a bit too restrictive by
permitting a single user. Factor out and reuse the existing
introduces-broadcast logic to improve results.


  Commit: 0b887beebe7818cf545d0a784e1ff09675b5d6fb
      https://github.com/llvm/llvm-project/commit/0b887beebe7818cf545d0a784e1ff09675b5d6fb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 892ac614bf8f


  Commit: 04fbb1dba583919939eafeb0ec6241e062e61371
      https://github.com/llvm/llvm-project/commit/04fbb1dba583919939eafeb0ec6241e062e61371
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2026-02-14 (Sat, 14 Feb 2026)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/concat-nested-namespaces/modernize-concat-nested-namespaces.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header-with-fix.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp

  Log Message:
  -----------
  [clang-tidy] Header check support for check_clang_tidy.py (#175735)

As of AI-Usage: Gemini CLI was used for pre-commit review and finding
testcases that need to be updated.

Closes [#133515](https://github.com/llvm/llvm-project/issues/133515)

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: 94b5adc01eddc5f96aabc0c2becf39880192a4e1
      https://github.com/llvm/llvm-project/commit/94b5adc01eddc5f96aabc0c2becf39880192a4e1
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/utils/git/requirements_formatting.txt
    M llvm/utils/git/requirements_formatting.txt.in

  Log Message:
  -----------
  [Github] Update requirements_formatting.txt (#181184)

We should not need to be explicitly adding transitive dependencies to
requirements_formatting.txt.in to enforce a higher version is used. We
also should always be using == to ensure a strict version match, not
just a compatible version (~=). This patch removes transitive
dependencies introduced in 6fdf93c5d812197dd5dc9362f324b944105b2e8e and
updates the lockfile (although only unnecessary packages are removed).


  Commit: 8c162b70ac02a9b3b7b167c5f500f4707b730baa
      https://github.com/llvm/llvm-project/commit/8c162b70ac02a9b3b7b167c5f500f4707b730baa
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M lldb/include/lldb/Core/SourceManager.h
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Target/StackFrame.cpp

  Log Message:
  -----------
  [lldb] Pass the frame's language type to the highlighter (#181094)

This threads the frame's language type through the source manager to the
highlighter. Previously, we'd always pass "unknown" as the language type
and rely on the language plugin to figure out the language based on the
file extension.

This change is motivated by #170250. For languages like Swift or Rust
that don't have an upstream language plugin, we need the frame's
language for syntax highlighting.


  Commit: ede1a9626b898b1fcddb1aa5f82755a50f16841e
      https://github.com/llvm/llvm-project/commit/ede1a9626b898b1fcddb1aa5f82755a50f16841e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
    M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll

  Log Message:
  -----------
  [LV] Vectorize early exit loops with multiple exits. (#174864)

Building on top of the recent changes to introduce BranchOnTwoConds,
this patch adds support for vectorizing loops with multiple early exits,
all dominating a countable latch. The early exits must form a
dominance chain, so we can simply check which early exit has been taken
in dominance order.

Currently LoopVectorizationLegality ensures that all exits other than
the latch must be uncountable. handleUncountableEarlyExits now collects
those uncountable exits and processes each exit.

In the vector region, we compute if any exit has been taken, by taking
the OR of all early exit conditions (EarlyExitConds) and checking if
there's
any active lane.

If the early exit is taken, we exit the loop and compute which early
exit
has been taken. The first taken early exit is the one where its exit
condition is true in the first active lane of EarlyExitConds.

We create a chain of dispatch blocks outside the loop to check this for
the early exit blocks ordered by dominance.

Depends on https://github.com/llvm/llvm-project/pull/174016.

PR: https://github.com/llvm/llvm-project/pull/174864


  Commit: 9deb4fda30be47e4aea5671055a0f655a048afdc
      https://github.com/llvm/llvm-project/commit/9deb4fda30be47e4aea5671055a0f655a048afdc
  Author: Felipe Quezada <felipe.quezada01 at outlook.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    A llvm/test/CodeGen/AMDGPU/twoaddr-regsequence-keep-copy-on-use.mir

  Log Message:
  -----------
  [CodeGen][AMDGPU] TwoAddress: Only skip undef COPY at REG_SEQUENCE lowering when there is Live info or no uses for subreg (#175598)

Currently, the compiler doesn't create a COPY for undef operands while
lowering REG_SEQUENCE, and only if LIS information is available, it
propagates the undef flag to the subreg uses. So, if LIS isn't
available, we can end up with some uses without def of those lanes.
Now, we check which lanes are used in a single scan of
use_nodbg_operands() per REG_SEQ, and perform the skip of the COPY only
if LIS is avaible (as undef will be propagated later) or if there are no
uses for that lane.
There is still a scan of the use list, but now it's only one per REG_SEQ
and I think it's necessary, as there is no guarantee to have LIS or
other analysis pass information at this stage.

This is a proposal fix for issue:
https://github.com/llvm/llvm-project/issues/175596

---------

Co-authored-by: Carl Ritson <critson at perlfu.co.uk>


  Commit: 59553fa27a52fd95d9f5386a4554e76f3a8e5c9a
      https://github.com/llvm/llvm-project/commit/59553fa27a52fd95d9f5386a4554e76f3a8e5c9a
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Lex/Preprocessor.cpp
    M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
    M clang/test/Preprocessor/has_include.c

  Log Message:
  -----------
  [clang] avoid reentering header-name lexing on nested macro expansion (#179151)

Fixes #178635

---

This PR addressed the issue when header-name _lexing_ reentered on
nested macro expansion.

`__has_include`/`__has_embed` lex a header name by calling
`LexHeaderName`, and neither expects nested expansion in that context.

If `__has_include` appears inside the header name expression (e.g.,
`__has_include(__has_include)`, or `__has_embed(__has_include)`)


https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1252

macro expansion reenters `LexHeaderName` and hits the assertion


https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1898


https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1156


  Commit: d521863f089a1eb7ea35a1bf73eb9fde30c2c49c
      https://github.com/llvm/llvm-project/commit/d521863f089a1eb7ea35a1bf73eb9fde30c2c49c
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Add support for Convert Layout from Wg to Sg (#178922)


  Commit: b217e5c5a035834a1fa11c092479a50f91d8f90d
      https://github.com/llvm/llvm-project/commit/b217e5c5a035834a1fa11c092479a50f91d8f90d
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M openmp/runtime/test/tasking/issue-94260-2.c

  Log Message:
  -----------
  [OpenMP][lit] Disable flaky test tasking/issue-94260-2.c (#176452)

The test sporadically fails on Linux. See
https://github.com/llvm/llvm-project/issues/176451 for more info.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: de9f320a3399adc49a4bf844b5ad76b873b3accc
      https://github.com/llvm/llvm-project/commit/de9f320a3399adc49a4bf844b5ad76b873b3accc
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-02-14 (Sat, 14 Feb 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td

  Log Message:
  -----------
  [mlir][irdl] Add IsolatedFromAbove trait to irdl.operation, irdl.attribute and irdl.type (#181108)

https://github.com/llvm/llvm-project/pull/180556 depend it.Prevent CSE
from hoisting pure operations from the irdl.operation region into the
irdl.dialect region. You can see
https://github.com/llvm/llvm-project/pull/180556#issuecomment-3889133389.


  Commit: 2b5eb2dde2cdc98b4265d3b9940f235b51d38638
      https://github.com/llvm/llvm-project/commit/2b5eb2dde2cdc98b4265d3b9940f235b51d38638
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ClangIRCleanupAndEHDesign.md
    M clang/include/clang/CIR/Dialect/IR/CIROps.td

  Log Message:
  -----------
  [CIR][docs] Add cir.catch_param to ClangIR cleanup and EH design doc (#181284)

This updates the ClangIR cleanup and exception handling design document
to describe the requirement to use cir.catch_param operations to begin
the catch regions of a cir.try operation in the structured form of CIR.

This also includes minor changes to the descriptions in the CIROps.td
definitions of cir.try and cir.catch_param


  Commit: b39ab2e0ef601f563ec0ab0ae384b9b08730073a
      https://github.com/llvm/llvm-project/commit/b39ab2e0ef601f563ec0ab0ae384b9b08730073a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir

  Log Message:
  -----------
  [RISCV] Use PADD_DW instead of ADDD for GPRPair copy on RV32 with P extension (#181316)


  Commit: 211314d5824498e885c7d3d4fb5a77924e064ab4
      https://github.com/llvm/llvm-project/commit/211314d5824498e885c7d3d4fb5a77924e064ab4
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/ADT/STLForwardCompat.h
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/ADT/STLForwardCompatTest.cpp

  Log Message:
  -----------
  [ADT] Add is_sorted_constexpr, equivalent to C++20 std::is_sorted  (#180867)

`std::is_sorted` is not `constexpr` until Cpp20, so need custom `is_sorted_constexpr` function.


  Commit: a1d12e944e8035d17166e78385ea5180e368e3f9
      https://github.com/llvm/llvm-project/commit/a1d12e944e8035d17166e78385ea5180e368e3f9
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/test/Transforms/IndVarSimplify/unreachable-exit.ll

  Log Message:
  -----------
  [NFC] [IndVars] test for multiple bounds for predicate-loop-traps

This can come from loops like

```
for (int i = 0; i < X; ++i) {
  if (i < N)
    __builtin_trap();
  if (i < M)
    __builtin_trap();
  x[i] = y[i];
}
```

Reviewers: nikic

Reviewed By: nikic

Pull Request: https://github.com/llvm/llvm-project/pull/181264


  Commit: da5e298dcc1015f20ee5f6990bc88c372bd3a97f
      https://github.com/llvm/llvm-project/commit/da5e298dcc1015f20ee5f6990bc88c372bd3a97f
  Author: Jameson Nash <vtjnash at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [Sema][NFC] simplify deduceOpenCLAddressSpace (#181253)

All callers of deduceOpenCLAddressSpace passed some sort of VarDecl
(such as a ParmVarDecl), so the dynamic cast and indentation was
unnecessary.


  Commit: e4c30c15c87fb42432a614805d2e48ef39a8da00
      https://github.com/llvm/llvm-project/commit/e4c30c15c87fb42432a614805d2e48ef39a8da00
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    A llvm/test/CodeGen/SPIRV/function/variadics-lowering-namespace-printf.ll
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
    M llvm/test/CodeGen/SPIRV/printf.ll

  Log Message:
  -----------
  [SPIRV] Extend lowering of variadic functions (#178980)

Variadic function lowering for SPIR-V was initially added in
https://github.com/llvm/llvm-project/pull/175076.

However, I tried a full OpenMP offloading example that includes a vararg
call and hit a few issues:

1) The OpenMP Deivce library function `ompx::printf` was incorrectly
being considered a builtin `printf` function that would be handled
specifically by the SPIR-V backend.

The fix here is to remove the `printf` special handling.

2) We were getting an assert in ModuleVerifier saying the LLVM lifetime
intrinsics were being called with an argument that was neither an
`alloca` ptr or `poison`. The problem is the `alloca` was replaced with
a SPIR-V intrinsic `alloca` in `SPIRVPrepareFunctions`, but the lifetime
intrinsic added in `ExpandVariadics` was not lowered to the SPIR-V
lifetime intrinsic since `ExpandVariadics` is run after
`SPIRVPrepareFunctions`,

The fix here is to just run `ExpandVariadics` first.

3) There were `va` intrinsics taking in a `addrspace(4)` pointer that
were not being expanded.

The fix here is to extend `ExpandVariadics` to support expanding `va`
intrinsics with target-specific address spaces.

---------

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 41c566e9e16489d599a9cf45e32a02aace925785
      https://github.com/llvm/llvm-project/commit/41c566e9e16489d599a9cf45e32a02aace925785
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
    M clang/test/Analysis/misc-ps-region-store.cpp
    M clang/test/SemaCXX/return-noreturn.cpp

  Log Message:
  -----------
  [Clang] eliminate -Winvalid-noreturn false positive after throw + unreachable try/catch blocks (#175443)

Fixes #174822

---

This PR fixes a false `-Winvalid-noreturn` positive when an
unconditional `throw` is followed by an unreachable `try`/`catch` block.

The false positive occurred because reachability analysis marked
`try`/`catch` regions as live even when unreachable via normal control
flow. The following logic


https://github.com/llvm/llvm-project/blob/1c0c9aeae681dbed90fcb19edd8a41e10a17f867/clang/lib/Sema/AnalysisBasedWarnings.cpp#L573-L589

that adjusted for missing `EH` call edges, treated disconnected `try` as
reachable.

CFG construction now keeps the `try` dispatch block as the join point of
the `try` statement and adds a successor for the `try` body. If the
`try` body is empty, an empty block is created and connected to the
successor. This prevents the `try` dispatch from becoming disconnected
and ensures that return paths in _function-try-blocks_


https://github.com/llvm/llvm-project/blob/1c0c9aeae681dbed90fcb19edd8a41e10a17f867/clang/test/SemaCXX/return-noreturn.cpp#L249-L264

Also, unreachable try/catch code after an unconditional `throw` is no
longer treated as reachable and no longer triggers a false positive
`-Winvalid-noreturn` warning.


  Commit: 4d518e6c7a94661bc4caa8392aab08a7e41371cd
      https://github.com/llvm/llvm-project/commit/4d518e6c7a94661bc4caa8392aab08a7e41371cd
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir

  Log Message:
  -----------
  [flang] Let FIR AA:getModRef recognize Fortran user procedures late. (#181295)

In order to use FIR AA::getModRef() after `ExternalNameConversion`
pass we have to teach it to recognize Fortran user procedures
that have already been renamed.


  Commit: c776a52fa263999d4b14b6d7ce734384ef1c090d
      https://github.com/llvm/llvm-project/commit/c776a52fa263999d4b14b6d7ce734384ef1c090d
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/CMakeLists.txt
    A libc/test/lit.cfg.py
    A libc/test/lit.site.cfg.py.in
    A libc/utils/libctest/__init__.py
    A libc/utils/libctest/format.py

  Log Message:
  -----------
  [libc] Implement lit-based test execution for Libc (#178746)

This provides optional lit-based test execution for the LLVM Libc tests,
alongside the existing CMake-based test execution.

Usage:
  ninja -C build check-libc-lit
  cd build && bin/llvm-lit libc/test/src/

Partially addresses
[#118694](https://github.com/llvm/llvm-project/issues/118694). A future
PR once this lands will flip the default (per suggestion in the RFC)


  Commit: b6cd2133d49c8b5e8375241cc2c101a1f1e960f8
      https://github.com/llvm/llvm-project/commit/b6cd2133d49c8b5e8375241cc2c101a1f1e960f8
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/EHScopeStack.h
    M clang/test/CIR/CodeGen/try-catch.cpp

  Log Message:
  -----------
  [CIR] Simplify try-catch handling (#180857)

With the new exception handling device, we no longer need to track the
location of potential catch blocks, and so we no longer need to
represent catch handlers on the EH stack. This allows us to
significantly simplify the generation of try-catch blocks.

This change emits catch blocks directly when visiting the try operation
and removes unnecessary EH management code.

This is not an exhaustive cleanup of the EH management code. Some things
that may appear to be obvious simplifications (such as removing the
union of bitfields in EHScope, and possibly making EHScopeStack just a
stack of EHCleanups) are deferred until we have a better idea of how
things like EH filters will be implemented.

This change breaks lowering of cir.try operations to LLVM IR in a
somewhat trivial way. Even before this PR, lowering of `cir.try` ops
with catch handlers was not implemented. However, we had one test case
where the only call in a try-region was marked with the `noexcept`
attribute. Previously, we did not emit catch handlers in that
circumstance. Now we do. As such, nothing that previously worked is
broken by this patch, but there is one test that would now fail. I
handled this by removing the RUN line for lowering this test to LLVM IR.
I left the checks so this will be easy to re-enable when proper try-op
lowering is implemented.


  Commit: 8de1a07d63ee1da54a88bf2f2d0e2bfaec39f061
      https://github.com/llvm/llvm-project/commit/8de1a07d63ee1da54a88bf2f2d0e2bfaec39f061
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libcxx/src/atomic.cpp
    A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp

  Log Message:
  -----------
  [libc++] Fix semaphore timed wait hanging on Windows (#180398)

Fixes #180334

# Problem

The semaphore timed wait test is flaky on Windows. It hangs from time to
time.

Some examples:

[windows (clang-cl-no-vcruntime, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21737380876/job/62707542836#logs)
[windows (mingw-static, true, cc,
c++)](https://github.com/llvm/llvm-project/actions/runs/21636063482/job/62367831823?pr=179483#logs)
[windows (clang-cl-static, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21453876753/job/61794464147#logs)
[windows (clang-cl-dll, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21382902941/job/61556154029#logs)
[windows (mingw-static, true, cc,
c++)](https://github.com/llvm/llvm-project/actions/runs/21365713577/job/61502377123#logs)

# Root Cause

The internal dylib function takes a timeout

```cpp
static void __platform_wait_on_address(void const* __ptr, void const* __val, uint64_t __timeout_ns) 
```
We followed the same convention as `__libcpp_thread_poll_with_backoff`,
where we used `0ns` to indicate wait indefinitely until being notified.

```cpp
_LIBCPP_HIDE_FROM_ABI __poll_with_backoff_results __libcpp_thread_poll_with_backoff(
    _Poll&& __poll, _Backoff&& __backoff, chrono::nanoseconds __max_elapsed = chrono::nanoseconds::zero())
```

This is problematic, if the caller indeed wants to wait `0ns` and passes
`0`, the internal dylib function `__platform_wait_on_address` would wait
indefinitely

```cpp
__timeout_ns == 0 ? INFINITE : static_cast<DWORD>(__timeout_ns / 1'000'000)
```

This is what actually happened here. So the fix is to update internal
dylib function to use `optional` and use `nullopt` to indicate wait
indefinitely

```cpp
static void __platform_wait_on_address(void const* __ptr, void const* __val, optional<uint64_t> __timeout_ns) 
```


Edit: after code review, the code is updated to use tag type `NoTimeout`
to indicate "wait indefinitely". this is superior because it is coded
into the type system instead of runtime check

# Why `__libcpp_thread_poll_with_backoff` never suffered from this
problem?

`__libcpp_thread_poll_with_backoff` has this " `0ns` means wait
indefinitely " semantic for years (it has always been like that), but it
never causes issues. This is because, it has

```cpp
chrono::nanoseconds const __elapsed = chrono::high_resolution_clock::now() - __start;
if (__max_elapsed != chrono::nanoseconds::zero() && __max_elapsed < __elapsed)
      return __poll_with_backoff_results::__timeout;
```

`__max_elapsed` is what user passed in, let's assume the user passed in
`0ns`, and `__elapsed` is certainly a positive number so it never goes
to the backoff function and directly returned. No hanging possible

# Why Windows and we passed in `0ns` ?

So in the test, we passed wait some time, say `1ms`, from the
`semaphore` public API, which calls `__libcpp_thread_poll_with_backoff`
with `1ms` timeout. `__libcpp_thread_poll_with_backoff` will do some
polling loops and then calling into the backoff function, platform timed
wait in this case, with timeout of `1ms - elapsed` , say `950us`.
However, Windows platform wait has millisecond precision, so `950us` is
rounded down to `0ms` (`static_cast<DWORD>(__timeout_ns / 1'000'000)`),
so the function call almost immediately returns, and
`__libcpp_thread_poll_with_backoff` will keep its polling loop like
this. As time goes by in the polling loop, the timeout for platform wait
will decrease from `950us` to smaller and smaller number.

In the `__libcpp_thread_poll_with_backoff`
```cpp
if (__max_elapsed != chrono::nanoseconds::zero() && __max_elapsed < __elapsed)
      return __poll_with_backoff_results::__timeout;
if (auto __backoff_res = __backoff(__elapsed); __backoff_res == __backoff_results::__continue_poll)
```
`__max_elapsed` is user requested timeout, which is `1ms` in this case,
and `__elapsed` gradually increases and eventually, if it becomes
greater than `1ms`, we have `__max_elapsed < __elapsed`, it will return
and test passes. all Good. But there is a slim chance that on one loop,
`__elapsed` is exactly the same number of the user requested
`__max_elapsed` `1ms`, so `__max_elapsed == __elapsed`, this will make
the code path go to backoff platform wait, with the timeout
`__max_elapsed - __elapsed == 0ns`. So now we are requesting
`__platform_wait_on_address` to wait exactly `0ns`, and due to our
ambiguous API, `0ns` means wait indefinitely

```cpp
__timeout_ns == 0 ? INFINITE : static_cast<DWORD>(__timeout_ns / 1'000'000)
```

The test will just hang forever.

# Why not  `__max_elapsed <= __elapsed` ?

in `__libcpp_thread_poll_with_backoff`, If we check `__max_elapsed <=
__elapsed` instead of `__max_elapsed < __elapsed`, we would avoid the
call to platform wait with `0ns`. But according to the standard, I think
the current `__max_elapsed < __elapsed` is more correct

> The timeout expires
([[thread.req.timing]](https://eel.is/c++draft/thread.req.timing)) when
the current time is after abs_time (for try_acquire_until) or when at
least rel_time has passed from the start of the function (for
try_acquire_for)[.](https://eel.is/c++draft/thread.sema#cnt-18.sentence-2)

https://eel.is/c++draft/thread.sema#cnt-18.2

So this **after** means that it needs strictly greater than i think.

# The Fix

The fix is to update the internal dylib API to use `nullopt` to indicate
wait indefinitely. So a call to platform wait with `0ns` will not cause
a hang.

Edit: after code review, the code is updated to use tag type `NoTimeout`
to indicate "wait indefinitely". this is superior because it is coded
into the type system instead of runtime check

I made a small change as well. it is very easy to get into a situation
where the requested platform wait timeout is `<1ms`, we will be keep
calling Windows platform wait with `0ns` because of the rounding, and
this is effectively a spin lock . I made a change such that if the
requested timeout is between `100us to 1ms`, just rounded up to `1ms` to
wait a bit longer (which is conforming IIUC) . let me know if this
change is necessary, happy to take this part out if it is not considered
good.


  Commit: 7a2a3774a6b71266b86a87afab0bb24b104d6260
      https://github.com/llvm/llvm-project/commit/7a2a3774a6b71266b86a87afab0bb24b104d6260
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libcxx/test/benchmarks/adjacent_view_begin.bench.cpp

  Log Message:
  -----------
  [libc++] Remove hardcoded -O3 from adjacent_view benchmark (#181376)

We don't hardcode optimization flags in the benchmarks, because we want
to be able to run the benchmarks with any optimization level. Instead,
we set the optimization level when running Lit via the --param
optimization=<speed|size|...> flag.


  Commit: 19de5dd722a4919cf29e67aee22af006033f7f20
      https://github.com/llvm/llvm-project/commit/19de5dd722a4919cf29e67aee22af006033f7f20
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/include/flang/Runtime/CUDA/allocator.h

  Log Message:
  -----------
  [flang][cuda] Add CUFSetAssociatedStream entry point (#181313)


  Commit: 1d588c5c9b5042b1c11b9b9ce70d044fb3f750b0
      https://github.com/llvm/llvm-project/commit/1d588c5c9b5042b1c11b9b9ce70d044fb3f750b0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td

  Log Message:
  -----------
  [RISCV] Rename tablegen class VALU_MV_VS2->VEXT_MV_VS2. NFC

This better matches the scheduler model in the class.


  Commit: f2903793debde9f41b9083df225c17491a0396c4
      https://github.com/llvm/llvm-project/commit/f2903793debde9f41b9083df225c17491a0396c4
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC] Use static_assert to confirm SupportedOps is sorted (#181397)

Can be checked at compile time.


  Commit: 620f162f8f13a6d8ee1ec19478bdd47466c5e50a
      https://github.com/llvm/llvm-project/commit/620f162f8f13a6d8ee1ec19478bdd47466c5e50a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-asset-audit.yml

  Log Message:
  -----------
  Revert "workflows: Use main-branch-only environment when using ISSUE_SUBSCRIBER_TOKEN (#179990)" (#181352)

This reverts commit 31f31dd9d0460834f2ae67247d3886fec4931d6d.

This commit was causing PRs to be spammed with messages like:

"llvmbot temporarily deployed to main-branch-only — with GitHub Actions
Inactive"

This was causing confusion, and is not worth the marginal security
benefit. I also think this can be avoided by using called workflows, but
I still need to investigate this.


  Commit: fbf5bac1079be628111e8a3f1747d66b227017ca
      https://github.com/llvm/llvm-project/commit/fbf5bac1079be628111e8a3f1747d66b227017ca
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M .github/workflows/commit-access-review.yml

  Log Message:
  -----------
  workflows/commit-access-review: Use a GitHub App access token instead of llvmbot (#179364)

This replaces the use of an access token associated with the llvmbot
account with one that is generated by a GitHub App. This is slightly
better, because it eliminates the need to periodically rotate the
llvmbot tokens, which is difficult to do, since it requires sharing a
password and 2fa code among all the admins.

The tokens generated by the app automatically expire after an hour, and
the private key that is used to request it can be easily rotated by an
LLVM Organization owner. Also, since a single private key can be used to
generate many tokens, there is only one secret to rotate instead of
many.


  Commit: de1b63ec5dad4f97368313e06edf221bd8dbf467
      https://github.com/llvm/llvm-project/commit/de1b63ec5dad4f97368313e06edf221bd8dbf467
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/test/CIR/CodeGen/try-catch-tmp.cpp

  Log Message:
  -----------
  [CIR][NFC] Fix try-catch-tmp.cpp test (#181402)

This test was failing due to its CI having been run before another
change was committed that added attributes to return values. This
removes unnecessary checks to make the test pass again.


  Commit: 375f1995224ce8bd52e97c7898a22564bee15056
      https://github.com/llvm/llvm-project/commit/375f1995224ce8bd52e97c7898a22564bee15056
  Author: Yue Huang <30948580+AdUhTkJm at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Fix full dimension check (#175422)

Currently, the code mistakenly thinks `(x): (1 >= 0)` as
non-full-dimensional.

The code determines full-dimensionality by testing whether an inequality
is flat, i.e. takes the same value regardless of variable assignments.
However, `1 >= 0` is obviously flat, and this case should be ignored
since it didn't involve any variables.

To remove these inequalities, we can call `removeTrivialRedundancy`.


  Commit: 648bd564d0bd66b4cc1b0a6607a15e15b3171204
      https://github.com/llvm/llvm-project/commit/648bd564d0bd66b4cc1b0a6607a15e15b3171204
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/test/CodeGen/SystemZ/systemz-ppa2.c
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/SystemZ/call-zos-02.ll
    M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/llvm.sincos.ll
    M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
    M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
    M llvm/test/CodeGen/SystemZ/zos-ada.ll
    M llvm/test/CodeGen/SystemZ/zos-alias-unsupported.ll
    M llvm/test/CodeGen/SystemZ/zos-dwarf.ll
    M llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
    M llvm/test/CodeGen/SystemZ/zos-func-alias.ll
    M llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
    M llvm/test/CodeGen/SystemZ/zos-intrinsics.ll
    M llvm/test/CodeGen/SystemZ/zos-jumptable.ll
    M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
    M llvm/test/CodeGen/SystemZ/zos-lower-constant.ll
    M llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
    M llvm/test/CodeGen/SystemZ/zos-ret-addr.ll
    M llvm/test/CodeGen/SystemZ/zos-simple-test.ll
    M llvm/test/CodeGen/SystemZ/zos-stackpointer.ll
    M llvm/test/CodeGen/SystemZ/zos-symbol-1.ll
    M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll
    M llvm/test/CodeGen/SystemZ/zos_sinit.ll
    M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s

  Log Message:
  -----------
  [SystemZ][z/OS] Migrate most test case to use HLASM syntax (#181222)

This PR migrates all but two test cases to use HLASM syntax. It also
flips the default for the command line option, making HLASM output the
default.
The missing test cases requires some more support in the HLASM streamer,
which I will add separately.


  Commit: 37aaff3fef7f0344299ddbf7b19a53c25e7ca951
      https://github.com/llvm/llvm-project/commit/37aaff3fef7f0344299ddbf7b19a53c25e7ca951
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  [Thread Analysis] Fix a bug in context update in alias-analysis (#178952)

[Thread Analysis] Fix a bug in context update in alias-analysis
    
Previously, in 'updateLocalVarMapCtx', context was updated to the one
immediately after the provided statement 'S'.  It is incorrect,
because 'S' hasn't been processed at that point.  This issue could
result in false positives.  For example,
    
```
    void f(Lock_t* F)
    {
        Lock_t* L = F; // 'L' aliases with 'F'
        L->Lock();     // 'L' holds the lock
        // Before the fix, the analyzer saw the definition of 'L' being cleared before 'L' was unlocked.
        unlock(&L);    // unlock (*L)
    }
```
This commit fixes the issue.
    
rdar://169236809


  Commit: 6b5c440a676defbbbef3f6a42404b0be2b3da54c
      https://github.com/llvm/llvm-project/commit/6b5c440a676defbbbef3f6a42404b0be2b3da54c
  Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
    M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp

  Log Message:
  -----------
  [mlir][xegpu] Add support for `vector.reduction` and `vector.multi_reduction` subgroup to work-item distribution. (#180308)

This PR adds support for lowering of `vector.reduction` and
`vector.multi_reduction` ops in subgroup to work-item distribution.

Following cases are considered currently (more support will be added
later):

* `vector.reduction` : This assumes the source vector is distributed to
all lanes and lanes must shuffle data to do a collaborative reduction.
result is shared among all lanes. This is done by emitting
`gpu::ShuffleOp` s and doing a butterfly reduction. Refer
`VectorDistribution` for more details.
* `vector.multi_reduction`: 2 cases are considered,

1. **Reduction is lane-local**: simply lower to a lane local multi
reduction op. each lane does its own reduction. result is distributed.
2. **Reduction is not lane-local:** This one is handled indirectly. In
this case, we rewrite the reduction in terms of `vector.reduction` ops
(plus exrtact. insert) before the WI distribution even begin. Then whole
things is distributed using `gpu::ShuffleOp` s later (not fullly
supported yet).


  Commit: 5f8053b0d8953cf90368e5f447b2e58ebce297a1
      https://github.com/llvm/llvm-project/commit/5f8053b0d8953cf90368e5f447b2e58ebce297a1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rv32p.ll

  Log Message:
  -----------
  [RISCV] In tryWideningMulAcc, check multiple users before checking operand 1. (#181321)

If both operands are WMUL, we should still consider the second one if
the first one has multiple users.


  Commit: af1a5c5c24fa7d0f6fd4445242a0d8f2ce7dd2ba
      https://github.com/llvm/llvm-project/commit/af1a5c5c24fa7d0f6fd4445242a0d8f2ce7dd2ba
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv32.mir

  Log Message:
  -----------
  [GISel][RISCV] Simplify the generated code for narrowScalarCTLS. (#180827)

Instead of trying to make CTLS work for the Lo part, conditionally
invert Lo using the Hi sign bit, then do a CTLZ. If the CTLZ is
zero, then the Lo sign bit differs from the Hi sign bit. Otherwise,
each leading zero represents an additional sign bit.

This generates better code when CTLS and CTLZ are both supported.
I've added Zbb to the P extension command line for RISC-V since
P is likely to imply Zbb when it is ratified, but that isn't written
in the spec yet. If that doesn't happen, I expect CLZ would get
added back to the P extension.


  Commit: 343103a68054fe9979ac85518ecf5d9c5d703d2c
      https://github.com/llvm/llvm-project/commit/343103a68054fe9979ac85518ecf5d9c5d703d2c
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/ppc_test_data_class.ll

  Log Message:
  -----------
  [NFC] Pre-Commit test case for __builtin_ppc_test_data_class (#181181)

add a pre-commit test case for __builtin_ppc_test_data_class


  Commit: 8cd31aa2c6c139b5f569b94c25462d7fcecdf7aa
      https://github.com/llvm/llvm-project/commit/8cd31aa2c6c139b5f569b94c25462d7fcecdf7aa
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M lldb/include/lldb/Breakpoint/StopCondition.h
    A lldb/test/API/functionalities/breakpoint/update_condition/Makefile
    A lldb/test/API/functionalities/breakpoint/update_condition/TestUpdateBreakpointCondition.py
    A lldb/test/API/functionalities/breakpoint/update_condition/main.c

  Log Message:
  -----------
  [lldb/Breakpoint] Fix condition hash after updating condition text (#181409)

StopCondition::SetText was computing the hash from the moved-from text
parameter instead of the stored m_text member. After std::move(text),
the source parameter becomes empty, causing the hash to always be
computed from an empty string.

This caused breakpoint condition updates to fail silently. When a user
modified a condition (e.g., from "x == y" to "x > y"), the hash remained
unchanged. Breakpoint locations use this hash to detect when conditions
need re-evaluation, so with a stale hash they would continue using
cached state for the old condition, triggering at incorrect locations.

The patch fixes this issue by computing the hash from m_text after the
move operation, ensuring it reflects the actual stored condition text.

It also adds API test that updates a breakpoint condition and verifies
the new condition is properly evaluated.

rdar://170191229

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 742af32b67c0d70ced4837fbde778ee5ea6529b4
      https://github.com/llvm/llvm-project/commit/742af32b67c0d70ced4837fbde778ee5ea6529b4
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
    A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm

  Log Message:
  -----------
  Reapply "[clang] Fix sema on ObjCLifetime conversion (#178524)" (#180817)

Clang can't handle objc lifetime correctly when casting We reuse the
approach similar to lifetime: First remove it before the conversion,
then add it back.

Add a test

Fixes https://github.com/llvm/llvm-project/issues/177478


  Commit: ecee70e210fa0a43b12d8ce7fe01f33bb8f84167
      https://github.com/llvm/llvm-project/commit/ecee70e210fa0a43b12d8ce7fe01f33bb8f84167
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    M libc/test/src/strings/wide_read_memory_test.cpp

  Log Message:
  -----------
  Implement vector version of memchr, and dispatch to same (#177711)

As in the description. 

This implementation shares quite a bit of code with the wide-read
versions of string_length.


  Commit: 43fcc262e7504f1d4219435c38e4c251199cbeb7
      https://github.com/llvm/llvm-project/commit/43fcc262e7504f1d4219435c38e4c251199cbeb7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M lld/MachO/Driver.cpp
    M lld/test/MachO/platform-version.s
    M llvm/include/llvm/Support/VersionTuple.h
    M llvm/lib/Support/VersionTuple.cpp
    M llvm/unittests/Support/VersionTupleTest.cpp

  Log Message:
  -----------
  [Support] Support 5-component VersionTuples (#181275)

LLDB parses compiler versions out of DW_AT_producer DWARF attributes
into a VersionTuple. The Swift compiler recently switched to 5-component
version numbers. In order to support this version scheme without growing
the size of VersionTuple, this patch dedicates the last 10 bits of the
build version to a 5th "sub-build" component. The Swift compiler
currently uses 1 digit for this and promises to never use more than 3
digits for the last 3 components.

This patch still leaves 6 decimal digits for the build component for
other version schemes.

rdar://170181060


  Commit: 781719778003ca298ca57e486ab629b7f384844b
      https://github.com/llvm/llvm-project/commit/781719778003ca298ca57e486ab629b7f384844b
  Author: Zack Johnson <zacklj89 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/asan/asan_malloc_win.cpp
    M compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
    A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp

  Log Message:
  -----------
  [ASan][Windows] Fix false positive for zero sized rtl allocations (#181015)

This is a follow up to #155943

On Windows, ASan's allocator internally upgrades zero-size allocation
requests to size 1 (since malloc(0) must return a unique non-NULL
pointer). However, when the user queries the allocation size through
Windows heap APIs (RtlSizeHeap, HeapSize, \_msize, GlobalSize,
LocalSize), ASan reports the internal size (1) instead of the originally
requested size (0).

This causes false positive heap-buffer-overflow errors in a common
pattern:

```c++
void *buf = HeapAlloc(GetProcessHeap(), 0, 0);
SIZE_T size = HeapSize(GetProcessHeap(), 0, buf);  // Returns 1, should be 0
if(size > 0) // could remove this and still be correct
    memset(buf, 0, size);  // ASan reports heap-buffer-overflow
```

The change adds a `from_zero_alloc` bit to `ChunkHeader` that tracks
whether an allocation was originally zero-size. This bit fits in the
existing spare capacity of the header's bitfield byte, so the 16-byte
ChunkHeader size is unchanged, but it also isn't the most elegant.

The 1-byte user region of a zero-size allocation is still poisoned, so
any actual access to it is correctly reported as an overflow.


  Commit: 4c3d5618d5d2bb203a0a9ddfe9418a954438b8d0
      https://github.com/llvm/llvm-project/commit/4c3d5618d5d2bb203a0a9ddfe9418a954438b8d0
  Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/unittests/CAS/CMakeLists.txt

  Log Message:
  -----------
  [llvm/unittests/CAS] Fix `CASTests` compilation when `LLVM_ENABLE_ONDISK_CAS=OFF` (#181403)


  Commit: b69292549552f53eeff7deebdd649a5a6522b7d0
      https://github.com/llvm/llvm-project/commit/b69292549552f53eeff7deebdd649a5a6522b7d0
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp

  Log Message:
  -----------
  [NFC][analyzer] Remove NodeBuilder::iterator (#181381)

This iterator class was used only once and even there it was easily
replaced by a more appropriate solution.

This commit is motivated by the fact that my recent commit
320d0b5467b9586a188e06dd2620126f5cb99318 turned
`IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into subclasses of
`NodeBuilder` and those classes have their own (slightly more useful)
`::iterator`s with very different behavior.


  Commit: b3dcf485d23a574e4c377739a32468240a87c2fc
      https://github.com/llvm/llvm-project/commit/b3dcf485d23a574e4c377739a32468240a87c2fc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll

  Log Message:
  -----------
  [VPlan] Compute NumPredStores for VPReplicateRecipe costs in VPlan.

Compute the number of predicated stores directly in VPlan instead of
using CM.useEmulatedMaskMemRefHack(), which will only account for the
number of predicated stores for the last VF the legacy cost model
considered.

Fixes https://github.com/llvm/llvm-project/issues/181183


  Commit: 65deb6c71e96fd7bb4a316305a522e4c604331af
      https://github.com/llvm/llvm-project/commit/65deb6c71e96fd7bb4a316305a522e4c604331af
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Hexagon.h
    R llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
    R llvm/test/CodeGen/Hexagon/avoid-debug-increment.mir
    M llvm/test/CodeGen/Hexagon/cext-check.ll
    R llvm/test/CodeGen/Hexagon/dbg-label-pullup.ll
    R llvm/test/CodeGen/Hexagon/global-sched-skip-vsub_fake.ll
    R llvm/test/CodeGen/Hexagon/pull-delayed-new.mir
    R llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
    R llvm/test/CodeGen/Hexagon/pull-up-dbg-label.mir
    R llvm/test/CodeGen/Hexagon/pull-up-slots.mir
    R llvm/test/CodeGen/Hexagon/pull-up.ll

  Log Message:
  -----------
  Revert "Add HexagonGlobalScheduler pass (#180803)" (#181418)

This reverts commit 892ac614bf8fafd4d13381bb45b369721309785a.


  Commit: 75cc975c2ced20465c7bbe3d79006cc50c414c5c
      https://github.com/llvm/llvm-project/commit/75cc975c2ced20465c7bbe3d79006cc50c414c5c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rv32p.ll

  Log Message:
  -----------
  [RISCV] Combine ADDD(lo, hi, x, 0) -> WADDAU(lo, hi, x, 0). Combine WADDAU (WADDAU lo, hi, x, 0), y, 0 -> WADDAU lo, hi, x, y (#181396)

WADDAU is rd += zext(rs1) + zext(rs2)

If we only have 1 32-bit input can force rs2 to avoid zeroing the upper
part of a register pair to use ADDD.

Unfortunately, WADDAU clobbers rd so it might need a GPRPair copy
if we need the old value of rd. We might need to look into that in
the future. Maybe we could have convertToThreeAddress could turn
it back into ADDD+WADDU or ADDD+LI.

Assisted-by: claude


  Commit: a38584e0afca6c3f3099e7ecc56a454f3a58db89
      https://github.com/llvm/llvm-project/commit/a38584e0afca6c3f3099e7ecc56a454f3a58db89
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang-tools-extra/clangd/ScanningProjectModules.cpp
    M clang/include/clang/DependencyScanning/DependencyScanningService.h
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
    M clang/unittests/Tooling/DependencyScannerTest.cpp

  Log Message:
  -----------
  [clang][deps] Extract service config into a struct (#181405)

Adding new configuration knobs in the scanner is fairly painful now,
especially with a diverging downstream. This patch extracts what was
previously passed into the service constructor into a struct. This
encourages one knob customization per line, reduces difficult merge
conflicts, `/*ArgName=*/`-style comments with copy-pasted defaults, etc.


  Commit: fa5f4afba9d8b5eeba30ddce25043f4e818686aa
      https://github.com/llvm/llvm-project/commit/fa5f4afba9d8b5eeba30ddce25043f4e818686aa
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Return void for `InstExecutor::visit*` methods. NFC. (#181421)

The status is now maintained inside of `setResult` and other helper
functions. So we don't need to propagate the error.
This patch was part of https://github.com/llvm/llvm-project/pull/181393.


  Commit: d4854177dd0513a07e3f2d8b1b5642f8226cead5
      https://github.com/llvm/llvm-project/commit/d4854177dd0513a07e3f2d8b1b5642f8226cead5
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/docs/index.rst
    M libcxx/include/__configuration/availability.h

  Log Message:
  -----------
  [libc++] Increase the minimum deployment target on macOS to 11.0 (#176094)

#166172 moved the effective minimum deployment target on macOS to 10.15
(because `aligned_alloc` is not defined before that in the C stdlib),
and indeed, it was mentioned in that PR that libc++ only supports macOS
11 and later.

This PR rectifies the documentation and the code to reflect the actually
supported deployment targets on macOS. See [1] for additional discussion
about this.

[1]: https://discourse.llvm.org/t/minimum-macos-deployment-target-increases-to-11-0-in-v22-1-visibility-discussion-on-update-policy


  Commit: b703f63697167b1cc3d68e6ef101c4fc8d4241a3
      https://github.com/llvm/llvm-project/commit/b703f63697167b1cc3d68e6ef101c4fc8d4241a3
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    A llvm/test/Transforms/PreISelIntrinsicLowering/looptrap.ll

  Log Message:
  -----------
  Add llvm.looptrap intrinsic.

The '``llvm.looptrap``' intrinsic is equivalent to
``llvm.cond.loop(true)``, but is also considered to be ``noreturn``,
which enables certain optimizations by allowing the optimizer to
assume that a branch leading to a call to this intrinsic was not
taken. A late optimization pass will convert this intrinsic to either
``llvm.cond.loop(true)`` or ``llvm.cond.loop(pred)``, where ``pred``
is a predicate for a conditional branch leading to the intrinsic call,
if possible.

Reviewers: fmayer, vitalybuka

Pull Request: https://github.com/llvm/llvm-project/pull/181299


  Commit: 55857e14bc2261305db70dbe1f0e3af93c229aad
      https://github.com/llvm/llvm-project/commit/55857e14bc2261305db70dbe1f0e3af93c229aad
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGenCXX/sanitize-trap-loop.cpp

  Log Message:
  -----------
  CodeGen: Switch to generating llvm.looptrap instead of llvm.cond.loop.



Reviewers: fmayer, vitalybuka

Reviewed By: fmayer

Pull Request: https://github.com/llvm/llvm-project/pull/181300


  Commit: 9fc0abdd8b5c9d3a4184da3916258a121173ea87
      https://github.com/llvm/llvm-project/commit/9fc0abdd8b5c9d3a4184da3916258a121173ea87
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M .github/workflows/commit-access-review.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-asset-audit.yml
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/ScanningProjectModules.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/concat-nested-namespaces/modernize-concat-nested-namespaces.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header-with-fix.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
    M clang/docs/ClangIRCleanupAndEHDesign.md
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/SourceLocation.h
    M clang/include/clang/CIR/ABIArgInfo.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
    M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/MemberPointer.cpp
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/EHScopeStack.h
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningService.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/complex.c
    M clang/test/AST/ByteCode/complex.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/invalid.cpp
    M clang/test/AST/ByteCode/memberpointers.cpp
    M clang/test/AST/ByteCode/vectors.cpp
    M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
    A clang/test/Analysis/indirect-goto-basics.c
    M clang/test/Analysis/misc-ps-region-store.cpp
    A clang/test/Analysis/switch-basics.c
    M clang/test/C/C2y/n3369.c
    M clang/test/CIR/CodeGen/assign-operator.cpp
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
    M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
    M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
    M clang/test/CIR/CodeGen/derived-to-base.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
    M clang/test/CIR/CodeGen/forrange.cpp
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    M clang/test/CIR/CodeGen/goto.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/inline-attributes.cpp
    M clang/test/CIR/CodeGen/inline-cxx-func.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/no-odr-use.cpp
    M clang/test/CIR/CodeGen/pack-indexing.cpp
    A clang/test/CIR/CodeGen/ret-attrs.cpp
    A clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/string-literals.cpp
    M clang/test/CIR/CodeGen/struct-init.cpp
    M clang/test/CIR/CodeGen/template-specialization.cpp
    M clang/test/CIR/CodeGen/temporary-materialization.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/CodeGen/try-catch-tmp.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/variable-decomposition.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
    M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/IR/invalid-static-local.cir
    M clang/test/CIR/IR/static-local.cir
    M clang/test/CIR/func-simple.cpp
    M clang/test/CodeGen/SystemZ/systemz-ppa2.c
    M clang/test/CodeGenCXX/cxx2a-consteval.cpp
    M clang/test/CodeGenCXX/exceptions-seh.cpp
    A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
    M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
    M clang/test/Preprocessor/has_include.c
    A clang/test/SemaCXX/GH167120.cpp
    A clang/test/SemaCXX/address-space-new-delete.cpp
    M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
    M clang/test/SemaCXX/return-noreturn.cpp
    M clang/test/SemaCXX/warn-loop-analysis.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp
    M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
    M clang/unittests/Tooling/DependencyScannerTest.cpp
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/asan/asan_malloc_win.cpp
    M compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
    A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Semantics/expression.cpp
    A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir
    A flang/test/Semantics/cuf17.cuf
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    M libc/test/CMakeLists.txt
    A libc/test/lit.cfg.py
    A libc/test/lit.site.cfg.py.in
    M libc/test/src/strings/wide_read_memory_test.cpp
    A libc/utils/libctest/__init__.py
    A libc/utils/libctest/format.py
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/docs/index.rst
    M libcxx/include/__charconv/from_chars_integral.h
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__filesystem/path.h
    M libcxx/src/atomic.cpp
    M libcxx/test/benchmarks/adjacent_view_begin.bench.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp
    A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp
    M libcxx/utils/ci/lnt/run-benchmarks
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/MachO/Driver.cpp
    M lld/test/MachO/platform-version.s
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/API/SBProcessInfoList.h
    M lldb/include/lldb/Breakpoint/StopCondition.h
    M lldb/include/lldb/Breakpoint/StoppointHitCounter.h
    M lldb/include/lldb/Core/AddressRangeListImpl.h
    M lldb/include/lldb/Core/DebuggerEvents.h
    M lldb/include/lldb/Core/Declaration.h
    M lldb/include/lldb/Core/SourceLocationSpec.h
    M lldb/include/lldb/Core/SourceManager.h
    M lldb/include/lldb/Host/common/DiagnosticsRendering.h
    M lldb/include/lldb/Host/common/ZipFileResolver.h
    M lldb/include/lldb/Host/posix/Support.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
    M lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/include/lldb/Symbol/SymbolLocator.h
    M lldb/include/lldb/Target/BorrowedStackFrame.h
    M lldb/include/lldb/Target/RegisterTypeBuilder.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/Target/TraceCursor.h
    M lldb/include/lldb/Target/TraceDumper.h
    M lldb/include/lldb/Target/TraceExporter.h
    M lldb/include/lldb/Utility/AppleUuidCompatibility.h
    M lldb/include/lldb/Utility/ErrorMessages.h
    M lldb/include/lldb/Utility/FileSpecList.h
    M lldb/include/lldb/Utility/ScriptedMetadata.h
    M lldb/include/lldb/Utility/StreamBuffer.h
    M lldb/include/lldb/Utility/XcodeSDK.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/include/lldb/ValueObject/ValueObjectSynthetic.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/source/API/SBFile.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/Commands/CommandObjectDWIMPrint.cpp
    M lldb/source/Commands/CommandObjectProtocolServer.h
    M lldb/source/Commands/CommandObjectRegexCommand.h
    M lldb/source/Commands/CommandObjectScripting.h
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
    M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.h
    M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.h
    M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
    M lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.h
    M lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.h
    M lldb/source/Plugins/Instruction/RISCV/RISCVCInstructions.h
    M lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
    M lldb/source/Plugins/InstrumentationRuntime/BoundsSafety/InstrumentationRuntimeBoundsSafety.h
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/VerboseTrapFrameRecognizer.h
    M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.h
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmRemoteGDBServer.h
    M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.h
    M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.h
    M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
    M lldb/source/Plugins/Protocol/MCP/Resource.h
    M lldb/source/Plugins/Protocol/MCP/Tool.h
    M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.h
    M lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
    M lldb/source/Plugins/ScriptInterpreter/Lua/SWIGLuaBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
    M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.h
    M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h
    M lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
    M lldb/source/Plugins/TraceExporter/common/TraceHTR.h
    M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
    M lldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h
    M lldb/source/Target/BorrowedStackFrame.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Utility/WasmVirtualRegisters.h
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
    M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
    M lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
    M lldb/test/API/commands/frame/var-dil/basics/MemberOf/TestFrameVarDILMemberOf.py
    M lldb/test/API/commands/frame/var-dil/basics/PointerDereference/TestFrameVarDILPointerDereference.py
    M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
    A lldb/test/API/functionalities/breakpoint/update_condition/Makefile
    A lldb/test/API/functionalities/breakpoint/update_condition/TestUpdateBreakpointCondition.py
    A lldb/test/API/functionalities/breakpoint/update_condition/main.c
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    A lldb/test/API/tools/lldb-dap/unknown/Makefile
    A lldb/test/API/tools/lldb-dap/unknown/TestDAP_unknownRequest.py
    A lldb/test/API/tools/lldb-dap/unknown/main.c
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    A lldb/tools/lldb-dap/Handler/UnknownRequestHandler.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/SourceBreakpoint.cpp
    M llvm/examples/BrainF/BrainF.cpp
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/ADT/STLForwardCompat.h
    M llvm/include/llvm/Support/VersionTuple.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Support/VersionTuple.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
    A llvm/test/CodeGen/AMDGPU/twoaddr-regsequence-keep-copy-on-use.mir
    A llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
    A llvm/test/CodeGen/PowerPC/ppc_test_data_class.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv32.mir
    M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
    M llvm/test/CodeGen/RISCV/rv32p.ll
    A llvm/test/CodeGen/SPIRV/function/variadics-lowering-namespace-printf.ll
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
    M llvm/test/CodeGen/SPIRV/printf.ll
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/SystemZ/call-zos-02.ll
    M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    M llvm/test/CodeGen/SystemZ/llvm.sincos.ll
    M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
    M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
    M llvm/test/CodeGen/SystemZ/zos-ada.ll
    M llvm/test/CodeGen/SystemZ/zos-alias-unsupported.ll
    M llvm/test/CodeGen/SystemZ/zos-dwarf.ll
    M llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
    M llvm/test/CodeGen/SystemZ/zos-func-alias.ll
    M llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
    M llvm/test/CodeGen/SystemZ/zos-intrinsics.ll
    M llvm/test/CodeGen/SystemZ/zos-jumptable.ll
    M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
    M llvm/test/CodeGen/SystemZ/zos-lower-constant.ll
    M llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
    M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
    M llvm/test/CodeGen/SystemZ/zos-ret-addr.ll
    M llvm/test/CodeGen/SystemZ/zos-simple-test.ll
    M llvm/test/CodeGen/SystemZ/zos-stackpointer.ll
    M llvm/test/CodeGen/SystemZ/zos-symbol-1.ll
    M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll
    M llvm/test/CodeGen/SystemZ/zos_sinit.ll
    A llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-round.ll
    M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
    A llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll
    M llvm/test/Transforms/IndVarSimplify/turn-to-invariant.ll
    M llvm/test/Transforms/IndVarSimplify/unreachable-exit.ll
    M llvm/test/Transforms/InstCombine/and-xor-merge.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
    M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
    M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
    M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
    A llvm/test/tools/llubi/divrem_ub1.ll
    A llvm/test/tools/llubi/divrem_ub2.ll
    A llvm/test/tools/llubi/divrem_ub3.ll
    A llvm/test/tools/llubi/divrem_ub4.ll
    A llvm/test/tools/llubi/int_arith.ll
    M llvm/test/tools/llvm-objdump/MachO/dis-symname.test
    M llvm/tools/bugpoint/Miscompilation.cpp
    M llvm/tools/llubi/lib/Context.cpp
    M llvm/tools/llubi/lib/Interpreter.cpp
    M llvm/tools/llubi/lib/Value.h
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-objdump/MachODump.h
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/ADT/STLForwardCompatTest.cpp
    M llvm/unittests/CAS/CMakeLists.txt
    M llvm/unittests/Support/VersionTupleTest.cpp
    M llvm/utils/git/requirements_formatting.txt
    M llvm/utils/git/requirements_formatting.txt.in
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
    M mlir/docs/Bindings/Python.md
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/TransformOps/XeGPUTransformOps.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/python/mlir/dialects/transform/xegpu.py
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
    M mlir/test/Dialect/XeGPU/transform-ops-invalid.mlir
    M mlir/test/Dialect/XeGPU/transform-ops.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
    M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
    M mlir/test/python/dialects/transform_xegpu_ext.py
    M mlir/tools/mlir-tblgen/DialectGen.cpp
    M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
    M offload/CMakeLists.txt
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/device/olGetHostInfo.cpp
    M openmp/runtime/cmake/LibompMicroTests.cmake
    M openmp/runtime/src/include/ompx.h.var
    M openmp/runtime/test/tasking/issue-94260-2.c
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] landed version

Created using spr 1.3.6-beta.1


Compare: https://github.com/llvm/llvm-project/compare/b63b0e6428d8...9fc0abdd8b5c

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list