[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