[all-commits] [llvm/llvm-project] 84e6eb: [LLVM][InstCombine] Add fixed-point aspect to modu...
Ziqing Luo via All-commits
all-commits at lists.llvm.org
Wed Jun 17 15:18:41 PDT 2026
Branch: refs/heads/users/ziqingluo/ssaf-extractor-improve
Home: https://github.com/llvm/llvm-project
Commit: 84e6eb8ae98ddd3fdabbad5ab2ae0bc1cdcba706
https://github.com/llvm/llvm-project/commit/84e6eb8ae98ddd3fdabbad5ab2ae0bc1cdcba706
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/modular-format.ll
M llvm/test/Verifier/modular-format.ll
Log Message:
-----------
[LLVM][InstCombine] Add fixed-point aspect to modular printf attribute (#202425)
This commit adds support for the "fixed" aspect inside LLVM's modular
printf optimizer pass (InstCombineCalls.cpp). It implements a targeted
format string parser that scans constant format strings for "%r, %R, %k,
%K" specifiers to resolve if the "fixed" aspect is needed, falling back
to conservatively assumed needed if the format string is dynamic.
This commit also adds missing Verifier checks for modular-format,
including those that guard the parts of its syntax that are newly used
by this change.
Generated by Gemini; reviewed and edited manually.
Commit: b57c32db810bb8619220591224b4a71bc2d4b40d
https://github.com/llvm/llvm-project/commit/b57c32db810bb8619220591224b4a71bc2d4b40d
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
A lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Append access-violation detail to lldb-server stop description (#203301)
`lldb-server.exe` reports access violations with only the bare exception
code (e.g. `Exception 0xc0000005 encountered at address 0x...`), while
the in-process Windows debugger produces the much more useful `Access
violation
reading location 0x...` / `writing` / `DEP at` form.
This patch lifts the in process helper into a method of the
`ExceptionRecord` class to allow both Windows plugins to use it.
This fixes `exception_access_violation.cpp` with
`LLDB_USE_LLDB_SERVER=1`.
rdar://179366768
Commit: 8c64020b2397fc5dddd577276020cbb30cdbc6cc
https://github.com/llvm/llvm-project/commit/8c64020b2397fc5dddd577276020cbb30cdbc6cc
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/ICF.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.h
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/SymbolTable.h
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/Writer.cpp
A lld/test/MachO/bp-section-orderer-cold.s
A lld/test/MachO/cold-func-weak-merge.s
A lld/test/MachO/cold-func.s
Log Message:
-----------
[lld][MachO] Add N_COLD_FUNC support (#183909)
Parse `N_COLD_FUNC` from input object files and use it to move cold
functions to the end of __text, after all non-cold and ordered symbols.
Key behaviors:
- Cold functions are placed after all non-cold unordered symbols.
- Order file entries take precedence over the cold attribute: a cold
function listed in the order file retains its specified position.
- BP interaction: utilize the subgrouping introduced in #185661 to split
`N_COLD_FUNC` sections into a distinct subgroup.
- ICF interaction: when a non-cold section is folded into a cold master,
the master's coldness is unset. With safe_thunks, cold
address-significant functions get cold thunks placed in the cold region.
- The `N_COLD_FUNC` flag is stripped from the output symbol table.
Commit: 1d8dc059d8e183e95ab71e162f1b47aca659971b
https://github.com/llvm/llvm-project/commit/1d8dc059d8e183e95ab71e162f1b47aca659971b
Author: Aayush Shrivastava <iamaayushrivastava at gmail.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix crash on assert !Scopes.empty() in parseBrace() (#199100)
Fixes #199017
When angle-bracket parsing fails and resets the token stream, a closing
brace can be consumed twice through `parseConditional()`, each time
popping one entry from Scopes. This leaves Scopes empty when
`parseBrace()` encounters the legitimate closing brace, triggering the
assertion.
Replace the assert with a graceful return false, consistent with the
existing unbalanced-brace handling in `consumeToken()`.
Commit: 99ecce0d4adacbe71cce8e27e427011c76ead17f
https://github.com/llvm/llvm-project/commit/99ecce0d4adacbe71cce8e27e427011c76ead17f
Author: Christopher Di Bella <cjdb at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/vector/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/vector/TestDataFormatterLibcxxVectorSimulator.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/vector/main.cpp
Log Message:
-----------
Teach LLDB's pretty-printer about libc++'s various `std::vector` layouts (#202438)
PR #155330 changes `std::vector` from unconditionally using three
pointers to represent its layout to potentially using three pointers or
a begin pointer and two integers. This commit changes LLDB so that it
can robustly work with the legacy vector layout, the new pointer layout,
and the new size-based layout.
Commit: 57d06749766b6e99ee52fdfd874ead83595ad505
https://github.com/llvm/llvm-project/commit/57d06749766b6e99ee52fdfd874ead83595ad505
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/test/CIR/CodeGen/bind-temporary-lvalue.cpp
Log Message:
-----------
[CIR] Fix bind-temporary-lvalue test (#203391)
This test was merged with checks for the old alloca format
Commit: fafc55b27f8b68279f9b32968ef903ddfccd3a62
https://github.com/llvm/llvm-project/commit/fafc55b27f8b68279f9b32968ef903ddfccd3a62
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
A llvm/test/CodeGen/AMDGPU/packed-fp64.ll
A llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
M llvm/test/MC/AMDGPU/gfx1251_err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Add gfx1251 V_PK_ADD_F64 (#203382)
Commit: 8449a84b770b0ae15eb6b7595ea93c93323e6ac2
https://github.com/llvm/llvm-project/commit/8449a84b770b0ae15eb6b7595ea93c93323e6ac2
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/docs/ClangSYCLLinker.rst
A clang/test/OffloadTools/clang-sycl-linker/archive-extras.ll
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/link.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
A clang/test/OffloadTools/clang-sycl-linker/weak-symbols.ll
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Add static archive (.a) support (#202829)
Add support for static archives of LLVM bitcode files to
clang-sycl-linker. The archive member-selection engine (a symbol-driven
fixed-point lazy extraction loop) is simplified to bitcode-only
handling.
clang-sycl-linker gains -l/--library,
--whole-archive/--no-whole-archive, and -u/--undefined options. The
previous --bc-library option is removed in favor of the standard -l
mechanism. Inputs (positional files and -l libraries) are now resolved
to in-memory buffers; archive members are pulled in lazily only when
they resolve undefined symbols, and bitcode is loaded with
parseBitcodeFile.
Co-Authored-By: Claude
---------
Co-authored-by: Yury Plyakhin <yury.plyakhin at intel.com>
Commit: 0d490215a541cf91b8e24e697570bb1cc938078d
https://github.com/llvm/llvm-project/commit/0d490215a541cf91b8e24e697570bb1cc938078d
Author: adams381 <adams at nvidia.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
A clang/test/CIR/CodeGen/string-literal-high-bytes.c
Log Message:
-----------
[CIR] Lower string literals with high-bit bytes (#203384)
A string literal containing a byte >= 0x80 crashes CIR-to-LLVM lowering.
`convertStringAttrToDenseElementsAttr` builds each element's `APInt`
from a signed `char`, so a high-bit byte sign-extends to a 64-bit value
that no longer fits the 8-bit element width and trips the `APInt`
constructor assertion (`isUIntN(BitWidth, val) && "Value is not an N-bit
unsigned value"`).
Interpreting each string byte as `unsigned char` fixes it, mirroring
what #197269 did for scalar character literals. The string-literal array
path was the remaining site with the same defect, and the lowered LLVM
is byte-identical to classic CodeGen.
Repro: `char s[] = "\x80";` compiled with `-fclangir -emit-llvm`. This
also clears a cluster of SingleSource gcc-torture globals that embed
high-byte string data.
These globals compiled until #198427 removed the trailing-zeros
fast-path in the same lowering. String literals always carry a null
terminator (trailing zeros), so they previously took the insertvalue
path and never reached `convertStringAttrToDenseElementsAttr`; #198427
routes them through it and exposed this latent sign-extension bug.
Commit: 240539f1c1ba5f72ce5879807ed1a6dd5b694ef5
https://github.com/llvm/llvm-project/commit/240539f1c1ba5f72ce5879807ed1a6dd5b694ef5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Log Message:
-----------
[VPlan] Account for canonical IV being simplified in verifier. (#203403)
In plain CFG plans, VPCurrentIterationPHIRecipe may be the first recipe,
if the canonical IV phi has been removed because it became unused (e.g.
the vector loop is known to only execute a single iteration).
Fixes https://lab.llvm.org/buildbot/#/builders/187/builds/20801.
Commit: 44c543639726d6c40017a20d73b572d26fceb698
https://github.com/llvm/llvm-project/commit/44c543639726d6c40017a20d73b572d26fceb698
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/struct_tm.h
A libc/include/llvm-libc-types/tm_gmtoff_t.h
M libc/include/time.yaml
M libc/src/time/strftime_core/converter.h
M libc/src/time/time_utils.h
M libc/test/src/time/strftime_test.cpp
Log Message:
-----------
[libc] Add timezone extensions to struct tm and time.h (#203381)
Added timezone extensions to struct tm and time.h:
* struct tm: Added tm_gmtoff and tm_zone, with __tm_gmtoff and __tm_zone
aliases defined as macros.
* time.h: Added tm_gmtoff_t type.
Updated gmtime and localtime to initialize these fields, and enabled %z
and %Z support in strftime.
These changes are implemented unconditionally. While the timezone
database loading is not yet implemented (so local time offsets default
to UTC/0), the timezone formatting and struct field support is fully
complete. Implementing this conditionally would require complex
build-time configuration and conditional inclusion of code, which is
avoided as this implementation is already a complete improvement over
the previous state.
Assisted-by: Automated tooling, human reviewed.
Commit: 112fb2f79d7983be203957cad6b148865182ed47
https://github.com/llvm/llvm-project/commit/112fb2f79d7983be203957cad6b148865182ed47
Author: mleair <leairmark at gmail.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M flang/lib/Parser/Fortran-parsers.cpp
A flang/test/Parser/recovery09.f90
Log Message:
-----------
[flang] Improve error for data component definition after CONTAINS in derived type (#203379)
When a data component declaration appears after CONTAINS in a derived
type definition, flang previously emitted confusing "expected 'FINAL'",
"expected 'GENERIC'", and "expected 'PROCEDURE'" errors for each
misplaced component.
This patch adds a misplaced-component detector following the same
pattern as `misplacedSpecificationStmt` in program-parsers.cpp.
DataComponentDefStmt is tried as a last alternative in
TypeBoundProcBinding's first(). When it matches, fail<>() fires
with the message:
error: component definition must precede CONTAINS in a derived type
CombineFailedParses then replaces the three keyword-mismatch messages
with this single targeted one, since the component parse advances
further than the PROCEDURE/GENERIC/FINAL failures.
Assisted-By: AI
Commit: 421d296893ed173846c0aceaee67cdafa67da07b
https://github.com/llvm/llvm-project/commit/421d296893ed173846c0aceaee67cdafa67da07b
Author: adams381 <adams at nvidia.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
A clang/test/CIR/Transforms/abi-lowering/indirect-return-sret.cir
Log Message:
-----------
[CIR] Lower sret returns in CallConvLowering (#201716)
Functions that return an aggregate by value classify their return as
ArgKind::Indirect, but CallConvLowering reached an errorNYI for that
case, so the whole CallConv pass refused to lower any struct-returning
function.
rewriteFunctionDefinition now recognizes an Indirect return: the wire
return type becomes void, a hidden sret pointer is prepended as block
argument 0, and every cir.return is routed through that pointer. Rather
than storing the loaded return value through the sret pointer (a
byte-copy that breaks non-trivially-copyable types -- libstdc++'s SSO
std::string keeps a _M_p pointer into its own _M_local_buf, so a
byte-copy leaves the destination aliasing the source's dying stack
storage), insertSRetStores rewires the __retval alloca to the sret
pointer so construction flows directly into the caller's slot, matching
classic CodeGen's "construct into %agg.result" pattern. CIRGen emits one
cir.load __retval / cir.return pair per return statement, all reading
the
single __retval alloca, so the alloca is rewired once and every return
is
collapsed to a bare return. That cir.return (cir.load <alloca>) shape is
treated as an invariant and asserted with cast<> rather than guarded by
a
fallback. The sret parameter carries sret(T) align A writable
dead_on_unwind, plus noalias on definitions.
rewriteCallSite prepends the return slot, makes the call return void,
and reads the result back. When the result has a single store-into-dest
use whose destination dominates the call, it reuses that destination as
the sret slot and drops the redundant store, so the callee writes
straight into the local with no copy; otherwise it allocates a fresh
slot
and loads the value out. The slot's
per-argument attributes go through the same updateArgAttrs path as the
non-sret case, so sret composes with Extend (signext/zeroext) and Ignore
arguments.
byval indirect arguments and Expand are still errorNYI.
Co-authored-by: Cursor <cursoragent at cursor.com>
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 3397635cb50abdc9413246a3810f7d1701211f0b
https://github.com/llvm/llvm-project/commit/3397635cb50abdc9413246a3810f7d1701211f0b
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
M llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
M llvm/test/MC/AMDGPU/gfx1251_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Add gfx1251 V_PK_MUL_F64 (#203410)
Commit: 673ec226f6fae99ab58cb1cff90a795b03a17f80
https://github.com/llvm/llvm-project/commit/673ec226f6fae99ab58cb1cff90a795b03a17f80
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
Log Message:
-----------
[lldb][macosx] Pare down the SimulatPlatform tests, don't run on intel (#203417)
TestSimulatorPlatform.py is flakey on the Intel Mac CI, doing a
'platform process list' and not getting a reply back. The issue is only
happening on the old Intel mac CI and not the newer arm64 CI's; it is
not important. I am skipping this test on the Intel mac CI.
I'm also removing test runs that try to build 32-bit binaries (i386,
armv7k) and the tests that would explicitly test for a legacy build load
command (e.g. `LC_VERSION_MIN_IPHONEOS`); we don't support building back
to when OSes were using those, any more.
Commit: bd1de35f75bf1b08c02939fc9c4b67c45630d902
https://github.com/llvm/llvm-project/commit/bd1de35f75bf1b08c02939fc9c4b67c45630d902
Author: Xyloflake <xyloflake at gmail.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Add Apple M5 host detection (#200616)
The values have been taken from `mach/machine.h` in the Xcode 26.5 SDK.
Commit: bfca0db5bd17ab116cd70464d7e1099b07a5872b
https://github.com/llvm/llvm-project/commit/bfca0db5bd17ab116cd70464d7e1099b07a5872b
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/CBuffer.h
M llvm/lib/Frontend/HLSL/CBuffer.cpp
M llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
M llvm/lib/Target/SPIRV/SPIRVCBufferAccess.cpp
Log Message:
-----------
[NFC][DirectX][SPIRV] Remove helper from HLSLFrontend (#203401)
Remove helper function `removeCBufferGlobalsFromUseList` which basically
implements existing `llvm::removeFromUsedLists`. Modify the passes that
use it to call `llvm::removeFromUsedLists`.
Follow-up on
https://github.com/llvm/llvm-project/pull/202745#discussion_r3398119720
Commit: 10836c2234c480ac943850fec9359c83dba2d45d
https://github.com/llvm/llvm-project/commit/10836c2234c480ac943850fec9359c83dba2d45d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
M llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
M llvm/test/MC/AMDGPU/gfx1251_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Add gfx1251 V_PK_FMA_F64 (#203418)
Commit: 2e708e7c90e611a57f7e748347acc4dbd540e43a
https://github.com/llvm/llvm-project/commit/2e708e7c90e611a57f7e748347acc4dbd540e43a
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M libcxx/include/optional
M libcxx/test/std/utilities/optional/optional.syn/optional_in_place_t.verify.cpp
M libcxx/test/std/utilities/optional/optional.syn/optional_nullopt_t.verify.cpp
Log Message:
-----------
[libc++] Reimplement `optional<T&>` as a partial specialization (#201983)
- Break out the `optional<T&>` implementation that was interwoven with
the regular interface
- This should simplify the implementation
- And fix a missed added constraint for the `std::swap` specialization.
Commit: 9f1e08fa8ed7bcf4b7cfaf9eaaa7c23a2d3ed347
https://github.com/llvm/llvm-project/commit/9f1e08fa8ed7bcf4b7cfaf9eaaa7c23a2d3ed347
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
Log Message:
-----------
[SSAF][Extractor] Make hard errors in PointerFlow and UnsafeBufferUsage Extractors quiet (#201953)
Hard errors were used in extractors during development to quickly
identify unsupported language constructs. This commit converts them to
DEBUG_WITH_TYPE so that these errors are silenced in release builds.
In addition, translating unsupported language constructs now silently
results in an empty EntityPointerLevelSet. The PointerFlowExtractor will
skip empty sets for either the source or the destination when building
edges to avoid an ill-formed edge set data structure.
rdar://178747892
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: 48813264376be9868bec78fa1653bc9003db512f
https://github.com/llvm/llvm-project/commit/48813264376be9868bec78fa1653bc9003db512f
Author: SeongJaePark <111725324+SeongjaeP at users.noreply.github.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/test/Dialect/Vector/vector-contract-to-parallel-arith-transforms.mlir
Log Message:
-----------
[mlir][vector][NFC] Document and simplify vector contract reshape helpers (#200544)
Replace the bare `// TODO` placeholders above `reshapeLoad` and
`reshapeStore`
in `LowerVectorContract.cpp` with doc comments describing each helper's
semantics (the `index == -1` / `index == 0` / `index > 0` cases) and
short
before/after IR examples.
Also drop the redundant `VectorType` parameter from both helpers; the
type is
now inferred from the value operand (`val` for `reshapeLoad`, `result`
for
`reshapeStore`).
Add a LIT test that exercises the recursive `reshapeLoad` unroll path by
mapping a parallel iterator to a non-leading dimension, which falls
through
to the generic `lowerParallel` / `reshapeLoad` path.
No functional change.
---------
Co-authored-by: sjae.park <dev at opt-ai.kr>
Commit: 7597c0c938b364306cbee21dd03835ff5b699c74
https://github.com/llvm/llvm-project/commit/7597c0c938b364306cbee21dd03835ff5b699c74
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.fmt-error.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] Validate WMMA scale/format combination (#203074)
Only some combinations are listed as supported.
Fixes: https://github.com/ROCm/llvm-project/issues/2634
Commit: 3ef102be08a0b9c3bd948e651d70f36dc73cc5ae
https://github.com/llvm/llvm-project/commit/3ef102be08a0b9c3bd948e651d70f36dc73cc5ae
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
Log Message:
-----------
[SSAF][PointerFlowExtractor] Handle empty initializer lists for scalars and unions (#201968)
Empty initializer lists for scalars and unions are corner cases that
were previously missed by the PointerFlowExtractor. This commit adds
support for these cases. Because the initializing values are implicitly
constant 0 (or nullptr), they do not bridge entity pointer levels.
rdar://178856689
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: d583701b350c8b8767cc8e6c17f03aa6336cfc1d
https://github.com/llvm/llvm-project/commit/d583701b350c8b8767cc8e6c17f03aa6336cfc1d
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Enable baremetal printf float320 (#203421)
For memory constrained baremetal devices using float320 seems a
reasonable option by default.
Commit: d543c49ad6bf02434abc5db85332d5ab45e6e3ca
https://github.com/llvm/llvm-project/commit/d543c49ad6bf02434abc5db85332d5ab45e6e3ca
Author: yueshe <yueshe1996 at gmail.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/darwin-objc-selector-stubs.m
Log Message:
-----------
[clang][Darwin] Disable ObjC class selector stubs when using LLD (#203388)
LLD does not support ObjC class selector stubs yet (which requires
synthesizing `objc_msgSendClass$...` stubs). This change disables
`-fobjc-msgsend-class-selector-stubs` by default when the linker is LLD.
Ref: https://github.com/llvm/llvm-project/issues/203385
Commit: 95746377678925adfe39c83081b4144d92c5d3b8
https://github.com/llvm/llvm-project/commit/95746377678925adfe39c83081b4144d92c5d3b8
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[Clang][RISCV] packed comparison intrinsics (#203191)
Add header wrappers for pmseq/pmsne/pmslt[u]/pmsgt[u]/pmsge[u]/pmsle[u]
as element-wise vector comparisons cast to the unsigned result type.
Commit: 7dcd1d2ad104c3f9748370a42dc775cd6e7e34dc
https://github.com/llvm/llvm-project/commit/7dcd1d2ad104c3f9748370a42dc775cd6e7e34dc
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
Log Message:
-----------
Revert "[SSAF][Extractor] Make hard errors in PointerFlow and UnsafeBufferUsage Extractors quiet (#201953)" (#203432)
This reverts commit 9f1e08fa8ed7bcf4b7cfaf9eaaa7c23a2d3ed347.
It causes build error:
https://lab.llvm.org/buildbot/#/builders/2/builds/53597.
The use of 'setCurrentDebugType' should be guarded by '#ifndef NDEBUG'
Commit: 8433cf6d6ccc49a0fd99ed86c7d94a1fbb2fd1be
https://github.com/llvm/llvm-project/commit/8433cf6d6ccc49a0fd99ed86c7d94a1fbb2fd1be
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
Log Message:
-----------
[AMDGPU] Make v2f64 fneg legal on gfx1251 (#203427)
Commit: b9704de13ca5ce3158c6681839162a791042c6f9
https://github.com/llvm/llvm-project/commit/b9704de13ca5ce3158c6681839162a791042c6f9
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[PassBuilder] Table-drive pass name printing (#202656)
Replace the macro-expanded raw_ostream operations in
PassBuilder::printPassNames with static pass-name arrays and two shared
noinline printing loops. Preserve the generated category order and the
exact spelling of parameterized pass names.
The change only executes when a client requests the pass-name listing;
normal pipeline parsing and optimization do not access the new tables or
helpers.
A stripped opt binary shrinks from 115,493,720 to 115,394,640 bytes,
saving 99,080 bytes. The linked __TEXT section shrinks by 98,304 bytes.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 15fdc79231b9d32a6bef89f5fc89105b8d3f9363
https://github.com/llvm/llvm-project/commit/15fdc79231b9d32a6bef89f5fc89105b8d3f9363
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel][DirectX] Fix 2bccbf23edddf216ef060d34443f60f644d0fb06 (#203442)
Add new dep on MC
Commit: 56f8fbb0149146f50aa8c905467b9384e8cb7bad
https://github.com/llvm/llvm-project/commit/56f8fbb0149146f50aa8c905467b9384e8cb7bad
Author: TelGome <93700071+TelGome at users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support Packed Averaging Addition and Subtraction intrinsics(#203147)
Commit: 69371e6c313063fac7fb580c126cb17996d71a01
https://github.com/llvm/llvm-project/commit/69371e6c313063fac7fb580c126cb17996d71a01
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Fix 8acfc364e9f788367ff0beab5c76a3527a689a0b (#203443)
Add extra htons yaml deps
Commit: 0591eef767078a0a079469656658c4a2fc017bbe
https://github.com/llvm/llvm-project/commit/0591eef767078a0a079469656658c4a2fc017bbe
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Move noundef assume bundles on loads into metadata (#203395)
Commit: beb2614e3ec915069380107409e88d002404aee9
https://github.com/llvm/llvm-project/commit/beb2614e3ec915069380107409e88d002404aee9
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Fix 582643f1ec62d0c81d97afcf1b741babb3152728 (#203449)
Add dep for dyadic float -> attributes
Commit: 2a6cfc5643053117b3baa301b91afaf9fc5edede
https://github.com/llvm/llvm-project/commit/2a6cfc5643053117b3baa301b91afaf9fc5edede
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M compiler-rt/test/fuzzer/features_dir.test
M compiler-rt/test/fuzzer/merge-posix.test
Log Message:
-----------
[Fuzzer] Make two tests compatible with the internal shell. (#203448)
1. Remove redundant parntheses that broke the internal shell's parsing
logic.
2. Use env when specifying environment variables.
3. Rewrite a bash one-line loop in python.
Commit: 62847ab7593df144a5708406e6240ec5e8a3a101
https://github.com/llvm/llvm-project/commit/62847ab7593df144a5708406e6240ec5e8a3a101
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Support zero/one result trivial operation lower via tablegen (#203183)
### summary
Lower zero result operation have been supported in this PR:
https://github.com/llvm/llvm-project/pull/202273
In this PR, the lowering of operations with zero-result and one-result
is changed to be automatically lowered via TableGen. This helps reduce
the size of the file
`clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp`
#### test
I thought existing lower tests can cover this PR, so I didn't add more
tests.
Assisted-by: Claude Opus 4.8
Commit: c1991da69a5f6bd7117224c68f2f66546264a743
https://github.com/llvm/llvm-project/commit/c1991da69a5f6bd7117224c68f2f66546264a743
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvm/barrier.mlir
Log Message:
-----------
[MLIR][NVVM] Update nvvm.barrier.arrive Op (#202608)
This change updates the `nvvm.barrier.arrive` Op to lower using
intrinsics instead of inline PTX. It also adds a new `aligned` attribute
to the Op to lower to both aligned and unaligned forms.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-bar
Commit: f3f7317aaf39928329dd453a6a340e6ddd027b81
https://github.com/llvm/llvm-project/commit/f3f7317aaf39928329dd453a6a340e6ddd027b81
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
Log Message:
-----------
[AMDGPU] Add MC clamp support for bf16 trans instructions (#203433)
Based on recent gfx1250 sp3 update. Refer to DEGFXSP3-664
Commit: 8679ab6267aeae9971cae4ed7eff9966e813e28d
https://github.com/llvm/llvm-project/commit/8679ab6267aeae9971cae4ed7eff9966e813e28d
Author: Hoàng Minh Thiên <hoangminhthien05022009 at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M libc/test/src/math/RoundToIntegerTest.h
Log Message:
-----------
[libc] [math] Fix build bot failure introduced by unit test in PR #201154 (#203457)
The root cause is that the unit test
`libc/test/src/math/RoundToIntegerTest.h` `#include <cfenv>` which
requires the macro `__GLIBC_PREREQ` to be defined. But in that riscv32
runtime, seems like it's not defined.
Removing the include works fine, and at the same time, would resolve the
failure.
Commit: 89a5c690e51a0ea33c962842f90a8ec89965afa3
https://github.com/llvm/llvm-project/commit/89a5c690e51a0ea33c962842f90a8ec89965afa3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M clang/lib/CodeGen/Targets/RISCV.cpp
Log Message:
-----------
[RISCV] Return the type from detectVLSCCEligibleStruct instead of using an output argument. NFC (#203423)
We can replace the previous bool return with the type and use nullptr for
false.
Commit: 452f59c8dc30a3bc16c691f5862bc5b39d97319a
https://github.com/llvm/llvm-project/commit/452f59c8dc30a3bc16c691f5862bc5b39d97319a
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
A llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
Log Message:
-----------
Reapply "[LoopUnroll] Support parallel reductions for minmax" (#201010)
Reapplies 1e79ea1f5b3e (#182473) reverted by 56ccbc253150 (#200892). The
revert was due to a profcheck failure: prof-verify reported "select
annotation missing" on the combine select createMinMaxOp emits for FP
fcmp+select min/max.
This patch fixes it by marking the branch weights of newly inserted
selects as explicitly unknown.
Commit: efb038f38f23ee201ac872ae98668c2ef922f0fa
https://github.com/llvm/llvm-project/commit/efb038f38f23ee201ac872ae98668c2ef922f0fa
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/Todo/error.f90
A flang/test/Lower/OpenMP/nothing.f90
Log Message:
-----------
[Flang][Openmp]Prevent TODO abort on nothing directive (#202679)
Since nothing is a no-op directive (OpenMP 5.2, 8.4), handle it during
lowering instead of falling through to the generic unimplemented
utility-directive path and triggering a TODO abort.
Commit: 06c7de45221621a0773d125ff7d016df87eb3d62
https://github.com/llvm/llvm-project/commit/06c7de45221621a0773d125ff7d016df87eb3d62
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFusion][NFC] Avoid copying fusion candidates per pair (#203461)
`fuseCandidates()` copied both candidates (each holding two
`SmallVector<Instruction *, 16>`) for every adjacent pair examined, even
pairs rejected by an early continue. Bind them by const reference; they
are only read before being erased from the list, and performFusion runs
before the erases.
Commit: 15e7f2e8f2a14e5d574eb8894a4cbba8546291ca
https://github.com/llvm/llvm-project/commit/15e7f2e8f2a14e5d574eb8894a4cbba8546291ca
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT] Propagate DataAggregator parse errors
Propagate perf/preaggregated input parsing errors through DataAggregator
instead of terminating from per-input aggregation jobs.
This lets multi-input aggregation report failed inputs as warnings when
at least one input succeeds while returning errors when all inputs fail.
It also converts pre-aggregated parsing diagnostics to returned Error
values and removes worker-path exits from perf setup and parsing.
Test Plan: updated pre-aggregated-perf.test
Reviewers: maksfb, rafaelauler, ayermolo, yozhu, yavtuk
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/200476
Commit: 2b04d746524f6970523ceda9a6a9489caa4f2337
https://github.com/llvm/llvm-project/commit/2b04d746524f6970523ceda9a6a9489caa4f2337
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT] Buffer DataAggregator diagnostics
To avoid mixed up error messages in multi-perf case, provide diagnostics
buffer and stream for each aggregator job.
Test Plan: updated pre-aggregated-perf.test
Reviewers: yavtuk, maksfb, rafaelauler, ayermolo, paschalis-mpeis, yozhu
Reviewed By: yavtuk
Pull Request: https://github.com/llvm/llvm-project/pull/203464
Commit: 62a2af17a33394ac6f286dc110633013cb01ed7d
https://github.com/llvm/llvm-project/commit/62a2af17a33394ac6f286dc110633013cb01ed7d
Author: Bastian Hagedorn <bhagedorn at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[MLIR][NVVM] Preserve PTX special registers in inline_ptx lowering (#203251)
`PtxBuilder::build()` converted operand placeholders (written as %0, %1,
and the predicate as @%N, since TableGen string attributes cannot
contain '$') to the inline-asm operand form with a blanket `replace(ptx,
'%', '$')`. That also rewrote literal PTX special-register names such as
%tid.x, %laneid and %dynamic_smem_size into $tid.x etc., producing
invalid PTX for any `nvvm.inline_ptx` whose body reads a special
register.
Convert only a '%' that is immediately followed by a digit (operand
placeholders and the @%N predicate); leave %<name> special registers
intact. PTX special registers always begin with a letter after '%', so
the digit test unambiguously distinguishes them from operand
placeholders.
Add an NVVMToLLVM regression test that reads %laneid through
nvvm.inline_ptx.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 7adb63de37b95dfbbb67ff775ba5e2bc93f15458
https://github.com/llvm/llvm-project/commit/7adb63de37b95dfbbb67ff775ba5e2bc93f15458
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaCustom.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
A mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode.mlir
Log Message:
-----------
[mlir][spirv] Lower mapped TOSA custom ops to ExperimentalML.Call (#202581)
Extend the TOSA to SPIR-V Graph conversion with an optional
custom-op-domain-to-opcode mapping. TOSA custom ops whose domain appears
in this mapping are lowered to spirv.ExperimentalML.Call using the
mapped CALL opcode. Later mappings for the same domain override earlier
ones, matching command-line option precedence.
For this TOSA lowering, CALL operands start with a spirv.array<N x i8>
carrying the operator_name byte blob. This is followed by another i8
array for implementation_attrs, then the original tensor inputs. Empty
strings are encoded as a single NUL byte because SPIR-V array types
require at least one element.
Use existing SPIR-V array constants for the metadata operands so the
target test stays on the SPIR-V binary round-trip path.
Signed-off-by: Niklas Lithammer <niklas.lithammer at arm.com>
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Co-authored-by: Niklas Lithammer <niklas.lithammer at arm.com>
Commit: fc8d61811e16874575a73df5e919201c903513c9
https://github.com/llvm/llvm-project/commit/fc8d61811e16874575a73df5e919201c903513c9
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/IR/Value.cpp
Log Message:
-----------
[IR] Fix deprecated-enum-enum-conversion C++20 warnings; NFC (#203277)
This addition of enum values resulted in many warnings of the form
warning: arithmetic between different enumeration types
'llvm::Value::ValueTy' and 'llvm::Instruction::TermOps' is
deprecated
Commit: 5ea65dfac0023ca82b8961f188d574c228657d22
https://github.com/llvm/llvm-project/commit/5ea65dfac0023ca82b8961f188d574c228657d22
Author: yueshe <yueshe1996 at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/darwin-objc-selector-stubs.m
Log Message:
-----------
Revert "[clang][Darwin] Disable ObjC class selector stubs when using LLD" (#203456)
Reverts llvm/llvm-project#203388
Unfortunately this breaks a bunch of tests on CI bots because they seem
to have LLD configured as the default linker. The tests were originally
written to expect `-fobjc-msgsend-class-selector-stubs`. Will have to
modify the tests as well
Commit: b086e198e241fdcde57a3f9961e7d8d3c3ca4a99
https://github.com/llvm/llvm-project/commit/b086e198e241fdcde57a3f9961e7d8d3c3ca4a99
Author: Tim Corringham <timothy.corringham at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/ParserHLSL/hlsl_is_array_attr.hlsl
A clang/test/ParserHLSL/hlsl_is_array_attr_error.hlsl
Log Message:
-----------
[HLSL] Add IsArray resource attribute (#201163)
First part of changes to add support for the IsArray resource attribute,
which will be used by the resource array types (Texture2DArray etc.).
These types will be implemented in subsequent changes.
This implements the attribute parsing and associated tests, and
implements the first part of #194910.
The Sema builtin argument checking and CodeGen will be included in a
subsequent PR which will implement a resource array type which will
allow those changes to be tested.
---------
Co-authored-by: Tim Corringham <tcorring at amd.com>
Commit: 630f30ca579575632937ff226c0feebb15d03623
https://github.com/llvm/llvm-project/commit/630f30ca579575632937ff226c0feebb15d03623
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
A clang/test/Analysis/pthreadlock-notes.c
Log Message:
-----------
[analyzer] Add path notes to PthreadLockChecker (#202473)
Bug reports from this checker lack context about where mutexes were
locked or unlocked, making it hard to understand the diagnostic without
reading surrounding code.
Add NoteTag on lock, unlock, destroy, and init events. Notes name the
mutex when possible and are filtered to only appear when the mutex is
relevant to the reported bug.
Commit: dbaa5e601ca06a88e66b95b94dc9d2974b1abded
https://github.com/llvm/llvm-project/commit/dbaa5e601ca06a88e66b95b94dc9d2974b1abded
Author: Fan Mo <w007878 at hotmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
M llvm/examples/Kaleidoscope/Chapter7/toy.cpp
Log Message:
-----------
[docs] Kaleidoscope Tutorial Chapter 7 - base class Value* used for AllocaInst for assignment expression (#202101)
Eariler in this chapther, the value type of `NamedValues` was changed to
`AllocaInst*`, and so did all other occurs for example in
`VariableExprAST` and `ForExprAST`.
https://github.com/llvm/llvm-project/blob/6f8a363a483489687597e29b8bda0975e821f188/llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst?plain=1#L321-L324
However, the newly added assignment expression is still using `Value*`
as the type for LHS. Although `Value` is the base class of `AllocaInst`
therefore the code compiles and works well, it's better to keep it
consistent
Commit: cb098aa073bbb6ce5d5854d402fbb3e9ecbaaca8
https://github.com/llvm/llvm-project/commit/cb098aa073bbb6ce5d5854d402fbb3e9ecbaaca8
Author: David Green <david.green at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
Log Message:
-----------
[AArch64] Change f128 costs to 10 * legalization factor. (#202555)
Lowering fadd, fsub, fmul, fdiv and frem will produce a libcall,
something that is always difficult to costmodel. This changes the cost
model to 10 to line up with the value we use for other libcalls.
Non-rthru costs will start to be used when we start producing accurate
non-rthru costs in getArithmeticInstrCost.
Commit: ce7dae3727322304712f6a1bcdebb254cad9ee60
https://github.com/llvm/llvm-project/commit/ce7dae3727322304712f6a1bcdebb254cad9ee60
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
Log Message:
-----------
[LV][NFC] Regenerate some CHECK lines (#203343)
Commit: 6a8ad9d1b5c2efc07899796d41956761bd4247b8
https://github.com/llvm/llvm-project/commit/6a8ad9d1b5c2efc07899796d41956761bd4247b8
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU][NFC] Simplify assertions (#203472)
Replace assertions that listed concrete types with generic ones that
check that the type is a vector with an even number of elements.
This keeps the spirit of the assertions and matches the code.
Commit: 15a37869a788864e6d12e805dd0de2dc07a0d764
https://github.com/llvm/llvm-project/commit/15a37869a788864e6d12e805dd0de2dc07a0d764
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[SPIR-V] Merge duplicate case bodies in addInstrRequirements (NFC) (#203177)
Commit: 90ca88b509d5c70e98002bde45453877a404ffc8
https://github.com/llvm/llvm-project/commit/90ca88b509d5c70e98002bde45453877a404ffc8
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[SPIR-V] Replace custom bitcast in FPMaxError decoration handling (NFC) (#203179)
Commit: 7acd9402f2dbf57e56703ccc2e2b97f51cc7e9dc
https://github.com/llvm/llvm-project/commit/7acd9402f2dbf57e56703ccc2e2b97f51cc7e9dc
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for init_whole_wave intrinsic (#203286)
Commit: 2e7e9c112d320d1ad032a14621c68b6b5c69a519
https://github.com/llvm/llvm-project/commit/2e7e9c112d320d1ad032a14621c68b6b5c69a519
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for load_to_lds intrinsic (#203282)
Commit: 81e9fa8d82fd2b6277362c9f27f25ffd24723cb0
https://github.com/llvm/llvm-project/commit/81e9fa8d82fd2b6277362c9f27f25ffd24723cb0
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for global_load_async_lds (#203280)
Commit: 03afb2a0d6becb394901328f051ee9452fb66057
https://github.com/llvm/llvm-project/commit/03afb2a0d6becb394901328f051ee9452fb66057
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for G_PREFETCH (#203265)
Commit: 1a4f405c318131c79df259008f76b0d0730d6130
https://github.com/llvm/llvm-project/commit/1a4f405c318131c79df259008f76b0d0730d6130
Author: Dan Bonachea <dobonachea at lbl.gov>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/__fortran_builtins.f90
M flang/CMakeLists.txt
Log Message:
-----------
[flang] __fortran_builtins: Update __builtin_team_type to meet PRIF specification (#202450)
The representation of `TEAM_TYPE` in the `ISO_FORTRAN_ENV` module is
opaque to the compiler, but the size (and alignment) needs to match the
PRIF specification for `prif_team_type` to ensure ABI compatibility with
the multi-image runtime library.
Flang's old definition as a derived type containing only an
`integer(int64)` component was leading to an 8-byte `TEAM_TYPE`. However
PRIF specifies the `prif_team_type` component as a `pointer` to an
opaque scalar type, which flang compiles to a 40-byte representation.
This mismatch was leading to incorrect behavior at runtime for programs
compiled with `-fcoarray` and using `TEAM_TYPE`, where `TEAM_TYPE`
values returned by PRIF were being silently truncated by the compiler.
Change the declaration of `__builtin_team_type` to match the PRIF
specification, thus ensuring the representation of `TEAM_TYPE` has the
required size.
Commit: b9339f0c9416b327f5130a78f33d4cbca5962fec
https://github.com/llvm/llvm-project/commit/b9339f0c9416b327f5130a78f33d4cbca5962fec
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M orc-rt/include/orc-rt-c/ExternC.h
Log Message:
-----------
[orc-rt] Fix an incorrect comment. (#203482)
Commit: a80153ea4f7dfcd6e0dcf2b415f9ace3cd54015a
https://github.com/llvm/llvm-project/commit/a80153ea4f7dfcd6e0dcf2b415f9ace3cd54015a
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for gfx950 smfmac intrinsics (#203287)
Commit: 951c67d4dbed4f87f366f1f911bc061bc6da1912
https://github.com/llvm/llvm-project/commit/951c67d4dbed4f87f366f1f911bc061bc6da1912
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
A clang/test/Driver/offload-darwin-host.hip
A clang/test/Driver/openmp-Xopenmp-target-forward-args.c
Log Message:
-----------
clang/AMDGPU: Use TranslateArgs from the base toolchain instead of the host (#198627)
This fixes -Xopenmp-target / -Xarch for arbitrary arguments. HIP and
OpenMP had cargo-cult broken implementations of TranslateArgs, which called the
host toolchain's implementation, and then special case transferred either
-march or -mcpu to the device argument list. The respective device forwarding
flags should work for any argument, not just this one. The main feature that
needs to be preserved is the shared filtering of unsupported sanitizers to
degrade them into warnings.
Most of the changes here are dealing with fallout observed when
the host target is darwin. The darwin toolchain happens to have
some hacky statefulness tracking the compile target version, which
gets written and rewritten on argument parsing. To maintain this hack,
there are a few unused calls to getArgsForToolChain; start passing
OFK_Host to these so the offload toolchains don't get confused and think
they're in a non-offload context.
Commit: ec60d62118bf17328b4d63c67eb981f9c8347d56
https://github.com/llvm/llvm-project/commit/ec60d62118bf17328b4d63c67eb981f9c8347d56
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/stepvector-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/vscale-cost.ll
Log Message:
-----------
[LV] Reland "Add costs for VPInstructionWithType::computeCost" (#202952)
The original change PR #198291 caused a crash due to an unreachable
opcode. I've added support for the missing opcode.
Commit: a0bad855ccb86c0ace7be1eb05e51895d61afecc
https://github.com/llvm/llvm-project/commit/a0bad855ccb86c0ace7be1eb05e51895d61afecc
Author: Abhinav Garg <abhinav.garg at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.s.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.s.buffer.load.subdword.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-s-buffer-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
Log Message:
-----------
[AMDGPU][GlobalIsel] Add RegBankLegalize rules and lowering for G_AMDGPU_S_BUFFER_LOAD (#192480)
Add RegBankLegalize rules and lowering for G_AMDGPU_S_BUFFER_LOAD and
sub-dword variants (UBYTE, SBYTE, USHORT, SSHORT). The lowering covers
all four rsrc/offset divergence combinations:
- Uniform rsrc + uniform offset → scalar SMEM (stays as-is)
- Uniform rsrc + divergent offset → MUBUF (S_BUF_to_BUF, no waterfall)
- Divergent rsrc + uniform offset → SMEM in waterfall loop over rsrc
- Divergent rsrc + divergent offset → MUBUF + waterfall over rsrc
TODO:
1. Fix legalize rule for intrinsic amdgcn_cvt_pkrtz to emit scalar cvt
operation in _/AMDGPU/scalar-float-sop2.ll_
2. Fix offset for GFX1250 in
_/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll_ as done by
PR#178389
Commit: 3922f3c505a4a9dffca840508d2ea3e5f0549412
https://github.com/llvm/llvm-project/commit/3922f3c505a4a9dffca840508d2ea3e5f0549412
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Use uint64 for GetExceptionArguments (#203485)
Intended to fix the build failure mentioned in
https://github.com/llvm/llvm-project/pull/203301#issuecomment-4688315446.
Makes sure we always use a 64 bit int, as the minidump exception record
specifies the arguments to be 64 bit. `unsigned long long` is also 64
bit on Windows, but I think `uint64_t` conveys that we actually want a
64bit int.
Then updates uses of the return value to use `uint64_t` over
`ULONG_PTR`.
Commit: 1727b22f5ab476db6b67ff93d5eaf1187e0ecc29
https://github.com/llvm/llvm-project/commit/1727b22f5ab476db6b67ff93d5eaf1187e0ecc29
Author: Konstantin Belochapka <konstantin.belochapka at sony.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/DTLTO/DTLTO.cpp
M llvm/test/ThinLTO/X86/dtlto/timetrace.ll
Log Message:
-----------
[DTLTO] Added missing timetrace "Check cache for DTLTO" message. (#203215)
After the DTLTO refactor commit, the time trace "Chack cache for DTLTO"
message was unintentionally omitted. This patch corrects this omission.
Commit: 29e27fd572050cc0dca003704309c1bf0eded89a
https://github.com/llvm/llvm-project/commit/29e27fd572050cc0dca003704309c1bf0eded89a
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M .github/new-prs-labeler.yml
R clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
A clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
A clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
A clang/test/Sema/LifetimeSafety/attr-lifetimebound-no-crash.cpp
A clang/test/Sema/LifetimeSafety/attr-lifetimebound.c
A clang/test/Sema/LifetimeSafety/capture-by.cpp
A clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
A clang/test/Sema/LifetimeSafety/dangling-field.cpp
A clang/test/Sema/LifetimeSafety/dangling-global.cpp
A clang/test/Sema/LifetimeSafety/invalidations.cpp
A clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
A clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
A clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-cross-tu.cpp
A clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp
A clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-macro.cpp
A clang/test/Sema/LifetimeSafety/missing-origin-stats.cpp
A clang/test/Sema/LifetimeSafety/nocfg-disabled.cpp
A clang/test/Sema/LifetimeSafety/nocfg.cpp
A clang/test/Sema/LifetimeSafety/noescape-violation.cpp
A clang/test/Sema/LifetimeSafety/safety.cpp
R clang/test/Sema/attr-lifetimebound-no-crash.cpp
R clang/test/Sema/attr-lifetimebound.c
R clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
R clang/test/Sema/warn-lifetime-analysis-nocfg-disabled.cpp
R clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
R clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
R clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
R clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
R clang/test/Sema/warn-lifetime-safety-dataflow.cpp
R clang/test/Sema/warn-lifetime-safety-fixits.cpp
R clang/test/Sema/warn-lifetime-safety-invalidations.cpp
R clang/test/Sema/warn-lifetime-safety-lifetimebound.cpp
R clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
R clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
R clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-macro.cpp
R clang/test/Sema/warn-lifetime-safety-missing-origin-stats.cpp
R clang/test/Sema/warn-lifetime-safety-noescape.cpp
R clang/test/Sema/warn-lifetime-safety-suggestions.cpp
R clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Reorganize tests into `LifetimeSafety/` subdirectory (#203363)
Commit: 125242eb15b6b74e8ad6ab81a760ef4c1b2deea7
https://github.com/llvm/llvm-project/commit/125242eb15b6b74e8ad6ab81a760ef4c1b2deea7
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/FCmpFalse_Vec.ll
A llvm/test/CodeGen/SPIRV/constant/local-zero-constants.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/is_fpclass.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/signed_arithmetic_overflow.ll
Log Message:
-----------
[LLVM][CodeGen][SPIRV] Match NULL splat to OpConstantNull. (#201313)
Commit: ab5da4b999f862e5b165ac87dd9b90ff162e048b
https://github.com/llvm/llvm-project/commit/ab5da4b999f862e5b165ac87dd9b90ff162e048b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Add test showing failure to concat X86ISD::PERMI nodes with different immediates (#203487)
Commit: 4a3946fc690c461417d38b6264a1f7a70f5dd364
https://github.com/llvm/llvm-project/commit/4a3946fc690c461417d38b6264a1f7a70f5dd364
Author: ambergorzynski <120007557+ambergorzynski at users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/float-sopc-vopc.ll
R llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
Log Message:
-----------
[AMDGPU][NFC] New tests for uncovered cases in SIInstrInfo.cpp (#200414)
Several cases in [the AMDGPU
backend](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp)
are not covered by the existing tests. We are proposing a new set of
tests to cover these lines.
We demonstrate that these cases are not covered by showing that no test
fails when `abort` statements are included. These are removed for the
final PR. You can check the lines of interest in [this
commit](https://github.com/llvm/llvm-project/pull/200414/commits/84d4587b784014ace546d23beaf6ed8d703452d3).
Commit: da65d6afe74463745dae9af0ce47f31e4186778e
https://github.com/llvm/llvm-project/commit/da65d6afe74463745dae9af0ce47f31e4186778e
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
Log Message:
-----------
[KnownFPClass] Fix canonicalize incorrectly dropping fcNegZero under positive-zero denormal mode (#202268)
The denormal mode only flushes *denormal* (subnormal) values; -0.0 is
not a denormal, and per LangRef canonicalize must conserve the sign of
zero (canonicalize(-0.0) == -0.0).
Alive2 (InstCombine fold of canonicalize on a {+/-0, nan} value):
before (miscompiles -0.0 -> +0.0): https://alive2.llvm.org/ce/z/ZRK-sr
after (verifies): https://alive2.llvm.org/ce/z/L3tPu3
Commit: dbc255bedbf5099f32409d41a77bdf0730f4963a
https://github.com/llvm/llvm-project/commit/dbc255bedbf5099f32409d41a77bdf0730f4963a
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.h
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
Log Message:
-----------
[AArch64](NFC) Introduce unified `isLegalArithImmed()` and `isLegalCmpImmed()` (#203020)
Quick tidy up to factor out some common helpers into
`AArch64AddressingModes.h`.
Commit: 274331053cd6b567a02d7ef8a85adcb403dffcb0
https://github.com/llvm/llvm-project/commit/274331053cd6b567a02d7ef8a85adcb403dffcb0
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.id.ll
Log Message:
-----------
[AMDGPU] Regenerate cluster ID checks (#203494)
Commit: 056b4a71c07ff19e38c5cf475fa31fd1271b460d
https://github.com/llvm/llvm-project/commit/056b4a71c07ff19e38c5cf475fa31fd1271b460d
Author: Diego Novillo <dnovillo at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-vector-skipped.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-vector.ll
Log Message:
-----------
Emit debug type vector (#200056)
This emits `DebugTypeVector` for HLSL `float4`-style vectors.
`partitionTypes()` separates vector `DICompositeType` nodes from basic
types so both can be visited in a single pass over the debug metadata. A
new `emitDebugTypeVector()` helper builds the `DebugTypeVector`
instruction and looks up the base-type register in `DebugTypeRegs`.
The helper skips four cases silently:
1. Absent or non-`DIBasicType` base type: only scalar element types are
supported for now.
2. Base type not yet emitted: the type was not reached during the
`DebugTypeBasic` pass.
3. Multiple subranges: `DebugTypeVector` models one-dimensional vectors
only (NSDI cannot encode multi-subrange types).
4. Non-constant subrange count: NSDI cannot represent variable-length
counts.
Added a new test in
`test/CodeGen/SPIRV/debug-info/debug-type-vector.ll`.
Commit: 663bcb3574d72552b41de6a740e454f2f53e2f4a
https://github.com/llvm/llvm-project/commit/663bcb3574d72552b41de6a740e454f2f53e2f4a
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[SVE] Replace unnecessary Intrinsic::aarch64_sve_ptrue construction. (#203349)
Prefer ConstantInt::getTrue() over sve.ptrue(31) when creating
all-active boolean vectors.
Commit: 66842786198f6fe58dc20813e45d216f838db2f4
https://github.com/llvm/llvm-project/commit/66842786198f6fe58dc20813e45d216f838db2f4
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
Add "Split clang/lib/CodeGen/CGBuiltin.cpp" to .git-blame-ignore-revs (#203419)
Commit: 23d906e24b06f27749c84229e4a3043b7e63a2d5
https://github.com/llvm/llvm-project/commit/23d906e24b06f27749c84229e4a3043b7e63a2d5
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M openmp/runtime/cmake/LibompExports.cmake
Log Message:
-----------
[openmp] Fix export file paths (#202692)
The files omp_lib.h and omp-tools.h are the outputs of two
configure_file invocations which specify the full path of the outputs.
Use these full paths in LibompExports.cmake so they can actually be
found.
Commit: 9623ae8878b1d2d7ff39f9ce5c30e8bf82dd1896
https://github.com/llvm/llvm-project/commit/9623ae8878b1d2d7ff39f9ce5c30e8bf82dd1896
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.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/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Add `PtrView` for non-tracking pointers (#184129)
Currently, when creating a `Pointer` (of block type, which I will assume
here), the pointer will add itself (via its address) to its block's
pointer list. This way, a block always knows what pointers point to it.
That's important so we can handle the case when a block (which was e.g.
created for a local variable) is destroyed and we now need to update its
pointers.
However, since always do this for all `Pointer` instances, it creates a
weird performance problem where we do this dance all the time for no
reason, e.g. consider `Pointer::stripBaseCasts()`:
https://github.com/llvm/llvm-project/blob/88693c49d9ac58a33af5978d31f6c70fe1d5b45b/clang/lib/AST/ByteCode/Pointer.h#L778-L783
This will add and remove the newly created pointer from the block's
pointer list every iteration. Other offenders are `Pointer::toRValue()`,
`EvaluationResult::checkFullyInitialized()` or
`Pointer::computeOffsetForComparison()`.
This commit introduces a `PtrView` struct, which is like a
`BlockPointer`, but without the prev/next next links to other `Pointer`s
in the block's pointer list. It also moves a lot of the accessors from
`Pointer` to `PtrView` (e.g. `isRoot()` or `getFieldDesc()`, etc.).
compile-time-tracker:
https://llvm-compile-time-tracker.com/compare.php?from=4716dc8c51719cbcc82928cd00e41a29e5b9adff&to=28d69d4ec16e77370938675826b07752e108eede&stat=instructions:u
Commit: 2b4e89bc254dab3f18b59cd275519d256267b88e
https://github.com/llvm/llvm-project/commit/2b4e89bc254dab3f18b59cd275519d256267b88e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat(permi(x,imm0),permi(y,imm1)) -> vpermv3(widen(x),m,widen(y)) (#203508)
Add handling for X86ISD::VPERMI nodes with different immediates -
folding to a X86ISD::VPERMV3 instead, replacing a
INSERT_SUBVECTOR+2xPERMI nodes with a mask load
We don't need to concat the source operands - we have other folds that
will do this if beneficial - we just rely on (free) implicit widening.
Commit: 8f069e7aea7dbf35d87c8a7a700ae6871b831298
https://github.com/llvm/llvm-project/commit/8f069e7aea7dbf35d87c8a7a700ae6871b831298
Author: Joachim Meyer <5982050+fodinabor at users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/tests/substitutions.py
Log Message:
-----------
[lit] Add support for %{s:stem} substitution. (#202885)
It provides the source file name with the (last) extension removed.
This is to align with what is available for %t and actually needed
downstream.
Commit: 1f21f15e6503053b3f5cfed3689829ba16a60ce0
https://github.com/llvm/llvm-project/commit/1f21f15e6503053b3f5cfed3689829ba16a60ce0
Author: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/test/CodeGen/X86/avx512f-builtins-constrained-cmp.c
Log Message:
-----------
[X86] - Prevent the wrong fold of x86_avx512_mask_cmp_ss/sd to fcmp (#202321)
The issue is based upon the SemiAnalysisAI by @jlebar.
[058-mask-cmp-ss-imm-immediate-not-validated](https://github.com/SemiAnalysisAI/FuzzX/blob/master/x86/bugs/058-mask-cmp-ss-imm-immediate-not-validated/NOTES.md)
It is not a real bug, just a warning for the future fold implementation
of mask_cmp → fcmp.
There is non to fix as of now in the source code. Added a few comments
and test cases for the future implementation of the folds.
@topperc @phoebewang
Commit: fb009c38d86c4a3c5b13b0ea90bbdb7665670096
https://github.com/llvm/llvm-project/commit/fb009c38d86c4a3c5b13b0ea90bbdb7665670096
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
A llvm/test/CodeGen/DirectX/DebugInfo/di-commonblock.ll
A llvm/test/tools/dxil-dis/di-commonblock.ll
Log Message:
-----------
[DirectX] Drop DICommonBlock metadata (#201948)
DICommonBlock cannot be represented in LLVM 3.7, but it is a scope
within a parent scope, so we can refer to the parent scope instead.
Commit: a4bdf9d6ccdfcd9300164d9d043d74c78b2624cc
https://github.com/llvm/llvm-project/commit/a4bdf9d6ccdfcd9300164d9d043d74c78b2624cc
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
A llvm/test/CodeGen/DirectX/DebugInfo/dbg-assign.ll
A llvm/test/CodeGen/DirectX/DebugInfo/dbg-value-arglist.ll
A llvm/test/tools/dxil-dis/dbg-assign.ll
A llvm/test/tools/dxil-dis/dbg-value-arglist.ll
Log Message:
-----------
[DirectX] Lower DbgAssign to DbgValue (#200267)
DbgAssign is not representable in LLVM 3.7.
Commit: f77a290a2ffeda2a9974e87fa9120044de0ed93f
https://github.com/llvm/llvm-project/commit/f77a290a2ffeda2a9974e87fa9120044de0ed93f
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/test/Transforms/MergeICmps/X86/no-gep-other-work.ll
M llvm/test/Transforms/MergeICmps/X86/opaque-ptr.ll
Log Message:
-----------
[MergeICmps] Perform dereferenceability check with context (#202884)
To support deref-at-point semantics, we need to check dereferenceability
with a context instruction. Currently, MergeICmps does the check for
each individual load instruction. In this PR, I'm replacing this with a
check for all the loads that are part of a chain after they have been
collected, so we do the context-sensitive check only once.
The choice of context instruction is a bit tricky: Normally, this would
just be the first block in the chain (the "entry block"), but it's also
possible for the block to "do extra work", in which case it will get
split. If this happens, we should be checking at the splitting point, as
the extra work might be freeing the pointer.
Another question to consider here is whether we need to be concerned
about frees at all: After all, the original code will be accessing at
least one byte of the two objects, so doesn't that imply that it wasn't
freed already? This is indeed the case, as long as allocations cannot
shrink. This is something we currently don't allow, but I think it's
something we want to allow, so I'm going with the conservative treatment
here.
Commit: 3b63f045b9a994e275d8fd186f2de96939c38378
https://github.com/llvm/llvm-project/commit/3b63f045b9a994e275d8fd186f2de96939c38378
Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
Log Message:
-----------
[mlir][vector] extend `createReadOrMaskedRead`/`createWriteOrMaskedWrite` with permutation map support (#202766)
Follow-up to #201180.
Extends the existing `createReadOrMaskedRead` and
`createWriteOrMaskedWrite` utilities in `VectorUtils` with two optional
trailing parameters:
- `ArrayRef<Value> indices`
- `AffineMap permutationMap`
The affine super-vectorizer is updated to call these functions instead
of constructing `TransferReadOp`/`TransferWriteOp` directly.
@banach-space, please correct me if this wasn't what you meant in the
previous PR.
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 055ef48e1a98545c7ebb9246bb134fecfcc23cae
https://github.com/llvm/llvm-project/commit/055ef48e1a98545c7ebb9246bb134fecfcc23cae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Add tests showing failure to concat 256-bit rotate nodes on non-vlx targets (#203517)
These are widened in tablegen, we don't need to limit these to VLX targets
Commit: fc15b715917aea09851c41a0c5406d820709d35b
https://github.com/llvm/llvm-project/commit/fc15b715917aea09851c41a0c5406d820709d35b
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CodeGen/Targets/SystemZ.cpp
Log Message:
-----------
[SystemZ] Rename GetSingleElementType to getSingleElementType (#203078)
# Refactor: Rename GetSingleElementType to getSingleElementType in
SystemZ ABI
## Summary
This PR refactors the SystemZ ABI code to follow LLVM coding standards
by renaming `GetSingleElementType` to `getSingleElementType` (camelCase
convention).
## Motivation
Rename to avoid having 'GetSingleElementType` in one class and
`getSingleElementType` in another one.
Commit: 7c0a3a52cf967da9c41d009fb92453b272d0d04a
https://github.com/llvm/llvm-project/commit/7c0a3a52cf967da9c41d009fb92453b272d0d04a
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/CodeGenHIP/offload-pgo-sections.hip
M clang/test/Driver/hip-profile-rocm-runtime.hip
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Log Message:
-----------
[PGO][HIP] Fix HIP device profile collection and sections emission (#202095)
Several related HIP device-PGO fixes:
Windows device collection. HIP rejects a hipMemcpy that reads past the
bounds
of a symbol registered with __hipRegisterVar, but device
data/counters/names
live in merged linker sections. Register a separate shadow for each
device
data, counters, and names symbol and copy each one by its exact
hipGetSymbolSize
size; this also lets static TUs with several kernels keep all their
profile
data. Open the device profile file in binary mode and pass the device
names to
the correct lprofWriteDataImpl arguments so llvm-profdata can read the
raw
profile. Open the versioned amdhip64_7.dll first, falling back to
amdhip64.dll.
Per-TU sections struct. Clang CodeGen emitted the
__llvm_profile_sections_<CUID>
struct (and its section start/stop references) for any profiling-enabled
device
TU. A TU with no instrumented device functions then referenced sections
nothing
populates, so the RDC device link failed under --no-undefined (and
duplicated
__llvm_prf_nm before per-CUID naming). Move the struct emission from
CGCUDANV
into the InstrProfiling pass, which emits it only when the TU has
profile data;
clang emits only the per-TU names-postfix marker, also making names
unique per
TU so RDC builds do not clash.
Dynamic-module interceptors. The hipModuleLoad* interceptors live in a
constructor-only object in clang_rt.profile_rocm that nothing
references, so the
linker drops it and dynamic-module programs collect no device profile.
When
linking clang_rt.profile_rocm, emit a force-link reference (-u on ELF,
-include: on COFF); the constructor self-skips when the program does not
use
hipModuleLoad.
Multi-device profile collection. On Linux, static profile collection
used to
try reading profile data from every visible HIP device. This could fault
when a
device was visible but had not launched the instrumented kernel. Track
HIP
devices that successfully launch kernels, and skip unused devices during
static
profile collection. If tracking is not available, keep the old
collect-all
behavior.
Depends on #201607 (reland HIP offload PGO compiler support and link the
device-profile runtime); that PR must land first.
Commit: 7d42028e806ab2b17af22ddb8417432e4781d4aa
https://github.com/llvm/llvm-project/commit/7d42028e806ab2b17af22ddb8417432e4781d4aa
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb][Windows] Make RM_RF a no-op on an empty argument and swallow errors (#203040)
This patch makes the Windows `RM_RF` a no-op on an empty argument and
swallow errors, matching Unix `rm -rf`. This fixes issues in swiftlang
on fresh builds.
This is needed for https://github.com/swiftlang/llvm-project/pull/13180
Commit: 1badbb2a77f6937c9af84a694e1d949c7952b744
https://github.com/llvm/llvm-project/commit/1badbb2a77f6937c9af84a694e1d949c7952b744
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Fix copy-paste in hasNon16BitAccesses OpIs16Bit check (#203499)
OpIs16Bit tested TempOtherOp width instead of TempOp, mismatching
symmetric OtherOpIs16Bit clause
No observed miscompiles or direct issues to due to that so far
Commit: 5096057eb8254c7d56e1b70c4ba2fbf3ac215b73
https://github.com/llvm/llvm-project/commit/5096057eb8254c7d56e1b70c4ba2fbf3ac215b73
Author: Aditya Trivedi <120598696+adit4443ya at users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/linear-clause01.f90
Log Message:
-----------
[Flang][OpenMP] Fix crash when common block name is used in LINEAR clause (#203250)
[Flang][OpenMP] Fix crash when common block name is used in LINEAR
clause
Using a common block name in a LINEAR clause (e.g. linear(/c/))
caused
a symbol-must-have-a-type crash during lowering. The semantic checker
was not emitting an error because GetSymbolsInObjectList expands /c/
to its member variables before the check runs, so the
symbol->has<CommonBlockDetails>() guard was never reached.
Fix by checking for common block names directly on the OmpObjectList
before the expansion, where the Name variant of OmpObject still holds
the common block symbol.
Fixes #202329
Commit: b0cc3225b2f618b5760552b1dc7ce0ea26225c8f
https://github.com/llvm/llvm-project/commit/b0cc3225b2f618b5760552b1dc7ce0ea26225c8f
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
A mlir/test/IR/test-func-erase-arg-error.mlir
M mlir/test/lib/IR/TestFunc.cpp
Log Message:
-----------
[mlir] Check for argument uses in test-func-erase-arg pass (#203367)
The -test-func-erase-arg pass crashed when erasing arguments that still
had uses. Diagnose every such argument and fail the pass without
erasing.
Fixes https://github.com/llvm/llvm-project/issues/203218
Assisted-by: Claude (Claude Code)
Commit: daa9ecff7ea3ed9a99fd5b486516495655259971
https://github.com/llvm/llvm-project/commit/daa9ecff7ea3ed9a99fd5b486516495655259971
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat(roti(x,i),roti(y,i)) -> roti(concat(x,y),i) on non-vlx targets (#203528)
128/256-bit rotates are widened in tablegen, we don't need to limit
these to VLX targets - any AVX512 target can perform these
We already have test coverage to ensure 128-bit XOP rotates don't get
concatenated to 256-bit
Commit: 75383d62ecde9e4948c6146662707d53cb496e08
https://github.com/llvm/llvm-project/commit/75383d62ecde9e4948c6146662707d53cb496e08
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/test/Format/lit.local.cfg
Log Message:
-----------
clang-format/test: Anchor the empty .clang-format-ignore to test_exec_root (#203444)
The test suite's lit.local.cfg creates an empty .clang-format-ignore at
config discovery time to protect the multiple-inputs[-inplace].cpp tests
that work on files in temporary locations.
This file should be written to where the tests execute instead of the
CWD during config discovery. The CWD might not even be an ancestor of
where the tests execute, and it might be the repository root which does
have a .clang-format-ignore that is incorrectly clobbered without this
change.
An alternative would be to just fix the tests that need to be protected,
but having a blanket guard like this does seem like a reasonable thing
to do.
Fixes: 915de1a5889c ("Generate empty .clang-format-ignore before running
tests (#136154)")
Commit: 95ca0744abc76f10da86bdd6e74f674a10a869f2
https://github.com/llvm/llvm-project/commit/95ca0744abc76f10da86bdd6e74f674a10a869f2
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/dangling-field.cpp
A clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp
M clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-macro.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Warn on inapplicable [[clang::lifetimebound]] parameters (#201101)
Adds `-Wlifetime-safety-inapplicable-lifetimebound` to diagnose
`[[clang::lifetimebound]]` annotations that have no effect because the
parameter type cannot carry a lifetime.
This currently diagnoses scalar parameters and `gsl::Owner` parameters
and unannotated record values (because they currently do not have
origins), while still allowing references, pointers and `gsl::Pointer`
values.
Closes #177184
Commit: 0246e4c1322e833ab6eb92b73cb618a66e693282
https://github.com/llvm/llvm-project/commit/0246e4c1322e833ab6eb92b73cb618a66e693282
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/add.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
R clang/test/CodeGen/AArch64/poly-add.c
Log Message:
-----------
[CIR][AArch64] Upstream addition and polynomial-addition NEON builtins (#202005)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for
- addition intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#addition)
- polynomial-addition intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#polynomial-addition)
Port tests:
- `clang/test/CodeGen/AArch64/neon_intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/intrinsics.c`
- `clang/test/CodeGen/AArch64/poly-add.c` to
`clang/test/CodeGen/AArch64/neon/add.c`
Commit: 0e704a021a5b9c82ee59d855401ef427385e4af1
https://github.com/llvm/llvm-project/commit/0e704a021a5b9c82ee59d855401ef427385e4af1
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
Log Message:
-----------
[AMDGPU] Fix illegal AGPR reclassification in RewriteMFMAFormStage (#200972)
If src2 escapes rewrite group then bridge copy AGPR -> VGPR must be
inserted.
Fixes a regression after
https://github.com/llvm/llvm-project/pull/198555
Commit: d426cca8835e109069f60630f886574af273e803
https://github.com/llvm/llvm-project/commit/d426cca8835e109069f60630f886574af273e803
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][SPIR-V] Guard UMod canonicalization against zero divisor (#203513)
Chained `spirv.UMod` with a zero outer divisor reached `APInt::urem`
which causes UB
Commit: 7125490395b06f850f3ae02ae7ae69a6b2a647c2
https://github.com/llvm/llvm-project/commit/7125490395b06f850f3ae02ae7ae69a6b2a647c2
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
Log Message:
-----------
[mlir][SPIR-V] Collapse duplicated i1-extension patterns in ArithToSPIRV (NFC) (#203247)
Commit: 43dc65d46b54415ea474b0bf0ad8b761444a7ba2
https://github.com/llvm/llvm-project/commit/43dc65d46b54415ea474b0bf0ad8b761444a7ba2
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/ValueTracking/known-non-zero-shr-add.ll
Log Message:
-----------
[ValueTracking] Infer non-zero from shr (add nuw A, B), C (#203039)
...if either A or B has a known-one bit at position >= C.
https://alive2.llvm.org/ce/z/ELYTjh
This eliminates null checks in some internal workloads.
Assisted-by: claude
Commit: ad6449fa73fd27b6d3493ab1999befd272e7fb31
https://github.com/llvm/llvm-project/commit/ad6449fa73fd27b6d3493ab1999befd272e7fb31
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] "port" 93e03fc2666e (#203536)
Commit: d6ddc21af729fc145477e75ada8621e27e017b4e
https://github.com/llvm/llvm-project/commit/d6ddc21af729fc145477e75ada8621e27e017b4e
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port b000f9032911 (#203537)
Commit: c8711e5db4fbe436a5aeede159e1a3c3eae08bf5
https://github.com/llvm/llvm-project/commit/c8711e5db4fbe436a5aeede159e1a3c3eae08bf5
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
Log Message:
-----------
[gn build] Port b57c32db810b (#203538)
Commit: e302e85180ab0601ee564237a8cd75184bef5feb
https://github.com/llvm/llvm-project/commit/e302e85180ab0601ee564237a8cd75184bef5feb
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port caea95990515 (#203539)
Commit: 71ff21aa50f07b0cadb929fe14fafda8b1f8243f
https://github.com/llvm/llvm-project/commit/71ff21aa50f07b0cadb929fe14fafda8b1f8243f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/ObjectFile/Mach-O/BUILD.gn
Log Message:
-----------
[gn build] Port d0a1f86e7890 (#203540)
Commit: 422d559a3a3af94c9e74c098761b110d749e248a
https://github.com/llvm/llvm-project/commit/422d559a3a3af94c9e74c098761b110d749e248a
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MC/BUILD.gn
Log Message:
-----------
[gn build] Port df75b5d458b9 (#203541)
Commit: 305faf498a4e0b52b40742c927af63ab2082e1a9
https://github.com/llvm/llvm-project/commit/305faf498a4e0b52b40742c927af63ab2082e1a9
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port fc1f754c397b (#203542)
Commit: 3255d4d7628719c4b6254db5780ec50862584896
https://github.com/llvm/llvm-project/commit/3255d4d7628719c4b6254db5780ec50862584896
Author: Drew Kersnar <dkersnar at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
A llvm/test/Bitcode/byte-constants.ll
Log Message:
-----------
[Bitcode] Decode small byte constants as signed values (#203408)
Decode small byte constants the same way we encode them. The bitcode
writer stores ConstantByte values as signed integers, so the reader must
rebuild them using the signed ConstantByte::get path. This has high-bit
values like b8 255 round-trip as their canonical signed form, b8 -1,
instead of tripping the APInt width assertion. This matches current i8
behavior.
Before the fix, the new test crashes in llvm-dis with: "APInt.h:
Assertion `llvm::isUIntN(BitWidth, val) && "Value is not an N-bit
unsigned value"' failed."
Bug found while investigating this PR
(https://github.com/llvm/llvm-project/pull/177908), which transitions
the LSV to emitting the byte type. Fix assisted by AI.
Commit: 09e3e004c66bea58525385486ab04327a51af9de
https://github.com/llvm/llvm-project/commit/09e3e004c66bea58525385486ab04327a51af9de
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port 127a4c1a883d333 (LLVM_TARGETS_TO_BUILD for lldb shell tests) (#203547)
Commit: 6c3d7edcfa4a266681f19e6a002766c5a7066e34
https://github.com/llvm/llvm-project/commit/6c3d7edcfa4a266681f19e6a002766c5a7066e34
Author: anjenner <161845516+anjenner at users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
Log Message:
-----------
[AMDGPU][GISel] Add register bank legalization rules for amdgcn_cvt_sr_f16_f32. (#203253)
Commit: d46513abff5bfaf58de8169db033e54b9e24d7c2
https://github.com/llvm/llvm-project/commit/d46513abff5bfaf58de8169db033e54b9e24d7c2
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M bolt/lib/Profile/Heatmap.cpp
M bolt/test/X86/heatmap-preagg.test
Log Message:
-----------
[BOLT] Fix heatmap with external addresses (#203479)
External samples (X:0) were breaking heatmap printing, e.g.
```
0x00000000: O0x00000000: ........
```
Explicitly track `IsFirst` instead of relying on zero.
Test Plan:
updated heatmap-preagg.test
Commit: 52751a0fda17f0dac1c441aee6617ab1b1434f4d
https://github.com/llvm/llvm-project/commit/52751a0fda17f0dac1c441aee6617ab1b1434f4d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[AMDGPU][SPIR-V] Fix treating SPIR-V input as the wrong LLVM-IR (#202986)
Summary:
This hack is intended for non-RDC AMDGCN.
Commit: c3a146a4e8fab800c621acc401dbdf1d0c960be8
https://github.com/llvm/llvm-project/commit/c3a146a4e8fab800c621acc401dbdf1d0c960be8
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for sched barriers intrinsics (#203425)
Add rules for sched barrier intrinsics. Note, there are regressions due
to AGPR results being copied back to VGPR un-necessarily. That will be
addressed in a future follow-up patch.
Commit: 8d2661b2d54e9dec96cba72ff5089c6fa7482bf3
https://github.com/llvm/llvm-project/commit/8d2661b2d54e9dec96cba72ff5089c6fa7482bf3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat(rotate(x,a),rotate(y,b)) -> rotate(concat(x,y),concat(a,b)) (#203553)
128/256-bit rotates are widened in tablegen, we don't need to limit
these to VLX targets - any AVX512 target can perform these
We already have test coverage to ensure 128-bit XOP rotates don't get
concatenated to 256-bit
Commit: bdc06892cdd37c0a52717373ad7774136ca72b63
https://github.com/llvm/llvm-project/commit/bdc06892cdd37c0a52717373ad7774136ca72b63
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/mem2reg.mlir
Log Message:
-----------
[flang] Avoid invalid declare_value for promoted dummy-scope variables (#202498)
This fixes a verifier failure in mem2reg after inlining a CUDA device
procedure. When a promoted FIR alloca had an associated fir.declare with
a dummy_scope, mem2reg could create a fir.declare_value at a loop header
where the original dummy scope did not dominate.
Skip creating block-argument fir.declare_value ops for such
declarations, matching the existing replaced-value handling. Add a FIR
mem2reg regression test for the loop-header block argument case.
Commit: bbeb2d519171b57bbabb25ca07223c286cdecea2
https://github.com/llvm/llvm-project/commit/bbeb2d519171b57bbabb25ca07223c286cdecea2
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/Todo/acc-unstructured-combined-construct.f90
A flang/test/Lower/OpenACC/Todo/acc-unstructured-loop-construct.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
Log Message:
-----------
[OpenACC][flang] Emit NYI when unstructured loops are associated with OpenACC directives (#202948)
Commit: 168666950ea9cd85471053319e216399e9750028
https://github.com/llvm/llvm-project/commit/168666950ea9cd85471053319e216399e9750028
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/Value.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
Log Message:
-----------
[IR] Make CanBeFreed calculation optional (NFC) (#203490)
Make the CanBeFreed argument of getPointerDereferenceableBytes() a
pointer, so that nullptr can be passed if we're not interested in
whether frees are possible or not.
Nearly all places don't actually care about frees, including BasicAA,
which is the hottest caller of this API. This improves compile-time when
deref-at-point semantics are enabled.
I've kept the argument required so that callers still have to make an
explicit choice to ignore frees. (I'd be open to making it optional
though, given that only a single caller actually cares...)
Commit: c5654d53c008522d2da165f05b682aafa36d7189
https://github.com/llvm/llvm-project/commit/c5654d53c008522d2da165f05b682aafa36d7189
Author: Yuan Suo <suoyuan666 at s5n.xyz>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Introduce buildOriginFlowChain for use-after-scope (#199345)
After adding `buildOriginFlowChain`, we need to choose a diagnostic type
that is as simple as possible to verify its feasibility during `Sema`
diagnostics.
I did not choose the annotation suggestions described in
https://github.com/llvm/llvm-project/pull/188467/#issuecomment-4359071778
as the first target to implement, because it does not seem to occur
within a single CFG block. The `IssueFact` always resides in the block
preceding the `OriginEscapesFact`, which causes me to always get an
empty `OriginFlowChain`.
Since we use `buildOriginFlowChain`, we can directly trace distinct
assignment steps that occur within a single source-level expression. For
example:
```cpp
#include <vector>
#include <string>
template<class... T> void use(T... arg);
void operator_star_arrow_of_iterators_false_positive_no_cfg_analysis() {
std::vector<std::pair<int, std::string>> v;
const char* p = v.begin()->second.data();
const char* q = (*v.begin()).second.data();
const std::string& r = (*v.begin()).second;
auto temporary = []() { return std::vector<std::pair<int, std::string>>{{1, "1"}}; };
const char* x = temporary().begin()->second.data();
const char* y = (*temporary().begin()).second.data();
const std::string& z = (*temporary().begin()).second;
use(p, q, r, x, y, z);
}
```
The code above produces the following diagnostic output:
```txt
pr.cpp:13:19: warning: local temporary object does not live long enough [-Wlifetime-safety-use-after-scope]
13 | const char* x = temporary().begin()->second.data();
| ^~~~~~~~~~~
pr.cpp:13:52: note: destroyed here
13 | const char* x = temporary().begin()->second.data();
| ^
pr.cpp:13:19: note: expression aliases the storage of local temporary object
13 | const char* x = temporary().begin()->second.data();
| ^~~~~~~~~~~~~~~~~~~
pr.cpp:13:19: note: expression aliases the storage of local temporary object
13 | const char* x = temporary().begin()->second.data();
| ^~~~~~~~~~~~~~~~~~~~~
pr.cpp:13:19: note: expression aliases the storage of local temporary object
13 | const char* x = temporary().begin()->second.data();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pr.cpp:16:16: note: later used here
16 | use(p, q, r, x, y, z);
| ^
pr.cpp:15:28: warning: local temporary object does not live long enough [-Wlifetime-safety-use-after-scope]
15 | const std::string& z = (*temporary().begin()).second;
| ^~~~~~~~~~~
pr.cpp:15:49: note: destroyed here
15 | const std::string& z = (*temporary().begin()).second;
| ^
pr.cpp:15:28: note: expression aliases the storage of local temporary object
15 | const std::string& z = (*temporary().begin()).second;
| ^~~~~~~~~~~~~~~~~~~
pr.cpp:15:27: note: expression aliases the storage of local temporary object
15 | const std::string& z = (*temporary().begin()).second;
| ^~~~~~~~~~~~~~~~~~~~
pr.cpp:16:22: note: later used here
16 | use(p, q, r, x, y, z);
| ^
pr.cpp:14:21: warning: local temporary object does not live long enough [-Wlifetime-safety-use-after-scope]
14 | const char* y = (*temporary().begin()).second.data();
| ^~~~~~~~~~~
pr.cpp:14:54: note: destroyed here
14 | const char* y = (*temporary().begin()).second.data();
| ^
pr.cpp:14:21: note: expression aliases the storage of local temporary object
14 | const char* y = (*temporary().begin()).second.data();
| ^~~~~~~~~~~~~~~~~~~
pr.cpp:14:20: note: expression aliases the storage of local temporary object
14 | const char* y = (*temporary().begin()).second.data();
| ^~~~~~~~~~~~~~~~~~~~
pr.cpp:14:19: note: expression aliases the storage of local temporary object
14 | const char* y = (*temporary().begin()).second.data();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pr.cpp:16:19: note: later used here
16 | use(p, q, r, x, y, z);
| ^
3 warnings generated.
```
---------
Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>
Commit: 422af7cca672a717bd9505a486e287fa2734bbc9
https://github.com/llvm/llvm-project/commit/422af7cca672a717bd9505a486e287fa2734bbc9
Author: Quentin Colombet <quentin.colombet at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MIRPrinter.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash-bad-phys.mir
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash-bad-split.mir
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash-self-split.mir
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash.mir
Log Message:
-----------
[MIR] Save internal VirtRegMap state in MIR (#197361)
Adds two optional fields to the per-vreg YAML record so MIR tests can
express VirtRegMap state that previously had no representation:
registers:
- { id: 1, class: vgpr_32, split-from: '%0', assigned-phys: '$vgpr5' }
Testing passes that consume sibling-register information (e.g.
InlineSpiller) requires constructing a VirtRegMap with split
relationships from a MIR test, which implies triggering live-range
splitting at minimum and make reproducers unnecessarily complicated.
So this change introduces a mechanism to serialize/deserialize the state
of the VirtRegMap pass.
Mechanism:
- For serialization:
- MIRPrinter emits the new fields only when the VirtRegMap is available.
- For deserialization:
- MIRParser stashes parsed entries in the MachineRegisterInfo object
- VirtRegMap::init() drains the stash via assignVirt2Phys and
setIsSplitFromReg, then clears it.
Validation at parse time:
- 'assigned-phys' must be a physical register.
- 'split-from' must reference a different vreg than 'id'.
- 'split-from' physregs / named-vreg references already rejected
by parseStandaloneVirtualRegister.
I'm not super happy about stashing the VRM info in the MRI, but that's
a small price to pay.
Commit: 1b774ab021698428374815fb8d4d88855c3b2a48
https://github.com/llvm/llvm-project/commit/1b774ab021698428374815fb8d4d88855c3b2a48
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/stack-coloring-setjmp.ll
Log Message:
-----------
[StackColoring] Cleanup stack-coloring test (NFC) (#203551)
This simply applies postcommit suggestions made here:
https://github.com/llvm/llvm-project/pull/199959
Commit: 7814cc9454cf454acdc7385fc41809a6bdf5d7f8
https://github.com/llvm/llvm-project/commit/7814cc9454cf454acdc7385fc41809a6bdf5d7f8
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
A clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme2p3.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2p3___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve2p3.c
A clang/test/Sema/AArch64/arm_sve_streaming_only_sme_AND_sme2p3.c
A clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-luti6.ll
Log Message:
-----------
[AArch64][clang][llvm] Add ACLE Armv9.7 lookup table intrinsics (#187046)
Add support for the following Armv9.7-A Lookup Table (lut)
instruction intrinsics, as defined in the ACLE[1]:
SVE2.3:
```c
// Variants are also available for: _u8 _mf8
svint8_t svluti6[_s8](svint8x2_t table, svuint8_t indices);
```
SVE2.3 and SME2.3:
``` c
// Variants are also available for _u16_x2 and _f16_x2.
svint16_t svluti6_lane[_s16_x2](svint16x2_t table, svuint8_t indices, uint64_t imm_idx);
```
SME2.3:
```c
// Variants are also available for: _u16, _f16 and _bf16.
svint16x4_t svluti6_lane_s16_x4[_s16_x2](svint16x2_t table, svuint8x2_t indices, uint64_t imm_idx);
// Variants are also available for: _u8 and _mf8.
svint8x4_t svluti6_zt_s8_x4(uint64_t zt0, svuint8x3_t zn) __arm_streaming __arm_in("zt0");
// Variants are also available for: _u8 and _mf8.
svint8_t svluti6_zt_s8(uint64_t zt0, svuint8_t zn) __arm_streaming __arm_in("zt0");
```
[1] https://github.com/ARM-software/acle/pull/428/
Commit: 5906827e155cc5fca10cd505b88a4e21b861d65b
https://github.com/llvm/llvm-project/commit/5906827e155cc5fca10cd505b88a4e21b861d65b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
Log Message:
-----------
[lldb][Windows] Forward OUTPUT_DEBUG_STRING_EVENT through lldb-server (#203546)
Hoist `ReadDebugString` into `ProcessDebugger` so both plugins share it,
then add
`NativeProcessWindows::OnDebugString` that reads the string, converts
UTF-16 to
UTF-8 when needed, and delivers via `NativeDelegate::NewProcessOutput`.
Fixes `Process/Windows/output_debug_string.cpp` on Windows under
`LLDB_USE_LLDB_SERVER=1`.
Commit: 9f3ac763bd8c4be2db1a97cec13bb59c87a9595f
https://github.com/llvm/llvm-project/commit/9f3ac763bd8c4be2db1a97cec13bb59c87a9595f
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
Log Message:
-----------
[MLIR][XeGPU] Fix issue with expandDim (#203299)
In case, sgData is replicated or
bool sgDataReplicated = hasSgData && origSgDataDim ==
computeProduct(targetShape);
sgDataReplicate is evaluated to "true"
dimSizeCap and perSgShape shouldn't be divided by expSgLayout
Add a regression test (shape_cast_collapse_replicated) covering the
replicated sg_data collapse.
Commit: 9bbed741e260753de029fcf7b22844fe23362a39
https://github.com/llvm/llvm-project/commit/9bbed741e260753de029fcf7b22844fe23362a39
Author: dibrinsofor <64705019+dibrinsofor at users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/ext-narrow-index.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
A llvm/test/CodeGen/AArch64/shuffle-slide-to-shift.ll
Log Message:
-----------
[AArch64] Optimize vector slide shuffles with zeros to use shift instructions (#185170)
We currently emit `movi`+`ext` instructions when generating code for
shuffle slides of a 64-bit vector left/right and fill it with zeros.
This patch optimizes these patterns to use a single `ushr`/`shl`
instruction instead.
Example:
```llvm
define <8 x i8> @slide_left(<8 x i8> %v) {
%r = shufflevector <8 x i8> %v, <8 x i8> zeroinitializer,
<8 x i32> <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
ret <8 x i8> %r
}
```
Before, we generate:
```
movi v1.2d, #0
ext v0.8b, v0.8b, v1.8b, #1
```
Now:
```
ushr d0, d0, #8
```
Fixes: #183398
Alive2 proof: https://alive2.llvm.org/ce/z/QaW5CQ
---------
Signed-off-by: Dibri Nsofor <dibrinsofor at gmail.com>
Commit: c9938eb76ca653abff8d0b7c99bd74aec57c4758
https://github.com/llvm/llvm-project/commit/c9938eb76ca653abff8d0b7c99bd74aec57c4758
Author: nirhersh <77844231+nirhersh at users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][arith] Implement ValueBoundsOpInterface for min/max ops (#203269)
Add ValueBoundsOpInterface external models for the arith integer min/max operations: arith.minsi and arith.maxsi.
---------
Co-authored-by: Nir Herscovici <nir.herscovici at mobileye.com>
Commit: c62768b10e5e16c494eef8289452a7d7d97798bf
https://github.com/llvm/llvm-project/commit/c62768b10e5e16c494eef8289452a7d7d97798bf
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvm/tensormap_replace_invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Fix valid range of ord in tensormap.replace op (#202853)
Fixes the valid range of the `ord` attribute in the NVVM dialect
`tensormap.replace` op to be `0-4` as indicated in the PTX ISA.
PTX ISA Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-tensormap-replace
Commit: 2d1fb738d6f9eb109a2f1e0405397565f25fece4
https://github.com/llvm/llvm-project/commit/2d1fb738d6f9eb109a2f1e0405397565f25fece4
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/test/Dialect/GPU/module-to-binary-rocdl.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
A mlir/test/Target/LLVMIR/rocdl-module-flags.mlir
Log Message:
-----------
[mlir][LLVM][ROCDL] Add buffer oob mode module flags, flag interfaces (#202729)
Now that the out-of-bounds mode for buffer accesses will be controlled
by a module flag and is no longer a function of the subtarget triple (as
of #160922) and since `ptr addrpace(7)` lowering will start respecting
this mode soon, add MLIR-level support for setting this flag.
After a few iterations, I think adding this module flag to
`llvm.module.flags` but adding interfaces for module flag attributes (so
that those wishing to set this flag don't need to know it has `max`
combining semantics or look up the enum values) is a
minimally-disruptive way to get a more ergonomic wrapper around this
functionality.
AI note: AI generated the code hehe, I reviewed it. The documentation
update to ModuleFlagsOp is mine.
(The LLVM PR that would want people to start explicitly setting
`relaxed` is #134329)
Co-authored-by: Codex <codex at openai.com>
Commit: 484b955581d976f97a47ef621c441e21c231aa23
https://github.com/llvm/llvm-project/commit/484b955581d976f97a47ef621c441e21c231aa23
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/test/CIR/CodeGen/ternary-throw.cpp
Log Message:
-----------
[CIR] Implement throw within an aggregate expression (#203404)
This implements CIR support for throwing an exception from within a
branch of a ternary expression that represents an aggregate prvalue. We
previously had support for throwing an exception within a ternary
aggregate expression, but when the expression uses a prvalue, it goes
through a different code path. The new implementation is just calling an
existing function from a different place. The bulk of what's being added
here is the testing.
Commit: 99a37aedebd7c69680e74ac83769a11eaefef1e7
https://github.com/llvm/llvm-project/commit/99a37aedebd7c69680e74ac83769a11eaefef1e7
Author: Quentin <qcoelho at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/StringExtras.h
Log Message:
-----------
[ADT][NFC] Fix documentation for arrayRefFromStringRef (#203430)
The documentation was describing the opposite behavior of what it does.
Commit: 17207c8feb9fc6c576ce820ff4583e337dc0452e
https://github.com/llvm/llvm-project/commit/17207c8feb9fc6c576ce820ff4583e337dc0452e
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Change "local temporary object" to "temporary object" in diagnostics (#203573)
Commit: 878bbacfb0e6ced7c0313d5f7c097d7c94a1c4da
https://github.com/llvm/llvm-project/commit/878bbacfb0e6ced7c0313d5f7c097d7c94a1c4da
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/Support/Win64EH.cpp
M llvm/test/MC/COFF/seh-unwindv3-inheritance.s
M llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-multi-epilog.yaml
M llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-multi-epilog.yaml
M llvm/tools/llvm-objdump/COFFDump.cpp
M llvm/tools/llvm-readobj/Win64EHDumper.cpp
Log Message:
-----------
[win][x64] Windows x64 unwind v3: Update epilog inheritance per spec clarification (#202778)
The Windows x64 unwind v3 spec was clarified
(MicrosoftDocs/cpp-docs#5936) to state that an EPILOG_INFO_V3 record
with `NumberOfOps == 0` inherits its effective fields from the first
*preceding* descriptor with `NumberOfOps != 0` (the "base"), not the
immediately preceding one. Additionally, Flags bits 0 and 1 are no
longer inherited; the producer must replicate them so they match the
base descriptor.
- Encoder (MCWin64EH.cpp): compare each epilog against the tracked base
descriptor, and emit EPILOG_INFO_LARGE in inherited descriptors' own
flags byte.
- Decoder (Win64EH.cpp): track the base index and inherit from it; keep
the record's own flags byte instead of copying the previous record's.
- Dumpers (llvm-readobj, llvm-objdump): reword "previous epilog" to
"base epilog".
- Tests: update multi-epilog expectations and add a LARGE
inherited-epilog case to seh-unwindv3-inheritance.s.
Commit: 528e6f9a030c4b3bf760807c22c98f17fb582f5f
https://github.com/llvm/llvm-project/commit/528e6f9a030c4b3bf760807c22c98f17fb582f5f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-insert.ll
Log Message:
-----------
[AArch64] Avoid creating a new generic constant in SelectSMETileSlice (#203344)
This was creating a new ISD::Constant node during instruction selection,
which may also need lowering (e.g., to a `mov gpr, wzr`). The issue with
this is the new constant node will not end up on the instruction
selection worklist, as the complex pattern executes after the worklist
has been prepared. This means the constant will lower directly to an
immediate. This issue was hidden in some cases by `getConstant()`
returning a pre-existing `ISD::Constant` node already within the
instruction selection worklist.
This patch works around this by directly emitting a `CopyFromReg WZR`
within SelectSMETileSlice, which does not need further instruction
selection.
Fixes #203295
Commit: 9240c64f4528064cec31e8875fb891b473f8ca7c
https://github.com/llvm/llvm-project/commit/9240c64f4528064cec31e8875fb891b473f8ca7c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/BundleAttributes.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/BundleAttributes.cpp
Log Message:
-----------
[LVI][ValueTracking] Merge checking whether assumes imply nonnull (#203523)
Commit: eaef650f57900b36751dea4e0383de1e73cdff29
https://github.com/llvm/llvm-project/commit/eaef650f57900b36751dea4e0383de1e73cdff29
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/cxx-construct-lvalue.cpp
Log Message:
-----------
[CIR] Implement handling for CXXConstructLValue expressions (#203402)
This implements the handling to emit an l-value for CXXConstructExpr and
CXXTemporaryObjectExpr expressions. This is a simple copy from the
equivalent code in classic codegen and uses existing CIR code for most
of the actual work.
A multi-argument constructor call written with explicit type syntax
produces a CXXTemporaryObjectExpr. Using it as the base of a member
access reaches emitLValue with that expression class. A single-argument
constructor call performs a constructor conversion, so the base of the
member access is a CXXFunctionalCastExpr whose subexpression is a
CXXConstructExpr. emitCastLValue forwards to the subexpression, reaching
emitLValue with the CXXConstructExpr class.
Commit: e476b23c5facd1705f06ee60f1e62869c638f395
https://github.com/llvm/llvm-project/commit/e476b23c5facd1705f06ee60f1e62869c638f395
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M compiler-rt/test/fuzzer/fork-sigusr.test
M compiler-rt/test/fuzzer/merge-sigusr.test
M compiler-rt/test/fuzzer/sigint.test
M compiler-rt/test/fuzzer/sigusr.test
Log Message:
-----------
[Fuzzer] Make signal tests work with internal shell (#203445)
Wrap some commands in bash as it seemed like the least bad option. The
alternative is to use setsid and run the other commands in the internal
shell, but them it's impossible to use wait and we run into reliability
issues because of that.
Commit: 473ca91cdb03d01394eea440ea4f3a14cdc04b6e
https://github.com/llvm/llvm-project/commit/473ca91cdb03d01394eea440ea4f3a14cdc04b6e
Author: Jan Korous <jkorous at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/test/Analysis/Scalable/PointerFlow/external-inline-function-in-multi-tu.test
M clang/test/Analysis/Scalable/call-graph.cpp
A clang/test/Analysis/Scalable/cli-errors-compilation-unit-id.cpp
M clang/test/Analysis/Scalable/command-line-interface.cpp
M clang/test/Analysis/Scalable/downgradable-errors.cpp
M clang/test/Analysis/Scalable/extraction-works-alongside-compilation.cpp
M clang/test/Analysis/Scalable/help.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
Log Message:
-----------
[clang][ssaf] Add --ssaf-compilation-unit-id= flag (#203345)
The TU summary extractor previously sourced the CompilationUnit
namespace name from clang's `InFile` argument, which made the identity
of a TU summary depend on the file path the build system passed to
clang. Have the build system pass the identifier directly:
- New driver/cc1 option `--ssaf-compilation-unit-id=<id>`, marshalled
into `FrontendOptions::SSAFCompilationUnitId`.
- `TUSummaryRunner` builds its `BuildNamespace(CompilationUnit, ...)`
from the new option's value; `InFile` is no longer threaded into the
runner.
- New diagnostic `warn_ssaf_tu_summary_requires_compilation_unit_id`
(under `-Wscalable-static-analysis-framework`, `DefaultError`) fires
when `--ssaf-tu-summary-file=` is set without a non-empty
`--ssaf-compilation-unit-id=`. The runner falls back to the wrapped
consumer alone in that case, matching the existing setup-time SSAF
diagnostics.
Assisted-By: Claude Opus 4.7
Commit: fdd939dce1eb145e386dc3242661c3a73b759e4f
https://github.com/llvm/llvm-project/commit/fdd939dce1eb145e386dc3242661c3a73b759e4f
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-06-12 (Fri, 12 Jun 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/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Use context-aware type converter in WgToSgDistribute and Blocking pass (#194685)
This PR replaces the TypeConverter in xegpu-wg-to-sg-distribute and
xegpu-blocking with a context-aware converter that picks each value's
converted type from the layout attached to its defining op/use, removing
the need for the UnrealizedConversionCastOpPattern workaround for scf
ops.
Commit: 6dbe068edef96c13930471d602fd5fb876e9da04
https://github.com/llvm/llvm-project/commit/6dbe068edef96c13930471d602fd5fb876e9da04
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/MC/MCWin64EH.cpp
Log Message:
-----------
[Win][x64] Fix -Wunused-variable (#203591)
BaseEpiFlags is only used in assertions, so mark it maybe_unused to
avoid the warning in release builds.
Commit: 0a9cf8c6c3038f1a02fa2051d12c9e9d7ddb4aad
https://github.com/llvm/llvm-project/commit/0a9cf8c6c3038f1a02fa2051d12c9e9d7ddb4aad
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes fdd939d (#203593)
This fixes fdd939dce1eb145e386dc3242661c3a73b759e4f.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: e4a63425ba266f6027e7d257c9a79141c26aa8d8
https://github.com/llvm/llvm-project/commit/e4a63425ba266f6027e7d257c9a79141c26aa8d8
Author: Jiaqi He <heturing at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/riscv/hwprobe.inc
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[RISC-V] Add newer Linux hwprobe extensions detection (#192761)
Commit: 660771d4359b14fe56a5eef19c33f93475aee39e
https://github.com/llvm/llvm-project/commit/660771d4359b14fe56a5eef19c33f93475aee39e
Author: Jiachen Yuan <jiacheny at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/Bitset.h
M llvm/unittests/ADT/BitsetTest.cpp
Log Message:
-----------
Reapply "[ADT] Bitset: add shift operators, word accessors, and etc" (#195874)
Reapplies #193400, which was reverted in #195848 because it broke
buildbots with:
```
Bitset.h:271: error: static assertion failed: Unsupported word size
```
Root cause: a `static_assert(BitwordBits == 32, ...)` inside the
discarded `else` branch of `if constexpr (BitwordBits == 64)` in
`getWord64()`. The assert's condition is non-template-dependent
(`BitwordBits` derives from `sizeof(uintptr_t)`, not from `NumBits`), so
it is checked even though the branch is discarded, and fires on 64-bit
hosts. Related:
https://stackoverflow.com/questions/38304847/how-does-a-failed-static-assert-work-in-an-if-constexpr-false-block
Fix: drop the redundant inner `static_assert`. The class-level
`static_assert(BitwordBits == 64 || BitwordBits == 32, ...)` already
enforces the same invariant.
No functional change beyond the original PR.
---------
Co-authored-by: Rahul Joshi <rjoshi at nvidia.com>
Commit: 5a52d68d6b030b155580ff03f5f8ad0cc9dc2fd9
https://github.com/llvm/llvm-project/commit/5a52d68d6b030b155580ff03f5f8ad0cc9dc2fd9
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/test/MC/COFF/seh-unwindv3-error.s
A llvm/test/tools/llvm-ml/beginepilog_error.asm
M llvm/test/tools/llvm-ml/builtin_symbols.asm
A llvm/test/tools/llvm-ml/epilog_directive_errors.asm
A llvm/test/tools/llvm-ml/epilog_directives.asm
A llvm/test/tools/llvm-ml/proc_frame_v3.asm
A llvm/test/tools/llvm-ml/prolog_directive_errors.asm
A llvm/test/tools/llvm-ml/unwindv3_required_errors.asm
M llvm/tools/llvm-ml/Opts.td
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[llvm-ml] Add MASM unwind v3 support for x64 exception handling and improve MSVC compat (#202809)
New command-line options:
- `/unwindv3`: Enable V3 unwind information format
New MASM directives:
- `.push2reg` / `.pop2reg`: Push/pop register pairs (PUSH2/POP2)
- `.beginepilog` / `.endepilog`: Delimit epilog unwind regions
- `.popreg`, `.freestack`, `.restorereg`, `.restorexmm128`,
`.unsetframe`: Epilog counterparts of existing prolog directives
- `.pushframe code`: MASM syntax for interrupt handlers with error codes
New built-in symbol:
- `@UnwindVersion`: Returns the current x64 unwind version being used.
Error diagnostics:
- Prolog directives after `.endprolog` are diagnosed
- Epilog directives outside `.beginepilog`/`.endepilog` are diagnosed
- Nested `.beginepilog` is diagnosed
- Unwind v3 directives or using extended registers in directives without
unwind v3 are diagnosed
Commit: f2957d7a56372cf8bd2b48aec81ae7c0fb38813f
https://github.com/llvm/llvm-project/commit/f2957d7a56372cf8bd2b48aec81ae7c0fb38813f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Add missing check for empty argument list (#203592)
Commit: 5036a80a20a6749f95b77a2c08786f42fdd056ac
https://github.com/llvm/llvm-project/commit/5036a80a20a6749f95b77a2c08786f42fdd056ac
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
Log Message:
-----------
[HLSL][NFC] Remove unused location argument (#203467)
The location argument was just passed around but never used.
Commit: 2a72cd87a5bb9db73708661e8760ff710460ae11
https://github.com/llvm/llvm-project/commit/2a72cd87a5bb9db73708661e8760ff710460ae11
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/unittests/Support/GlobPatternTest.cpp
Log Message:
-----------
[NFC][Support] Add test for inverted slash-agnostic matching (#203290)
Add a test case to GlobPatternTest to verify that inverted character
classes containing slashes (e.g. [^/] or [^\\]) behave correctly
under SlashAgnostic mode (i.e. they do not match either slash).
Assisted-by: Gemini
Commit: 64381998961b4b9324ab5a6f6015b285b59d6bb6
https://github.com/llvm/llvm-project/commit/64381998961b4b9324ab5a6f6015b285b59d6bb6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[VPlan] Introduce m_SelectLike and use to support 2-operand blends. (#194729)
We should be able to treat 2-operand blends like select by most VPlan
code. Add a new m_SelectLike matcher and use in places that only use the
matcher to extract operands.
Overall this leads to a small number of improvements in RISCV (~10 files
changed in a large IR corpus) and 2 loops changed on AArch64 with
tail-folding forced.
PR: https://github.com/llvm/llvm-project/pull/194729
Commit: fda7a72af7a76ac6b51a8a1b1222f878d76405ed
https://github.com/llvm/llvm-project/commit/fda7a72af7a76ac6b51a8a1b1222f878d76405ed
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
M llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
M llvm/test/MC/AMDGPU/gfx1251_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
Log Message:
-----------
[AMGDPU] Add gfx1251 V_PK_MIN/MAX_NUM_F64 (#203596)
Also legalizes v2f64 fcanonicalize.
Commit: 2c1b71af78df9d7c22e225069971d3276d91d546
https://github.com/llvm/llvm-project/commit/2c1b71af78df9d7c22e225069971d3276d91d546
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/i128-trip-count-evl.ll
Log Message:
-----------
[VPlan] Compute URem via APInt in materializeVectorTripCount (#203604)
materializeVectorTripCount has a shortcut for scalable steps: if the
constant trip count is divisible by the maximum possible runtime step,
the vector trip count equals the trip count directly. This called
APInt::getZExtValue unconditionally, which asserts when the constant
value needs more than 64 bits.
Compute the URem in APInt to fix the crash.
Commit: 1060a6be0a471106fd65a3f16937ee1c588dabed
https://github.com/llvm/llvm-project/commit/1060a6be0a471106fd65a3f16937ee1c588dabed
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/CodeGen/DirectX/switch-to-lookup-table-i16-narrowing.ll
A llvm/test/CodeGen/DirectX/switch-to-lookup-table-no-i8-narrowing.ll
Log Message:
-----------
[SimplifyCFG][DirectX] Honor target minimum lookup table element width (#203103)
fixes #202481
This change adds a `TTI::getMinimumLookupTableEntryBitWidth()` (default
`8`) and fold it
into SimplifyCFG's `NeededBitWidth` computation so targets can prevent
unsupported
narrow lookup tables. DirectX returns 32 (or 16 with native 16-bit
types) so tables
never narrow to the unsupported i8 type.
> Assisted by Claude Opus 4.8
Commit: 10508afd0b14ffcf6819665e31d64d77ccd45d3f
https://github.com/llvm/llvm-project/commit/10508afd0b14ffcf6819665e31d64d77ccd45d3f
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
Log Message:
-----------
Reland "[SSAF][Extractor] Make hard errors in PointerFlow and UnsafeBufferUsage Extractors quiet (#201953)" (#203602)
Reverted 7dcd1d2ad104c3f9748370a42dc775cd6e7e34dc and added '#ifndef
NDEBUG' guards for tests using 'llvm::setCurrentDebugType'.
Original message:
Hard errors were used in extractors during development to quickly
identify unsupported language constructs. This commit converts them to
DEBUG_WITH_TYPE so that these errors are silenced in release builds.
In addition, translating unsupported language constructs now silently
results in an empty EntityPointerLevelSet. The PointerFlowExtractor will
skip empty sets for either the source or the destination when building
edges to avoid an ill-formed edge set data structure.
rdar://178747892
Commit: 0b128394b9c796ebe4efd9e0dde38976fb291798
https://github.com/llvm/llvm-project/commit/0b128394b9c796ebe4efd9e0dde38976fb291798
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
A llvm/test/tools/llvm-diff/callsite-assumption-passing.ll
M llvm/tools/llvm-diff/lib/DifferenceEngine.cpp
Log Message:
-----------
[llvm-diff] Respect AllowAssumptions in diffCallSites (#203597)
diffCallSites always built an AssumptionContext, so call sites made
optimistic equivalence assumptions even when the caller disabled them.
This made matchForBlockDiff over-match, and the re-check in unify() then
hit the "structural differences second time around?" assertion.
Thread the caller's AssumptionContext into diffCallSites so call sites
honor the no-assumptions request like every other instruction kind.
Fixes #184133
Commit: 12d95c65fc99a3d5686f1d409572d1965fd653b1
https://github.com/llvm/llvm-project/commit/12d95c65fc99a3d5686f1d409572d1965fd653b1
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
R llvm/test/Transforms/LICM/vector-insert.ll
Log Message:
-----------
Revert "[LICM] Allow hoisting of InsertElementInst's past non-hoistable InsertElementInsts" (#203611)
Reverts llvm/llvm-project#200532
Commit: 0526807f89803b394fcebc87dfc234e57513986e
https://github.com/llvm/llvm-project/commit/0526807f89803b394fcebc87dfc234e57513986e
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
A clang/test/AST/tyloctype_alignment.cpp
Log Message:
-----------
[clang][z/OS] Add test for TypeLoc tail padding alignment (#202710)
This adds a test for the TypeLoc tail padding fix that was merged in
commit 89305c3.
Commit: 5f51294647b3c4c08dfd0e455b1a997074864d26
https://github.com/llvm/llvm-project/commit/5f51294647b3c4c08dfd0e455b1a997074864d26
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
A clang/test/Sema/atomic-conversions-to-int.cpp
Log Message:
-----------
Fix contextual implicit conversions to int: with _Atomic (#203522)
PerformContextualImplicitConversion was performing
default-lvalue-conversions, then basing decisions on viable conversion
functions on this type However, when we then went to add the candidates
we were using the 'old' value (pre-conversion) of the type, resulting in
us regaining the lost 'atomic' from the default Lvalue conversion.
This patch updates the 'from' variable to be the converted value so all
conversions are done post-conversion.
Fixes: #201770
Commit: ce09519f40a6d76ec231ef8e4630c0d85c8cdaa5
https://github.com/llvm/llvm-project/commit/ce09519f40a6d76ec231ef8e4630c0d85c8cdaa5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/geps-unsigned-predicates.ll
Log Message:
-----------
[ConstraintElim] Add test with negative offset and NUW only GEP (NFC) (#203614)
Add test currently mis-compiled with NUW only GEP.
https://alive2.llvm.org/ce/z/7G8uE3
Commit: 327ce1bb0cd56e74bfd79f51463e6c0a81905a25
https://github.com/llvm/llvm-project/commit/327ce1bb0cd56e74bfd79f51463e6c0a81905a25
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M compiler-rt/test/fuzzer/lit.cfg.py
Log Message:
-----------
[Fuzzer] Use the internal shell by default (#203450)
The external shell is going away soon and the internal shell is superior
in most ways (platform compatibility, performance, debugging). This now
causes no test failures and is blocking deprecation of the external
shell, so switch over.
Commit: b312ae01043b75637f4fd4dbaf66a09907f63c22
https://github.com/llvm/llvm-project/commit/b312ae01043b75637f4fd4dbaf66a09907f63c22
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
A llvm/test/CodeGen/AMDGPU/packed-u64.ll
M llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
M llvm/test/MC/AMDGPU/gfx1251_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Add gfx1251 V_PK_ADD/SUB_NC_U64 (#203607)
Commit: 87d29e3f438c9c02390a4260e9a1bc7712f882c2
https://github.com/llvm/llvm-project/commit/87d29e3f438c9c02390a4260e9a1bc7712f882c2
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
Log Message:
-----------
[AMDGPU] NFC: Drop constexpr from getFlavor*Name functions (#203603)
It seems specifying these as constexpr was causing some buildbot
failures due to llvm_unreachable --
```
[1/123] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUCoExecSchedStrategy.cpp.o
FAILED: lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUCoExecSchedStrategy.cpp.o
/usr/bin/c++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/path/to/build.AArch64.Release.main/lib/Target/AMDGPU -I/path/to/llvm-project/llvm/lib/Target/AMDGPU -I/path/to/build.AArch64.Release.main/include -I/path/to/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fvisibility=hidden -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUCoExecSchedStrategy.cpp.o -MF lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUCoExecSchedStrategy.cpp.o.d -o lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUCoExecSchedStrategy.cpp.o -c /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
In file included from /path/to/llvm-project/llvm/include/llvm/ADT/Hashing.h:49,
from /path/to/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12,
from /path/to/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/GCNSubtarget.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/GCNRegPressure.h:20,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/GCNSchedStrategy.h:16,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp:14:
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h: In function 'constexpr llvm::StringRef llvm::AMDGPU::getFlavorName(llvm::AMDGPU::InstructionFlavor)':
/path/to/llvm-project/llvm/include/llvm/Support/ErrorHandling.h:165:36: error: call to non-'constexpr' function 'void llvm::llvm_unreachable_internal(const char*, const char*, unsigned int)'
::llvm::llvm_unreachable_internal(msg, __FILE__, __LINE__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h:67: note: in expansion of macro 'llvm_unreachable'
llvm_unreachable("Unknown InstructionFlavor");
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h: In function 'constexpr llvm::StringRef llvm::AMDGPU::getFlavorShortName(llvm::AMDGPU::InstructionFlavor)':
/path/to/llvm-project/llvm/include/llvm/Support/ErrorHandling.h:165:36: error: call to non-'constexpr' function 'void llvm::llvm_unreachable_internal(const char*, const char*, unsigned int)'
::llvm::llvm_unreachable_internal(msg, __FILE__, __LINE__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h:95: note: in expansion of macro 'llvm_unreachable'
llvm_unreachable("Unknown InstructionFlavor");
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h: In function 'constexpr llvm::StringRef llvm::AMDGPU::getReasonName(llvm::AMDGPU::AMDGPUSchedReason)':
/path/to/llvm-project/llvm/include/llvm/Support/ErrorHandling.h:165:36: error: call to non-'constexpr' function 'void llvm::llvm_unreachable_internal(const char*, const char*, unsigned int)'
::llvm::llvm_unreachable_internal(msg, __FILE__, __LINE__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h:142: note: in expansion of macro 'llvm_unreachable'
llvm_unreachable("Unknown AMDGPUSchedReason");
[2/123] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o
FAILED: lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o
/usr/bin/c++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/path/to/build.AArch64.Release.main/lib/Target/AMDGPU -I/path/to/llvm-project/llvm/lib/Target/AMDGPU -I/path/to/build.AArch64.Release.main/include -I/path/to/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fvisibility=hidden -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o -MF lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o.d -o lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/AMDGPUTargetMachine.cpp.o -c /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
In file included from /path/to/llvm-project/llvm/include/llvm/ADT/Hashing.h:49,
from /path/to/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12,
from /path/to/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/GCNSubtarget.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h:17,
from /path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp:17:
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h: In function 'constexpr llvm::StringRef llvm::AMDGPU::getFlavorName(llvm::AMDGPU::InstructionFlavor)':
/path/to/llvm-project/llvm/include/llvm/Support/ErrorHandling.h:165:36: error: call to non-'constexpr' function 'void llvm::llvm_unreachable_internal(const char*, const char*, unsigned int)'
::llvm::llvm_unreachable_internal(msg, __FILE__, __LINE__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h:67: note: in expansion of macro 'llvm_unreachable'
llvm_unreachable("Unknown InstructionFlavor");
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h: In function 'constexpr llvm::StringRef llvm::AMDGPU::getFlavorShortName(llvm::AMDGPU::InstructionFlavor)':
/path/to/llvm-project/llvm/include/llvm/Support/ErrorHandling.h:165:36: error: call to non-'constexpr' function 'void llvm::llvm_unreachable_internal(const char*, const char*, unsigned int)'
::llvm::llvm_unreachable_internal(msg, __FILE__, __LINE__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h:95: note: in expansion of macro 'llvm_unreachable'
llvm_unreachable("Unknown InstructionFlavor");
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h: In function 'constexpr llvm::StringRef llvm::AMDGPU::getReasonName(llvm::AMDGPU::AMDGPUSchedReason)':
/path/to/llvm-project/llvm/include/llvm/Support/ErrorHandling.h:165:36: error: call to non-'constexpr' function 'void llvm::llvm_unreachable_internal(const char*, const char*, unsigned int)'
::llvm::llvm_unreachable_internal(msg, __FILE__, __LINE__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/path/to/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h:142: note: in expansion of macro 'llvm_unreachable'
llvm_unreachable("Unknown AMDGPUSchedReason");
ninja: build stopped: subcommand failed.
```
See alo
(https://github.com/llvm/llvm-project/pull/192322#issuecomment-4672427400)
Commit: 3abb8d8a05a215f719cd5ebc962e5f07ffbaeaa1
https://github.com/llvm/llvm-project/commit/3abb8d8a05a215f719cd5ebc962e5f07ffbaeaa1
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
A mlir/test/Conversion/XeGPUToXeVM/extf_truncf.mlir
M mlir/test/Conversion/XeVMToLLVM/xevm_mx-to-llvm.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/xevm.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_raw.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip_bf16.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip_fp4.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip_fp4_bf16.mlir
Log Message:
-----------
[MLIR][XeVM] Add xevm.extf op as the inverse of xevm.truncf (#203124)
Add a new xevm.extf operation that extends f8/bf8/f4 values to f16/bf16,
mirroring the existing xevm.truncf op, together with its lowering in
XeVMToLLVM.
Lowering details (XeVMToLLVM):
- bf8/f8 -> f16 via __builtin_IB_bf8tohf_16 / __builtin_IB_hf8tohf_16.
- bf8/f8 -> bf16 via f16 -> f32 (convert_float16) -> bf16
(__builtin_IB_ftobf_16).
- e2m1 (fp4) -> f16/bf16 via __builtin_IB_shfl_idx4_lut and
__builtin_IB_shfl_idx4_to_fp16_8_packed (LUT 7 for f16, 5 for bf16).
Adds the op definition and verifier, conversion/roundtrip/invalid unit
tests, and f8 and fp4 GPU round-trip integration tests.
Adds arith.extf to xevm.extf lowering and arith.truncf to xevm.truncf
lowering in XeGPU to XeVM conversion and unit tests.
Commit: c4c30cebec281eb52e9742cfb1f892fa3c1d9624
https://github.com/llvm/llvm-project/commit/c4c30cebec281eb52e9742cfb1f892fa3c1d9624
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/insertvalue.ll
Log Message:
-----------
[SLP] Vectorize full insertvalue buildvector sequences
Treat a complete chain of insertvalue instructions building a homogeneous
literal struct from scalars as a buildvector, like insertelement sequences.
The scalars are vectorized into one vector; the aggregate is rebuilt from it
via a stack store + load, or stored directly when its only user is a store.
insertvalue is routed through the existing insertelement buildvector paths
(type/index helpers, reordering, tree build, cost model, min-bitwidth, and
codegen). Only single-index, non-vector inserts building from an undef
aggregate are handled.
Fixes #43353
Reviewers: hiraditya, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/200274
Commit: ae026a59dad1a0a59209418f7a39e16a889c8ac1
https://github.com/llvm/llvm-project/commit/ae026a59dad1a0a59209418f7a39e16a889c8ac1
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
Log Message:
-----------
[AMDGPU] Enable S_ADD_PC_I64 on gfx1251 (#203613)
Commit: 2f8a39d73394b9a50a32fed5430896afa32a06f5
https://github.com/llvm/llvm-project/commit/2f8a39d73394b9a50a32fed5430896afa32a06f5
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
Log Message:
-----------
[LoopInterchange] Fix crash when followLCSSA returns constant (#203515)
Similar as the case in ##201069, `followLCSSA` may return a constant
value, but it was cast to Instruction unconditionally. We need to
explicitly check whether the returned value is an Instruction or not.
Fix #203375.
Commit: d0cd530bf4e28732368244476c4f504a4920e6c4
https://github.com/llvm/llvm-project/commit/d0cd530bf4e28732368244476c4f504a4920e6c4
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[LoopInterchange] Mark getAddRecCoefficient with static (#203624)
As this function is a file-scope non-member function, it's better to
mark it with static.
Commit: e882286f4bb9095558e9783aa79cc6ca90487bcf
https://github.com/llvm/llvm-project/commit/e882286f4bb9095558e9783aa79cc6ca90487bcf
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Fix perf data return identification (#203628)
If perf data doesn't have branch type recorded, missing value would
incorrectly be interpreted as not-a-return. Only populate Returns map if
the branch type is available.
Fixes bug introduced in #202813.
Commit: 8fb9963fd4da8bc5b3b7e186cd369102f42d3640
https://github.com/llvm/llvm-project/commit/8fb9963fd4da8bc5b3b7e186cd369102f42d3640
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
A llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll
A llvm/test/CodeGen/AMDGPU/shl.v2i64.ll
M llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
M llvm/test/MC/AMDGPU/gfx1251_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Add gfx1251 V_PK_LSHL_ADD_U64 (#203612)
Commit: 181d8084770935e4e3cd1877d317e95b73fe8368
https://github.com/llvm/llvm-project/commit/181d8084770935e4e3cd1877d317e95b73fe8368
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/arm64e-tail-call-autib.ll
M llvm/test/CodeGen/AArch64/pauth-lr-tail-call-fpdiff.ll
A llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll
Log Message:
-----------
[AArch64][PAuth] Fix return-address auth for swifttailcc with FPDiff > 0 (#203340)
When a swifttailcc tail call has FPDiff > 0 (the caller received more
stack argument space than the callee pops), the epilogue contains an SP
adjustment to discard the leftover argument space. The existing code
treated both FPDiff < 0 and FPDiff > 0 uniformly in a single 'FPDiff !=
0' block, using AUTI[AB]1716 with a reconstructed entry-SP in x16 for
both cases.
For FPDiff < 0 (callee pops more) that reconstruction is necessary and
correct. For FPDiff > 0 it is wrong: by the time we enter the block the
post-index LDP has already adjusted SP back to the frame base, but the
'add sp, sp, #N' argument pop has not yet run. Entry SP equals the
current SP at that point, so AUTI[AB]SP would work directly, but instead
the combined block bumped SP via StackOffset::getFixed(-FPDiff) which
overshoots, and then emits AUTIA1716 with a wrong discriminator. Worse
yet, the SP restore had already been emitted *before* the auth, leaving
the live argument stack below SP and outside the red-zone during the
authentication window.
Fix by splitting the block on the sign of ArgumentStackToRestore:
* `< 0`: reconstruct entry SP in x16, save LR in x17, authenticate with
AUTI[AB]1716 (or AUTI[AB]171615 / PACM+AUTI[AB]1716 for PAuthLR).
* `> 0`: temporarily remove the 'add sp, sp, #N' SP-modifying
instructions from before the auth instruction (SPMods shuffle),
authenticate with AUTI[AB]SP (SP == entry SP at this point), then
re-insert the SP adjustment afterward.
Commit: 4c057feb7835680c39c78e826c033307bec74295
https://github.com/llvm/llvm-project/commit/4c057feb7835680c39c78e826c033307bec74295
Author: Guo Chen <guochen2 at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
A llvm/test/CodeGen/AMDGPU/spillv16Kernel.ll
Log Message:
-----------
[AMDGPU][true16] extract 16bit for scratch_load_ubyte_st when spilling (#203589)
In sramecc mode scratch_load_ubyte_st is selected for 16bit spilling.
Need a tmp vgpr32 and extract lo16 from it
Commit: 0a6e0210df5596f4aa35b6d01d0dcedc9414dab9
https://github.com/llvm/llvm-project/commit/0a6e0210df5596f4aa35b6d01d0dcedc9414dab9
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/freeze-aggregate.ll
A llvm/test/CodeGen/SPIRV/freeze-aggregate.ll
Log Message:
-----------
[SPIR-V] Lower freeze instructions with aggregate operands (#203584)
An aggregate freeze takes its result type from its operand, like a PHI
or select, but was handled by neither the up-front value-id mutation nor
replaceMemInstrUses, so the pass aborted with "illegal aggregate
intrinsic user". Mutate aggregate freezes to the i32 value-id type and
replace their operands alongside PHIs and selects.
Commit: d2163f7c0c21390190e1ccb91e61958ad6ecc9f9
https://github.com/llvm/llvm-project/commit/d2163f7c0c21390190e1ccb91e61958ad6ecc9f9
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Error out if pause statement is used in device code (#203642)
Commit: 81a81d7fae4a16e0edfdb0273f5c376547e15841
https://github.com/llvm/llvm-project/commit/81a81d7fae4a16e0edfdb0273f5c376547e15841
Author: dpalermo <dan.palermo at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
Log Message:
-----------
Revert "[AMDGPU] In `LowerDYNAMIC_STACKALLOC`, hoist the `readfirstlane` up one instruction" (#203645)
Reverts llvm/llvm-project#201528
Reverting due to change causing "illegal VGPR to SGPR copy"
Commit: c9b25a6437fd97fdb1e55ab6661c0cccce98913e
https://github.com/llvm/llvm-project/commit/c9b25a6437fd97fdb1e55ab6661c0cccce98913e
Author: Hardik Chona <iamhardikchona at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/mkstemp.cpp
A libc/src/stdlib/mkstemp.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/mkstemp_test.cpp
Log Message:
-----------
[libc] implement mkstemp (#199220)
Fixes #191266
Implements `mkstemp` as specified in POSIX
Currently Linux-only since it relies on the Linux syscall wrappers for
`getrandom` and `open`
Commit: 92d7a7fbbd7238222d8a0ef7b85b9300f832a4d5
https://github.com/llvm/llvm-project/commit/92d7a7fbbd7238222d8a0ef7b85b9300f832a4d5
Author: vsimion26 <vlad.simion at intel.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/Quant.h
M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
M mlir/include/mlir/Dialect/Quant/IR/QuantDialectBytecode.td
M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.cpp
M mlir/test/Dialect/Quant/Bytecode/types.mlir
Log Message:
-----------
QuantileType bytecode patch (#203495)
Since the merge of this
PR(https://github.com/llvm/llvm-project/pull/190321) there were some
issues identified, such as QuantileType not being added in the ByteCode
files. This PR focuses on fixing these missing pieces which should make
QuantileType a complete and functional type.
Commit: a8e3c083db160e2dc6f04b660b22b459e5167199
https://github.com/llvm/llvm-project/commit/a8e3c083db160e2dc6f04b660b22b459e5167199
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/raw_mutex.h
M libc/src/__support/threads/raw_rwlock.h
M libc/test/integration/src/__support/threads/futex_requeue_test.cpp
Log Message:
-----------
[libc] fix EAGAIN being treated as timeout in mutex and rwlock (#203574)
fix #203411.
This PR addresses the problem that `EAGAIN` may be treated as timeout in
mutex and rwlock. Two changes are applied:
1. timeout sites always explicitly check for timeout now to make the
logic more robust;
2. the futex wait now discards the error of `EAGAIN/EWOULDBLOCK` and
returns 0;
We don't distinguish waking up from signal and waking up from mismatch
for the following 3 reasons:
- We have userspace guard to avoid futex syscall if we already know
value would match, it seems awkward to make that check returns error, as
we may wake up and loop back to the check, where signal is consumed but
we still return error....;
- futex syscall can spuriously wake up anyway, there is no way to tell
whether the signal is "indeed" consumed;
- other platforms like darwin does not distinguish these states either.
Assisted-by: Gemini powered automation tools (human-in-the-loop).
Commit: baf76a838f3da5fcbb5acbdc12f57b0ed79cc3ce
https://github.com/llvm/llvm-project/commit/baf76a838f3da5fcbb5acbdc12f57b0ed79cc3ce
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/perf2bolt/perf_test.test
Log Message:
-----------
[BOLT] Change DataAggregator error types (#203651)
1. In `filterBinaryMMapInfo`, replace `incovertibleErrorCode` with errc
code as `parseMainEvents` converts returned Error to std::error_code.
2. In `parsePerfData`, pass through Error returned by `prepareToParse`
for memory events.
Test Plan: updated perf_test.test
Commit: 6b82a0485dbd6a6a5006329f2fa5f4e8bc977488
https://github.com/llvm/llvm-project/commit/6b82a0485dbd6a6a5006329f2fa5f4e8bc977488
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-global-addr.mlir
Log Message:
-----------
[flang][cuda] Fix host loads from CUDA constant globals (#203064)
This fixes CUDA Fortran lowering for scalar module variables with the
constant attribute that are read from host code, such as launch
configuration expressions or CUF kernel loop bounds.
Previously, host-side declarations for these globals could be rewritten
to device constant-memory addresses, causing host loads to dereference
the result of _FortranACUFGetDeviceAddress. The fix preserves host reads
from the host-visible global while still using the device address for
host-to-device assignment updates.
A FIR regression test covers host reads and assignment updates for
scalar CUDA constant globals.
Commit: af60d56719aa770dda70d19f37b0451b222e89e4
https://github.com/llvm/llvm-project/commit/af60d56719aa770dda70d19f37b0451b222e89e4
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/cuf-generic-literal-host.cuf
A flang/test/Semantics/cuf28.cuf
Log Message:
-----------
[flang][CUDA] Keep host literals from using unified-memory generic distance (#201257)
Fix CUDA generic resolution under `-gpu=mem:unified` so unattributed
literals and expression temporaries are not treated as unified-memory
actuals.
Previously, a host scalar literal such as `1.0` could score as
compatible with a `DEVICE` dummy and incorrectly select the
device-scalar overload. This could pass a host stack address to a device
helper and fail at runtime. The fix applies the unified/managed memory
distance columns only to symbol-backed actuals.
Commit: 7670d88e7ea753095f753e6616b66f5e74da42ef
https://github.com/llvm/llvm-project/commit/7670d88e7ea753095f753e6616b66f5e74da42ef
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
Log Message:
-----------
[flang][cuda] Set kernel intent(in) as const __restrict__ (#203652)
Set attributes on `intent(in)` so `ld.global.nc` is generated by the
backend.
Commit: 0579490edf0599cc01e10885c2149d4cce8ec399
https://github.com/llvm/llvm-project/commit/0579490edf0599cc01e10885c2149d4cce8ec399
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Intrinsics.cpp
A llvm/test/TableGen/intrinsic-overload-index-oor.td
M llvm/test/TableGen/intrinsic-struct.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[NFC][LLVM] Refactor IIT_ANY payload for vector/element constraint (#203506)
Change `IIT_ANY` payload from a single packed OverloadIndex + AnyKind
byte to 2 bytes:
- An 8 bit OverloadIndex
- An 8 pit packed vector + element type constraint.
This will enable `IIT_ANY` to express constraints on the overload type
is a more general fashion compared to a flat `AnyKind` enum.
Also fixed a latent bug in fixed encodings generated by the intrinsic
emitter (exposed by this change). Existing `encodePacked` packs the
type-signature as 8 nibbles into a 32-bit word and then checks if the
MSB bit position (i.e., bit 15) is 0 (to allow it's use in fixed
encoding). This effectively drop any 0 valued bytes in the encoding in
the upper 4 nibbles. Fix this by changing `encodePacked` to use the
actual fixed encoding type and its size.
Commit: b8e34c5adc38b5406d175e7e94c95f6399da096a
https://github.com/llvm/llvm-project/commit/b8e34c5adc38b5406d175e7e94c95f6399da096a
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
M clang/test/Sema/LifetimeSafety/invalidations.cpp
M clang/test/Sema/LifetimeSafety/nocfg.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Improve diagnostic messages for invalidations (#203577)
Commit: 4e5fa3bbabdf304975abf9eea59bc44d72277169
https://github.com/llvm/llvm-project/commit/4e5fa3bbabdf304975abf9eea59bc44d72277169
Author: Sergey Stepanov <23sas32 at gmail.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
A llvm/test/CodeGen/RISCV/shadowcallstack-frame-flags.ll
Log Message:
-----------
[RISCV] Mark HW shadow stack ops as frame setup/destroy (#203362)
This change follows up on PR #200182 and addresses the issue in the
[related
comment](https://github.com/llvm/llvm-project/pull/200182#discussion_r3329197379).
It sets `FrameSetup` on SSPUSH/C_SSPUSH and `FrameDestroy` on SSPOPCHK
instructions emitted by RISCVFrameLowering for the HW shadow stack path.
The test was written manually (instead of using
`utils/update_mir_test_checks.py`) to keep it simple and avoid
unnecessary fragility.
Commit: e3e2fd630f5969a6ee845a57e3be380331405e2e
https://github.com/llvm/llvm-project/commit/e3e2fd630f5969a6ee845a57e3be380331405e2e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Add PseudoClearGPR to the special cases in RISCVInstrInfo::getInstSizeInBytes. (#203637)
This instruction is expanded to an ADDI with immediate of 0 and should
then be compressed to c.li with Zca. The compression code doesn't know
this due to the Pseudo so manually give a size of 2 for Zca.
Commit: 756ff7174c7e8e641d0c9270e9864f5ddefce5e6
https://github.com/llvm/llvm-project/commit/756ff7174c7e8e641d0c9270e9864f5ddefce5e6
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
Log Message:
-----------
[HLSL][NFC] Move HLSLBufferCopyEmitter class (#203595)
Move `HLSLBufferCopyEmitter` class to the anonymous namespace at the top
of `CGHLSLRuntime.cpp` and use it directly from
`CGHLSLRuntime::createBufferMatrixTempAddress` instead going though the
`CGHLSLRuntime::emitBufferCopy` call. No changes were done to the
`HLSLBufferCopyEmitter` code.
This is preparation for work related to resources in cbuffer structs
which will be changing the signature of `CGHLSLRuntime::emitBufferCopy`
and modifying the `HLSLBufferCopyEmitter`.
Commit: afeee229f5160fecf427571141165a4d97c93f00
https://github.com/llvm/llvm-project/commit/afeee229f5160fecf427571141165a4d97c93f00
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp-codesize.ll
Log Message:
-----------
[VectorCombine] Use TCK_CodeSize for size-optimized functions (#202207)
VectorCombine currently uses `TCK_RecipThroughput` for all functions,
including functions optimized for size.
Select `TCK_CodeSize` when `Function::hasOptSize()` is true, covering
both `-Os` (`optsize`) and `-Oz` (`minsize`), while retaining
`TCK_RecipThroughput` for the default optimization mode.
The X86 regression test demonstrates a sign-bit reduction where the
throughput cost model folds an `or` reduction into a `umax` reduction.
The code-size model preserves the smaller form for `optsize` and
`minsize` functions, while the default function retains the existing
throughput-oriented transformation.
Fixes #153375.
Commit: 08e6e1476b4d3273f95ef715391154be0a6881bc
https://github.com/llvm/llvm-project/commit/08e6e1476b4d3273f95ef715391154be0a6881bc
Author: Ilpo Ruotsalainen <lonewolf at iki.fi>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bitreverse-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[GlobalISel] Fix sign-extended byte mask in lowerBswap (#199387)
The per-byte mask in `LegalizerHelper::lowerBswap` was constructed via
```
APInt APMask(SizeInBytes * 8, 0xFF << (i * 8));
```
where `0xFF << (i * 8)` is evaluated as a signed `int`. For `i*8 >= 24`
(byte-3 mask of an s64 G_BSWAP) the value `0xFF000000` does not fit in a
positive 32-bit `int`; the conversion to signed `int` is
implementation-defined under C++17 (UB under C++11, fully defined under
C++20) and on two's-complement targets produces `-16777216`. The modular
conversion to `uint64_t` in the `APInt` constructor then materializes
that negative `int` as `0xFFFFFFFFFF000000` — the intended mask was
`0x00000000FF000000`. The over-wide mask preserved bytes 4-7 of the
source where only byte 3 was intended, and the spurious bytes propagated
through the subsequent shift/OR chain.
Use `APInt::getBitsSet` to construct the mask, matching the file's other
bit-range mask constructions.
Fixes #199386
Commit: 44cc7971ff6d87e924abaf1ff12599e91d077faf
https://github.com/llvm/llvm-project/commit/44cc7971ff6d87e924abaf1ff12599e91d077faf
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] P3369R0: constexpr for `uninitialized_default_construct` (#200163)
Remarks:
- Tests also verify that `uninitialized_default_construct(_n)`
algorithms do not initialize trivially default-constructible elements
(`int` in these tests) to determined values during constant evaluation.
Commit: 18a4c90c5191cb2bade557061ee4afa548468c1e
https://github.com/llvm/llvm-project/commit/18a4c90c5191cb2bade557061ee4afa548468c1e
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M libcxx/include/optional
M libcxx/test/std/utilities/optional/optional.monadic/and_then.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/or_else.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/transform.pass.cpp
Log Message:
-----------
[libc++] Fix bug where `optional<T&>` couldn't be constructed from `transform()` (#203462)
- Add the proper from monadic base constructor
- Fix the constraint so it allows references.
- Add tests
Commit: e63cd40ccce67f9472af9676185d7c87157043b4
https://github.com/llvm/llvm-project/commit/e63cd40ccce67f9472af9676185d7c87157043b4
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
Log Message:
-----------
[NVPTX] Rip out vestigial variadic support (NFC) (#202385)
Commit: 24faf90b03a16c248764fb7ab33d9e7cb1d39908
https://github.com/llvm/llvm-project/commit/24faf90b03a16c248764fb7ab33d9e7cb1d39908
Author: Justin Stitt <justinstitt at google.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/test/AST/undocumented-attrs.cpp
Log Message:
-----------
[Clang] Add AttrDocs entry for OverflowBehavior (#203392)
These docs were previously missing.
Fixes: #203322
Signed-off-by: Justin Stitt <justinstitt at google.com>
Commit: e602cd1acc04bd1a16a21d4d1d2d81037fa306f2
https://github.com/llvm/llvm-project/commit/e602cd1acc04bd1a16a21d4d1d2d81037fa306f2
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
Log Message:
-----------
[AMDGPU] Add a few wmma co-execution hazard checks, NFC (#203658)
This is to reflect the gfx1251 update regarding wmma*8f6f4 with
matrix format as F4.
Also fix a comment in GCNHazardRecognizer.cpp
Commit: caf98648e8767ba73facc14a0324045df597660c
https://github.com/llvm/llvm-project/commit/caf98648e8767ba73facc14a0324045df597660c
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
A clang/include/clang/CIR/Dialect/IR/CIROpenCLAttrs.td
A clang/lib/CIR/Dialect/IR/CIROpenCLAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/AMDGPU.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/NVPTX.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
M clang/test/CIR/IR/invalid-addrspace.cir
A clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
A clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
Log Message:
-----------
[CIR][OpenCL] Add kernel argument metadata attribute (#199530)
Add a CIR attribute that carries OpenCL kernel argument metadata in
source argument order. Verify that each metadata field has the expected
element type and that all present arrays describe the same number of
arguments.
Commit: e5afb8e0982c524ee79436a15fb7270d4b9436f3
https://github.com/llvm/llvm-project/commit/e5afb8e0982c524ee79436a15fb7270d4b9436f3
Author: agrieve <agrieve at chromium.org>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/test/CodeGen/X86/call-imm.ll
Log Message:
-----------
[X86] Disallow immediate address calls when position independent (#202370)
Causes problems with mold linker, and was determined to be a compiler
bug. See:
See https://github.com/rui314/mold/pull/1601#issuecomment-4628653209
Commit: d0b899214d5ae364db6d24f4f3eafe9a5183b70e
https://github.com/llvm/llvm-project/commit/d0b899214d5ae364db6d24f4f3eafe9a5183b70e
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-c/Compiler.h
M orc-rt/include/orc-rt-c/CoreTypes.h
M orc-rt/include/orc-rt-c/Error.h
R orc-rt/include/orc-rt-c/ExternC.h
R orc-rt/include/orc-rt-c/Visibility.h
M orc-rt/include/orc-rt-c/WrapperFunction.h
Log Message:
-----------
[orc-rt] Merge ExternC.h and Visibility.h into Compiler.h. (#203673)
This mirrors the combined orc-rt/Compiler.h header on the C++ side, and
provides a natural home for future decoration macros when they're added.
Commit: 58c0dace6f0a230849910b92a97b00da4d04c2ec
https://github.com/llvm/llvm-project/commit/58c0dace6f0a230849910b92a97b00da4d04c2ec
Author: Lang Hames <lhames at gmail.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M orc-rt/include/orc-rt-c/Compiler.h
M orc-rt/include/orc-rt-c/Error.h
M orc-rt/lib/executor/Error.cpp
Log Message:
-----------
[orc-rt] Add ORC_RT_C_NOTHROW and apply it to the Error C API. (#203674)
Adds an ORC_RT_C_NOTHROW macro that expands to `noexcept` in C++ mode,
and `__attribute__((nothrow))` where that attribute is supported.
Also applies the new ORC_RT_C_NOTHROW macro to orc-rt-c/Error.h (and
adds `noexcept` to the corresponding C++ implementation in
lib/executor/Error.cpp).
Commit: b76803b394ac4330dd7b14d1f866dd695f107fe9
https://github.com/llvm/llvm-project/commit/b76803b394ac4330dd7b14d1f866dd695f107fe9
Author: A. Jiang <de34 at live.cn>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__locale
M libcxx/src/locale.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char16_t_char8_t.depr_in_cxx20.verify.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char32_t_char8_t.depr_in_cxx20.verify.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t_char8_t.pass.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char16_t_char8_t.depr_in_cxx20.verify.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char32_t_char8_t.depr_in_cxx20.verify.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_encoding.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_max_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_unshift.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_encoding.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_max_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_unshift.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t_char8_t.pass.cpp
Log Message:
-----------
[libc++] LWG3767: `codecvt<charN_t, char8_t, mbstate_t>` incorrectly added to locale (#201749)
Implement it as a DR against C++20, patching P0482R6.
Commit: 76e120e0bde5d1aa928ffd2e91e0276a24be365d
https://github.com/llvm/llvm-project/commit/76e120e0bde5d1aa928ffd2e91e0276a24be365d
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang][NFC] Add the list C++ papers approved in Brno by WG21 (#203685)
Commit: 9a3e91daa7798e8695a68b01a8ff9b76e54f8524
https://github.com/llvm/llvm-project/commit/9a3e91daa7798e8695a68b01a8ff9b76e54f8524
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-ptr-to-ptr-arg-alloca-store.ll
Log Message:
-----------
[SPIR-V] Preserve pointer-to-pointer element type for T*& parameters (#203113)
SPIR-V backend was collapsing T*& reference parameters down to T*,
dropping a level of indirection during element-type deduction. This
patch keeps the pointer-to-pointer level intact, fixing it both within a
function (a T** reloaded from its alloca) and across calls via
cross-function parameter propagation.
Fixes HeCBench/topk on HIP.
Commit: cbf3f87d6c950208ed95a5dcf4399b79e7e74baf
https://github.com/llvm/llvm-project/commit/cbf3f87d6c950208ed95a5dcf4399b79e7e74baf
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/add-sub.ll
M llvm/test/Analysis/CostModel/AMDGPU/fadd.ll
M llvm/test/Analysis/CostModel/AMDGPU/fma.ll
M llvm/test/Analysis/CostModel/AMDGPU/fmul.ll
M llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
M llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
A llvm/test/Transforms/LoopVectorize/AMDGPU/packed-fp64.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f64.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2i64.ll
Log Message:
-----------
[AMDGPU] gfx1251 cost model (#203682)
Commit: 57109befac92811d2253109242ca6fa69c961fb2
https://github.com/llvm/llvm-project/commit/57109befac92811d2253109242ca6fa69c961fb2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/utils/lit/lit/formats/shtest.py
M llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg
M llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg
M llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
Log Message:
-----------
Reapply "[lit] Deprecate execute_external=True in ShTest" (#203316) (#203689)
This reverts commit 6713634507b21efe6c895dd40e85ba72fe0ce269.
The fuzzer tests now use the internal shell by default, so we should be
good to go ahead and enable this.
Commit: 34802b90f3877abb71faf43ff80ffae985ab2672
https://github.com/llvm/llvm-project/commit/34802b90f3877abb71faf43ff80ffae985ab2672
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
Log Message:
-----------
[AtomicExpand][test] Add CHECK32 and CHECK64 via whole-file regen (#201303)
Add CHECK32 and CHECK64 via whole-file regen for the
`@load_v2i64_cmpxchg`, `@load_v4i32_cmpxchg`, `@load_v16i8_cmpxchg`
tests of https://github.com/llvm/llvm-project/pull/199310.
Stacked below https://github.com/llvm/llvm-project/pull/199520.
Commit: b48dd92d8e00b4a2940dd539722444bf0dd2ef65
https://github.com/llvm/llvm-project/commit/b48dd92d8e00b4a2940dd539722444bf0dd2ef65
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
A clang/test/ParserOpenACC/directive-scope-setup.cpp
R clang/test/ParserOpenACC/gh197858.cpp
Log Message:
-----------
[OpenACC] Fix scope setup for OpenACC directives without scope. (#203687)
When implementing these, I intended to have the 'empty' parse scopes for
most of the directives introduced for simplicity. However some
assertions show that this is not a valid use of this, as it doesn't
tolerate 'empty' parse scopes. This patch stops introducing one.
Fixes: #203679
Commit: e5cfc1ec130e9ef61fd64369353253f9da894887
https://github.com/llvm/llvm-project/commit/e5cfc1ec130e9ef61fd64369353253f9da894887
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/include/llvm/TargetParser/XtensaTargetParser.def
M llvm/include/llvm/TargetParser/XtensaTargetParser.h
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaProcessors.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/test/CodeGen/Xtensa/cpus.ll
A llvm/test/MC/Xtensa/xtensa-esp32s2-valid.s
Log Message:
-----------
[Xtensa] Implement support of the ESP32S2 target. (#200130)
Commit: 76aed382055b0c07a9ce89d9273cc1f70daecf17
https://github.com/llvm/llvm-project/commit/76aed382055b0c07a9ce89d9273cc1f70daecf17
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Avoid non-const-parameter fix-it conflicts with overloads (#202490)
`readability-non-const-parameter` can suggest changing `T *` to `const T
*` when that would conflict with an existing overload. Suppress the
diagnostic in that case by comparing the post-fix parameter list against
other declarations with the same name.
Closes https://github.com/llvm/llvm-project/issues/202478
Commit: 94b46a0ded3aebfa13c0fb63e5637df34a87efbd
https://github.com/llvm/llvm-project/commit/94b46a0ded3aebfa13c0fb63e5637df34a87efbd
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
Log Message:
-----------
[Passes] Remove redundant IR pass registries in MachinePassRegistry.def (#203659)
IR pass registries are redundant, remove them.
Commit: cf004c900376a60386d8cc7c643ea07cd61217e9
https://github.com/llvm/llvm-project/commit/cf004c900376a60386d8cc7c643ea07cd61217e9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.format.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp
Log Message:
-----------
[libcxx] Do not mark mkstemp tests xfail for libc (#203681)
mkstemp was recently implemented in
c9b25a6437fd97fdb1e55ab6661c0cccce98913e, so these tests now pass.
Commit: 5b3a9ac949aba6e062bcd9062cb8c0f2eaf7f776
https://github.com/llvm/llvm-project/commit/5b3a9ac949aba6e062bcd9062cb8c0f2eaf7f776
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.h
Log Message:
-----------
[clang][bytecode] Handle more types in `canClassify()` (#203669)
Avoid having to go through the normal `classify()` path.
Commit: eb23fddeb4e93b294f9c5db14dee577b14295c22
https://github.com/llvm/llvm-project/commit/eb23fddeb4e93b294f9c5db14dee577b14295c22
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Replace std::initializer_list SupportedOp with a C array
Fixes a static_assert constant-expression build failure on older clang
(temporary initializer_list backing array).
Fixes #203184
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/203707
Commit: a815e6f267c12417757743a95fdc89cc3cde4499
https://github.com/llvm/llvm-project/commit/a815e6f267c12417757743a95fdc89cc3cde4499
Author: Timur Golubovich <timur.golubovich at intel.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/X86/reuse-existing-phi.ll
M llvm/test/Transforms/LoopStrengthReduce/funclet.ll
Log Message:
-----------
[Test] Fix LSR tests to prevent trivial simplification of icmp (#203705)
Replace undef operands in funclet.ll with function parameters and adjust
the loop bound in reuse-existing-phi.ll so the new simplification pass
does not fold away the comparisons these tests are meant to exercise.
Commit: d0e87f95a6fd6b5aa9e46c5ef86f1e6080c04742
https://github.com/llvm/llvm-project/commit/d0e87f95a6fd6b5aa9e46c5ef86f1e6080c04742
Author: mike-goutokuji <gfunni234 at gmail.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86SchedSandyBridge.td
M llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
M llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
Log Message:
-----------
[X86] Fix Sandy Bridge's WriteLDMXCSR (#203585)
Using information from uops.info, I corrected some numbers.
Commit: e61071dda770c05e91319a46eef97e2bf9e9f007
https://github.com/llvm/llvm-project/commit/e61071dda770c05e91319a46eef97e2bf9e9f007
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
Log Message:
-----------
[VPlan] Run final removeBranchOnConst after late simplifyRecipes. (#193069)
simplifyRecipes may expose additional known branches. Move final
removeBranchOnConst after the late simplifyRecipes run.
Removing branches like the vector loop backedge leads to additional
simplifications, like removing trivial phis etc. Return true if any phis
have incoming values have been removed by removeBranchOnConst. If so, we
need another simplifyRecipes run.
Depends on https://github.com/llvm/llvm-project/pull/193067 for
functional changes.
PR: https://github.com/llvm/llvm-project/pull/193069
Commit: 8ba6fb1bf23748d58224db9df5b0ee7ddd257055
https://github.com/llvm/llvm-project/commit/8ba6fb1bf23748d58224db9df5b0ee7ddd257055
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/HLSL/ConstantBuffers-AST-error.hlsl
A clang/test/AST/HLSL/StructPassing-AST.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/matrix-constructors.hlsl
M clang/test/AST/HLSL/semantic-output-struct-shadow.hlsl
M clang/test/AST/HLSL/semantic-output-struct.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/cbuffer_copy_layout.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
M clang/test/CodeGenHLSL/semantics/semantic-struct-2-output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveBallot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveCountBits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot4add_i8packed-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot4add_u8packed-errors.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
M clang/test/SemaHLSL/Language/InitListAST.hlsl
M clang/test/SemaHLSL/Language/InitLists.hlsl
M clang/test/SemaHLSL/Resources/ConstantBuffers.hlsl
M clang/test/SemaHLSL/prohibit_pointer.hlsl
Log Message:
-----------
[HLSL] Disable implicit constructors for user-defined structs/classes (#194989)
Disables implicit constructors and assignment operators on user-defined
structs/classes in HLSL.
When a struct is copied or passed as an argument to a function, instead
of using copy constructor the compiler inserts an implicit
_lvalue_-to-_rvalue_ cast where necessary to copy the value. In C++
these implicit casts are not allowed. Sema initialization and
overloading code has been adjusted to enable this code path for HLSL.
For struct in a constant buffer, the implicit cast changes the constant
address space to the default one. Codegen recognized this pattern and
instead of translating the copy as `memcpy`, it copies the struct
element-by-element (because the constant address space struct can have a
different layout).
To efficiently recognize whether a `CXXRecordDecl` is a user-defined
struct/class or if it is an HLSL built-in struct/class, a new bit
`IsHLSLBuiltinRecord` has been added to the `CXXRecordDecl` definition
data. This property is set for struct/classes created in
`HLSLExternalSemaSource`.
Part of #185466
Fixes #153055
Commit: f7b674930f468562b9e41481217ef4e1ed431e1b
https://github.com/llvm/llvm-project/commit/f7b674930f468562b9e41481217ef4e1ed431e1b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
Log Message:
-----------
[LV] Allow AddChainWithSubs in ExtNegatedMulAccReduction. (#203720)
For chained reductions identified as RecurKind::AddChainWithSubs, VPlan
construction rewrites each sub link as 0 - X so that the in-loop
reduction can treat the chain uniformly as a sum. The
ExtNegatedMulAccReduction VPExpressionRecipe matches that 0 - mul form,
but its constructor only allowed RecurKind::Add and asserted otherwise,
crashing with -prefer-inloop-reductions on the added tests.
AddChainWithSubs maps to Instruction::Add via
RecurrenceDescriptor::getOpcode, so the rest of the recipe (cost
computation, codegen) already handles it. Relax the constructor assert
to also accept AddChainWithSubs.
Commit: c6012943c60d0a106e03d4e38e12fd66d8e69ddf
https://github.com/llvm/llvm-project/commit/c6012943c60d0a106e03d4e38e12fd66d8e69ddf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll
Log Message:
-----------
[SLP][NFC]Add a test with the unsupported runtime checks
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/203728
Commit: 8796d370aed0153ce884319c2365530e92b9bf5e
https://github.com/llvm/llvm-project/commit/8796d370aed0153ce884319c2365530e92b9bf5e
Author: Govind Malasani <gmalasan at andrew.cmu.edu>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
A mlir/test/Dialect/SparseTensor/sparse_loop_ordering.mlir
Log Message:
-----------
[MLIR][SparseTensor] Added Sparse Outer Loop Ordering Strategy (#172198)
This PR builds upon the infrastructure set up for Sparse Tensor Loop
Ordering Heuristics (#154656) and the already existing Dense Outer loop
ordering strategy (#160168).
Commit: ae1c5074a0c6ec128fe824d456314e547b57165a
https://github.com/llvm/llvm-project/commit/ae1c5074a0c6ec128fe824d456314e547b57165a
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/test/Dialect/SparseTensor/sparse_pack.mlir
Log Message:
-----------
[mlir][sparse_tensor] Fix out-of-bounds read in SparseAssembleOpConverter (#203289)
The assemble codegen loop iterates over the level rank but asserted on
`getDimShape()[lvl]`, which is sized by the dimension rank. Index the
level shape instead, matching the loop bound and the next line.
Fixes #203225.
Commit: a72232481fe7d87056dae9b89d8c2580323a9f39
https://github.com/llvm/llvm-project/commit/a72232481fe7d87056dae9b89d8c2580323a9f39
Author: dyung <douglas.yung at sony.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M clang/test/Driver/hexagon-toolchain-picolibc.c
M clang/test/Driver/hip-include-path.hip
M clang/test/Preprocessor/iwithprefix.c
Log Message:
-----------
Update remaining tests for usage of CLANG_RESOURCE_DIR (#202475)
We would like to enable the clang CMake option CLANG_RESOURCE_DIR on our
build bots, but found that a few tests that need updating since they
make assumptions about compiler paths that are modified when using
CLANG_RESOURCE_DIR. This is the final change to update the remaining 3
test failures we found.
In the previous change (#197154), I added a definition for
`%clang-resource-dir` which contains the path printed by the compiler
when run with `-print-resource-dir`. We pass that value to the remaining
tests where needed through the RUN lines and use that to verify the
correct path rather than just trying to guess at it using a complex
regex.
One exception was a test which uses `-###` which escapes the backslashes
on Windows. For that test I just used tr+sed to escape the backslashes so
that the matching would work in that particular test only.
Commit: 3a46e59c2bf4db22cc22ef8a92d459c34c696731
https://github.com/llvm/llvm-project/commit/3a46e59c2bf4db22cc22ef8a92d459c34c696731
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
A clang/test/CodeGen/ubsan-aggregate-null-align-bounds.c
R clang/test/CodeGen/ubsan-aggregate-null-align.c
Log Message:
-----------
[NFC][tests] Rename test file and function names to reflect scope/content (#203731)
Rename test file to reflect scope (includes array bounds checking).
Rename test functions for internal convention consistency:
Consistently use "deref" and "subscript" to refer to `*p` and `arr[idx]`
expression forms.
Commit: e84e480bb5a53c794f303683df6460ddb44bb7ac
https://github.com/llvm/llvm-project/commit/e84e480bb5a53c794f303683df6460ddb44bb7ac
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
Log Message:
-----------
Revert "[flang][cuda] Set kernel intent(in) as const __restrict__" (#203734)
Reverts llvm/llvm-project#203652
breaking some downstream cudafor code
Commit: f7f904f96107dd59a06d8bc58f888befcfafd2b4
https://github.com/llvm/llvm-project/commit/f7f904f96107dd59a06d8bc58f888befcfafd2b4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/reduction-ordered-fadd.ll
Log Message:
-----------
[SLP][NFC]Add a test with miscompiled ordered reductions, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/203738
Commit: 5db7e5b483a32f37d1d77a6f18d2bc4c59fa460a
https://github.com/llvm/llvm-project/commit/5db7e5b483a32f37d1d77a6f18d2bc4c59fa460a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-13 (Sat, 13 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-root-deleted.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-ordered-fadd.ll
Log Message:
-----------
[SLP]Keep ordered fadd reductions sequential
tryToReduceOrdered vectorizes reductions that are not associative (e.g. an
fadd with reassoc but without nsz). The accumulation order must be
preserved, but the reduction was costed and emitted with reassoc, and the
whole tree was rotated to memory order by reorderTopToBottom, which can
change the result of the sequential reduction.
Drop reassoc from the flags used to cost and emit the reduction so the
generated llvm.vector.reduce.fadd stays ordered, and drop the top-to-bottom
reorder so the reduced values keep their original accumulation order.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/203741
Commit: 9d43f86e6f302604b109ffa9df7de793aeb801d8
https://github.com/llvm/llvm-project/commit/9d43f86e6f302604b109ffa9df7de793aeb801d8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/test/tools/llubi/alloca.ll
M llvm/test/tools/llubi/attributes.ll
M llvm/test/tools/llubi/gep.ll
M llvm/test/tools/llubi/inttoptr.ll
A llvm/test/tools/llubi/inttoptr_freed.ll
A llvm/test/tools/llubi/inttoptr_generation.ll
A llvm/test/tools/llubi/inttoptr_generation2.ll
A llvm/test/tools/llubi/inttoptr_gep.ll
A llvm/test/tools/llubi/inttoptr_multiobj.ll
A llvm/test/tools/llubi/inttoptr_multiobj2.ll
A llvm/test/tools/llubi/inttoptr_oob.ll
A llvm/test/tools/llubi/inttoptr_oob2.ll
M llvm/test/tools/llubi/lib_abort.ll
M llvm/test/tools/llubi/lib_exit.ll
M llvm/test/tools/llubi/lib_io.ll
M llvm/test/tools/llubi/lib_printf_format.ll
M llvm/test/tools/llubi/lib_terminate.ll
M llvm/test/tools/llubi/loadstore_be.ll
M llvm/test/tools/llubi/loadstore_le.ll
M llvm/test/tools/llubi/metadata.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/ExecutorBase.cpp
M llvm/tools/llubi/lib/ExecutorBase.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Library.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add support for exposed provenance (#200596)
This patch implements the semantics of exposed provenance, as described
in [nikic's RFC draft](https://hackmd.io/@nikic/SJBt4mFCll) and
[Miri](https://doc.rust-lang.org/beta/nightly-rustc/miri/enum.Provenance.html).
The provenance of an inttoptr is marked as "wildcard", which picks one
from previously exposed provenances each time a memory access is
performed. For angelic non-determinism, a snapshot of the exposed
provenance set is recorded when inttoptr executes. When a memory access
is performed, all invalid provenances are masked out. If we fail to pick
one, it is UB.
Since all memory objects in llubi are non-overlapping (i.e., there is at
most one memory object satisfying `Obj->inBounds(Addr)` for each
address), we can determine a unique memory object for a wildcard
provenance when the first memory access is performed.
This matches Miri's behavior. Another variant is to resolve the memory
object when inttoptr executes, which gives a limited provenance set
(implemented in the second commit). See also the comments in nikic's RFC
(`For example, one could limit inttoptr to only recover the provenance
of an object that the address is part of.`).
Another thing to be noted is that `gep inbounds` cannot determine the
associated memory object of a wildcard provenance, because it doesn't
cause UB. Instead, I reuse the Obj field to represent something like
`this pointer has a wildcard provenance, but it is only allowed to use
exposed provenances associated with a specific memory object, when
performing load/store via the pointer`. This is an approximation: we
cannot update the wildcard provenance if the gep is used by an icmp and
a branch.
As we don't support `captures` for now, all checkers just return true.
I'll add more tests in the `captures` patch.
Commit: 4331c07e8a8d398daf2204b6c4085f992b343308
https://github.com/llvm/llvm-project/commit/4331c07e8a8d398daf2204b6c4085f992b343308
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M libcxx/include/optional
Log Message:
-----------
[libc++][NFC] Simplify `optional<T>` and `optional<T&>` a bit (#203665)
- Make `optional<T&>`'s iterator base directly from the storage base
instead of inheriting the empty bases, allowing us to remove the
`is_lvalue_reference_v` conditions in the empty bases
- Move the `__is_constructible_for_optional_{meow}` variables closer to
`make_optional` since that's the only place they're really useful for
now
- Change the SFINAE for the iterator availability to use concepts
instead
The above should make it easier to split up in an upcoming patch.
Commit: 0a2565d7c6dd196eceb8c93befde1150d78790b7
https://github.com/llvm/llvm-project/commit/0a2565d7c6dd196eceb8c93befde1150d78790b7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Use `isSignedType()` in `pushInteger` (#203670)
We need to classify here anyway, so use the information from the
primtype.
Commit: db210c5e33643a8154329a607b5b6dcd419271df
https://github.com/llvm/llvm-project/commit/db210c5e33643a8154329a607b5b6dcd419271df
Author: Shanzhi Chen <chenshanzhi at huawei.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
Log Message:
-----------
[NFC] Prefer compile-time branching in function template (#203698)
Commit: beadaec428a65a901be47964619121cc5b889635
https://github.com/llvm/llvm-project/commit/beadaec428a65a901be47964619121cc5b889635
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/test/tools/llubi/global_constexpr_initializer.ll
A llvm/test/tools/llubi/unsupported_constant.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add support for constant expressions (#203746)
This patch adds support for most kinds of constant expressions, except
for ptrtoint/inttoptr. Casting between pointers and integers is
stateful, so they cannot be cached. I plan to implement them in
subsequent patches. ptrtoaddr is also supported in this patch to block
constant folding.
The logic in `evaluateConstantExpression` duplicates the interpreter's
code in `visit*` methods. But I think it is acceptable. Only the GEP
computation is reused.
Commit: 86543b7a7c3c737f5680f9cb0e2277fe1c23f336
https://github.com/llvm/llvm-project/commit/86543b7a7c3c737f5680f9cb0e2277fe1c23f336
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
Log Message:
-----------
[LV] Add additional tests for narrowing IGs with invariant ops (NFC). (#203726)
Add test where operands are different live-ins.
Commit: 6d25dcecf8bbc4f3e0246af8f3c6d6e9f70b85d4
https://github.com/llvm/llvm-project/commit/6d25dcecf8bbc4f3e0246af8f3c6d6e9f70b85d4
Author: Zhige Chen <zhigec_cpp at outlook.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
A llvm/test/tools/llubi/ptrtoaddr.ll
A llvm/test/tools/llubi/ptrtoaddr_after_ptrtoint.ll
A llvm/test/tools/llubi/ptrtoaddr_no_expose.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Implement ptrtoaddr (#203771)
This PR implements the `ptrtoaddr` instruction.
Commit: e19d1f51a2c80b63cd8ca95bcc757b7077112808
https://github.com/llvm/llvm-project/commit/e19d1f51a2c80b63cd8ca95bcc757b7077112808
Author: Walter <90877047+WalterKruger at users.noreply.github.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
M llvm/test/CodeGen/X86/gfni-xor-fold.ll
Log Message:
-----------
[X86] Fold XOR of two VGF2P8AFFINEQB instructions with same matrix (#199146)
Adds an optimization to fold a XOR between two `vgf2p8affineqb`
instructions that share the same matrix by XORing their sources
beforehand. This patch:
- Can eliminate one `vgf2p8affineqb` instruction.
- Doesn't occur if either affine is multi use, preventing an increase in code size.
- Includes test coverage for both positive and negative cases.
Fixes #196879
Commit: a44231fd3f7a3d11d8a9fe666ed926e0efd891a5
https://github.com/llvm/llvm-project/commit/a44231fd3f7a3d11d8a9fe666ed926e0efd891a5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Lower the paadd/pasub intrinsics to existing ISD nodes. NFC (#203646)
This avoids having 2 different isel patterns for the same operation.
Commit: f58495a213b48f6fbd636eb8b41cfeb26da74b03
https://github.com/llvm/llvm-project/commit/f58495a213b48f6fbd636eb8b41cfeb26da74b03
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/shadowcallstack.ll
Log Message:
-----------
[RISCV] Remove manual compression of SSPUSH in RISCVFrameLowering.cpp. NFC (#203635)
We used to emit a Zcmop instruction here, which required manual
compression. Since we now emit a Zicfiss instruction, we can rely on
CompressPat to do the right thing.
Commit: f683de4ee14074af6046c13f4db07c55450e3ef7
https://github.com/llvm/llvm-project/commit/f683de4ee14074af6046c13f4db07c55450e3ef7
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add an LLVM ABI-breaking checks build setting (#203739)
Commit: eda662faf49d1a0cb81e724993d2fdc123b4b693
https://github.com/llvm/llvm-project/commit/eda662faf49d1a0cb81e724993d2fdc123b4b693
Author: Tuhil <63782260+Tuhil926 at users.noreply.github.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/getarg.f90
A flang/test/Lower/Intrinsics/iargc.f90
A flang/test/Semantics/test-iargc-getarg.f90
Log Message:
-----------
[flang] Add support for the IARGC and GETARG legacy intrinsics (#196425)
Adds semantic checking and lowering, along with semantic and lowering
tests for the legacy GNU intrinsics 'IARGC()' and 'GETARG(POS, VALUE)'.
Although these could just be added as aliases to the standard
COMMAND_ARGUMENT_COUNT and GET_COMMAND_ARGUMENT intrinsics, they were
implemented as separate intrinsics because of some semantic differences
between them:
* IARGC always returns INTEGER(4), whereas COMMAND_ARGUMENT_COUNT
returns a default INTEGER, which could have a different kind.
* GETARG has only two arguments, both of which are required.
* GETARG's POS argument accepts any integer type of width less than or
equal to the default integer kind, while GET_COMMAND_ARGUMENT only
accepts default integers.
Fixes #158438
Commit: a53a62dace4adad245571cf989eeddca32108eb0
https://github.com/llvm/llvm-project/commit/a53a62dace4adad245571cf989eeddca32108eb0
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github] Remove unnecessary packages from github-automation container (#203358)
This cuts the container size from 654 MB to 229 MB. This is mainly due
to removing the python3-pip package which was pulling in some big
depedencies like gcc.
A smaller container will be faster to download which will speed up the
workflow runs, but also, having less packages means smaller attack
surface for the container.
Commit: 3e11b3be3b86d4e72e73e610fb15fe431169f16e
https://github.com/llvm/llvm-project/commit/3e11b3be3b86d4e72e73e610fb15fe431169f16e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M compiler-rt/test/fuzzer/fork.test
M compiler-rt/test/fuzzer/fork_corpus_groups.test
Log Message:
-----------
[Fuzzer] Bump max RSS in fork tests (#203688)
These became flaky on at least one buildbot after enabling the internal
shell by default:
1. https://lab.llvm.org/buildbot/#/builders/174/builds/36874
2. https://lab.llvm.org/buildbot/#/builders/174/builds/36876
Try bumping the max RSS to see if that helps.
Commit: 3df63e9edfc08d293f7b4232f3897c5d1cb16a2e
https://github.com/llvm/llvm-project/commit/3df63e9edfc08d293f7b4232f3897c5d1cb16a2e
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/use-old-text-zero-padding.c
Log Message:
-----------
[BOLT] Zero alignment padding when reusing old text section (#202375)
With --use-old-text, the output starts as a byte-for-byte copy of the
input. Alignment padding between sections could retain stale data from
the original binary. Zero the padding so the result matches writing
sections to new file offsets.
Commit: 80b1dddb5a24c5a09865357db0173260d8132ac0
https://github.com/llvm/llvm-project/commit/80b1dddb5a24c5a09865357db0173260d8132ac0
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
Log Message:
-----------
[LV] Drop the mask of a predicated store masked by the header mask. (#201676)
Drop the mask of a predicated store masked by the header mask (which is
guaranteed to be true at least for the first lane) and both the stored
value and the address are uniform across VF and UF.
An similar version for loads was included in
https://github.com/llvm/llvm-project/pull/196630, but restricted the
uniform-across-vfs-and-ufs did not have impact in practice.
For stores, this results in some improvements after
https://github.com/llvm/llvm-project/pull/196632.
PR: https://github.com/llvm/llvm-project/pull/201676
Commit: f7e53fc7fa5fc2cc9250b6a46b943c10380a112d
https://github.com/llvm/llvm-project/commit/f7e53fc7fa5fc2cc9250b6a46b943c10380a112d
Author: Sergey Semenov <sergey.semenov at intel.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[offload] Fix olMemcpy error message typo (#197273)
Commit: ad7119873fbb8814140f446ebaeaae4d47ad1a81
https://github.com/llvm/llvm-project/commit/ad7119873fbb8814140f446ebaeaae4d47ad1a81
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
Log Message:
-----------
[LV] Add outer-loop tests for continuous access analysis. (NFC) (#203789)
Add outer loop tests with different strided accesses.
Commit: 71f69c19ae1a2887cb642695e574eab9e23708cf
https://github.com/llvm/llvm-project/commit/71f69c19ae1a2887cb642695e574eab9e23708cf
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use ResumeForEpilogue for header phi resume in epilogue plan (NFC) (#203786)
Pass the ResumeForEpilogue VPInstructions created by
preparePlanForMainVectorLoop into preparePlanForEpilogueVectorLoop and
get the resume IR from ResumeForEpilogue::getUnderlyingValue()
Commit: cc613052fd6afe2e3522c18234e382588069441d
https://github.com/llvm/llvm-project/commit/cc613052fd6afe2e3522c18234e382588069441d
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
Log Message:
-----------
[X86] Remove shouldCastAtomicLoadInIR; use DAG combine instead (#199520)
Remove X86's shouldCastAtomicLoadInIR override that cast FP atomic loads
to integer at the IR level. Instead, handle this in a pre-legalize DAG
combine (combineAtomicLoad) that rewrites FP/FP-vector atomic loads to
integer atomic loads plus a bitcast.
This and #199310, which adds the necessary cmpxchg support for
non-integer atomic loads in AtomicExpand, are a response to
https://github.com/llvm/llvm-project/pull/148899 for `atomic_vec4_float`
of `atomic-load-store.ll`.
Stacked above #201303.
Commit: 86d7405f428e0cf4cdeba55babbcd111ab499370
https://github.com/llvm/llvm-project/commit/86d7405f428e0cf4cdeba55babbcd111ab499370
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M lldb/source/Symbol/Symbol.cpp
M lldb/source/Symbol/Symtab.cpp
Log Message:
-----------
[lldb] Add static asserts on Symbol size to DataFileCache (#203735)
DataFileCache is a serialization to disk of a Symtab - the symbol names
and array of Symbol objects - so if the contents of the Symbol object
change, the serialization may need to change as well, and we need to
bump the DataFileCache version number to avoid misparsing an older
format.
It's also a little too easy to change Symbol and not notice that
Symbol::Encode/Decode and Symtab::Encode/Decode need to be updated.
static_asserting the size of Symbol isn't perfect, but as long as we're
doing it in Symbol.h already to warn anyone increasing the size of this
object, I want to use the same technique to make sure people look at
these other sites that are tied to the contents.
Commit: 6966cf3f7120f5068d811b439ac431f7af6c6e6d
https://github.com/llvm/llvm-project/commit/6966cf3f7120f5068d811b439ac431f7af6c6e6d
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify the `nsz` semantic for `{u,s}itofp` (#201557)
`nsz` has special semantic in `{u,s}itofp`, which falls into the "unless
otherwise mentioned" in `nsz` doc, this PR clarifies it in LangRef.
Commit: 19d343debcbc47b1d9b2e2117a599130c33c547c
https://github.com/llvm/llvm-project/commit/19d343debcbc47b1d9b2e2117a599130c33c547c
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/cmov.ll
M llvm/test/CodeGen/X86/apx/dec.ll
M llvm/test/CodeGen/X86/apx/imul.ll
M llvm/test/CodeGen/X86/apx/inc.ll
M llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
M llvm/test/CodeGen/X86/apx/neg.ll
M llvm/test/CodeGen/X86/apx/not.ll
M llvm/test/CodeGen/X86/apx/or.ll
M llvm/test/CodeGen/X86/apx/rol.ll
M llvm/test/CodeGen/X86/apx/ror.ll
M llvm/test/CodeGen/X86/apx/sar.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
M llvm/test/CodeGen/X86/apx/shl.ll
M llvm/test/CodeGen/X86/apx/shld.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/shrd.ll
M llvm/test/CodeGen/X86/apx/sub.ll
M llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/cmp.ll
Log Message:
-----------
[X86][APX] Remove prefer-ndd-imm tuning (#203758)
It turns out NDD's immediate variants perform as good as non-NDD's on
real hardware. Verified both on CPU2017 and CPU2026, the geomean is
around 0 w/ and w/o this change. A few items get up and down due to the
side effect of register live range change caused by the NDD form. No
evidence shows this tuning has improvements or degradations even on
single items.
Assisted-by: Claude Sonnet 4.6
Commit: 375b70bafedafa71fabfb0e8b1e759daeef0f703
https://github.com/llvm/llvm-project/commit/375b70bafedafa71fabfb0e8b1e759daeef0f703
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M libclc/clc/lib/amdgpu/CMakeLists.txt
A libclc/clc/lib/amdgpu/math/clc_recip_fast.cl
A libclc/clc/lib/amdgpu/math/clc_recip_fast.inc
M libclc/clc/lib/generic/CMakeLists.txt
Log Message:
-----------
[libclc] Improve performance and precision of reciprocal functions (#203805)
Summary:
Small change to improve the performance and output of functions using
the reciprocol. This makes these functions *byte-for-byte* identical
with their OCML counterparts in ROCm.
Additionally ensure tanpi is correctly rounded to match ROCm.
Commit: bf0ccb40170c8cbf0e0510ca344b79ddc338b64b
https://github.com/llvm/llvm-project/commit/bf0ccb40170c8cbf0e0510ca344b79ddc338b64b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-lto-defaults.ll
Log Message:
-----------
[Passes] Invoke CGSCCOptimizerLateEP callbacks in LTO pipeline (#203262)
The CGSCCOptimizerLateEP extension point was not being invoked in the
LTO pipeline. Right now only AMDGPU registers any passes during this
callback, but it was a real source of delta between the LTO and default
pipelines when targeting AMDGPU. This doesn't seem to be an intentional
omission given that it is instantiated in thinLTO as well. Just add it.
Commit: 8b6551e49395be0dc878e7acff1edd31f4204143
https://github.com/llvm/llvm-project/commit/8b6551e49395be0dc878e7acff1edd31f4204143
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M libclc/clc/lib/generic/math/clc_acos.inc
M libclc/clc/lib/generic/math/clc_atan.inc
Log Message:
-----------
[libclc] Use FMA for the pi reconstruction in acos / atan (#203804)
Summary:
This should recombine the split constant for this case. The performance
should be negligible for such large math functions, we get an extra add,
but in exchange the results should improve 1 ULP.
This was primarily done to match what AMD's math libraries do, with this
change we are byte-for-byte identical in output.
Commit: 303400f0809a808d0f478c05eeaf0073d6fa149a
https://github.com/llvm/llvm-project/commit/303400f0809a808d0f478c05eeaf0073d6fa149a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M libclc/clc/lib/generic/math/clc_sincos_helpers_fp64.inc
Log Message:
-----------
[libclc] Use __CLC_SCALAR instead of nonexistant __CLC_SCALAR1 for sin (#203807)
Summary:
This seems to be a typo? Every other case is guarded by `__CLC_SCALAR`
but this case had a `1` after it. Removing this improved performance on
sin/cos/tan to match the ROCm version.
Commit: e79e056ee982450ee75477d1b315b2f747d7790c
https://github.com/llvm/llvm-project/commit/e79e056ee982450ee75477d1b315b2f747d7790c
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Transforms/Utils/CSE.cpp
Log Message:
-----------
[mlir][CSE] Remove the opsToErase container and immediately delete dead ops. (#203702)
This PR removes the `opsToErase` container and immediately erases dead
operations. Since dead ops are deleted on the fly, the value in the
`MemEffectsCache` map now correctly tracks the previous operation of
`toOp`. This change improves the storage efficiency of CSE. Furthermore,
it is part of https://github.com/llvm/llvm-project/pull/180556 and
substantially simplifies the implementation.
Commit: 31f998d6a25ce5dea6999c533f265f8a89074b48
https://github.com/llvm/llvm-project/commit/31f998d6a25ce5dea6999c533f265f8a89074b48
Author: hev <wangrui at loongson.cn>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
A llvm/test/CodeGen/LoongArch/crc.ll
Log Message:
-----------
[LoongArch][NFC] Add demanded bits tests for CRC[C].W.{B,H}.W (#203200)
Commit: 9f2035d27cb534ab7be6fe3e41603eba74e66df5
https://github.com/llvm/llvm-project/commit/9f2035d27cb534ab7be6fe3e41603eba74e66df5
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Move tail folding logic out of addMiddleCheck. NFC (#203475)
We simplify the TripCount == VectorTrip count condition with tail
folding, but we can just do that in foldTailByMasking and keep the
logic in one place instead.
Commit: 569c21a4a5fd24b14a05bf9e8ea08a3694fbb0d3
https://github.com/llvm/llvm-project/commit/569c21a4a5fd24b14a05bf9e8ea08a3694fbb0d3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Fix empty optional deref in spirv.Switch verifier (#203561)
Commit: e413f6e780a932606b0ba48d7bf61ba5724c48b8
https://github.com/llvm/llvm-project/commit/e413f6e780a932606b0ba48d7bf61ba5724c48b8
Author: hev <wangrui at loongson.cn>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/crc.ll
Log Message:
-----------
[LoongArch] Propagate demanded bits for CRC[C].W.{B,H}.W (#203201)
CRC byte and halfword instructions only use the low 8 or 16 bits of
their data operand. Propagate these demanded-bit requirements through
SimplifyDemandedBitsForTargetNode() so redundant masking operations can
be removed during DAG combining.
Commit: 838f7f71ca3db152551b3f385438ff266d886c62
https://github.com/llvm/llvm-project/commit/838f7f71ca3db152551b3f385438ff266d886c62
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOpUtils.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Enforce physical storage buffer pointer decorations on GlobalVariable (#203600)
Enable the rule that was already enforced by spirv.Variable (in case of
SPV_KHR_physical_storage_buffer ext) requiring exactly one of
AliasedPointer/RestrictPointer
Commit: ee5856d8a8353f7bcb2c62f75711e30b0f8c9c45
https://github.com/llvm/llvm-project/commit/ee5856d8a8353f7bcb2c62f75711e30b0f8c9c45
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
M mlir/test/Conversion/IndexToSPIRV/index-to-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Add OpenCL lowering path for index.min/max (#203493)
GLSL min/max ops were emitted even for Kernel targets where these ops
are illegal
Commit: 625facd4375f6bfa5de501d0559bd262062e2dc3
https://github.com/llvm/llvm-project/commit/625facd4375f6bfa5de501d0559bd262062e2dc3
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/test/Driver/compiler-options.f90
M flang/tools/flang-driver/driver.cpp
Log Message:
-----------
[Flang] Store only options in FLANG_COMPILER_OPTIONS_STRING (#201278)
Previously, FLANG_COMPILER_OPTIONS_STRING stored every argument passed
to the flang driver, including input file names. The GNU extension
compiler_options() is documented to return only the options, not the
input files. Including the input files also caused the string to exceed
ARG_MAX on large builds, producing:
posix_spawn failed: Argument list too long
Use the driver's parsed InputArgList to filter out OPT_INPUT arguments,
preserving all options and their values (e.g. `-I /path`, `-o file`).
Fixes: https://github.com/llvm/llvm-project/issues/170651
Commit: 8106136012b933c4674c4f72f0b2a61a8b7eaa71
https://github.com/llvm/llvm-project/commit/8106136012b933c4674c4f72f0b2a61a8b7eaa71
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Support/Z3Solver.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
M llvm/tools/llvm-objdump/SourcePrinter.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
Log Message:
-----------
[llvm] Replace unordered_map<std::string, T> with StringMap (#203815)
Prefer StringMap to the slow unordered_map per ProgrammersManual.
Commit: f211ea13e59b589fad35ee93a752c7ec19c284ba
https://github.com/llvm/llvm-project/commit/f211ea13e59b589fad35ee93a752c7ec19c284ba
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Don't calculate VPDT in non-side-effect early exit loops. NFC (#203476)
Follow up from
https://github.com/llvm/llvm-project/pull/203233/changes/BASE..6c916678df65787d524558919cee233bf2329aa8#r3398107262
Commit: 8714a0179e83808916520c64c5e9d0c4f17baa04
https://github.com/llvm/llvm-project/commit/8714a0179e83808916520c64c5e9d0c4f17baa04
Author: Yashwant Singh <yashwants at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
R llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
R llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-loads.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-stores.ll
Log Message:
-----------
[AArch64] Use sve for 64 wide masked load/store (#203480)
Commit: 05c8f9b1ead844024f414f45ab9ba11757bef2ea
https://github.com/llvm/llvm-project/commit/05c8f9b1ead844024f414f45ab9ba11757bef2ea
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
A clang/test/AST/ByteCode/codegen-cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Overide constant context state in CallVar (#203747)
We do this for regular calls, so do it for variable calls as well. Also
remove two comments that don't have any meaning today anymore.
Commit: b113f5b4e27dd726515a8e22bf02a6d911dd6691
https://github.com/llvm/llvm-project/commit/b113f5b4e27dd726515a8e22bf02a6d911dd6691
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-14 (Sun, 14 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/flang/tools/flang-driver/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 625facd (#203814)
This fixes 625facd4375f6bfa5de501d0559bd262062e2dc3.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: c775d6e52b3340fa4669cfae8d1a83d968db7747
https://github.com/llvm/llvm-project/commit/c775d6e52b3340fa4669cfae8d1a83d968db7747
Author: Braden Ganetsky <10316270+k3DW at users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M libcxx/include/print
Log Message:
-----------
[libc++] Make the body of println(FILE*) dependent on the template parameter to avoid template instantiation (#200996)
Make the function parameter of the `std::print` call inside the
`std::println` overload taking `FILE*` dependent on the template
parameter to avoid eager instantiation.
Commit: 6f916feb8ba799f78c252907b6d659dae64039c6
https://github.com/llvm/llvm-project/commit/6f916feb8ba799f78c252907b6d659dae64039c6
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/docs/tools/dump_ast_matchers.py
Log Message:
-----------
[ASTMatchers][Docs] print ignoring message only when class was not documented before (#203783)
Commit: 08940b5399e4a8e475085b270b92f05867e77202
https://github.com/llvm/llvm-project/commit/08940b5399e4a8e475085b270b92f05867e77202
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.cpp
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.h
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Apply const-correctness to code (#203823)
Commit: 568122adff14a16b2ee9dd4e196b69cd438c3cfd
https://github.com/llvm/llvm-project/commit/568122adff14a16b2ee9dd4e196b69cd438c3cfd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/amdgpu-xnack-sramecc-flags.c
M clang/test/Driver/hip-target-id.hip
M clang/test/Driver/hip-toolchain-features.hip
M clang/test/Driver/target-id.cl
Log Message:
-----------
clang/AMDGPU: Split out target ID flags in TranslateArgs. (#203750)
Change how xnack and sramecc are processed. Introduce
-mxnack/-mno-xnack and -msramecc/-mno-sramecc flags.
When the target is first parsed in TranslateArgs, synthesize
the appropriate flag for the toolchain. This avoids
special case feature string fixups in getAMDGPUTargetFeatures,
and also avoids an extra parse of the target ID.
In the future this will also simplify tracking these ABI
modifiers in a module flag.
As a side-effect, you can use these flags to override the
no specifier case with the flags. These do not fully replace
the target ID syntax, as there's no way to represent compiling
both modes for the same subtarget.
I didn't bother trying to forward these flags on the main command
line without being specified to the offload device, but I suppose
that would be possible.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
Commit: ad611b62095e55a1fa534ccbac99603ba02634a9
https://github.com/llvm/llvm-project/commit/ad611b62095e55a1fa534ccbac99603ba02634a9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/abi-isel.ll
Log Message:
-----------
[X86] Do not hold GOT base for indirect call or absolute address (#203192)
Fixes:
https://github.com/llvm/llvm-project/pull/202370#discussion_r3384983368
Assisted-by: Claude Sonnet 4.6
Commit: c236ef51d8dcf9b4c2f060d6c92a1f4d97143a57
https://github.com/llvm/llvm-project/commit/c236ef51d8dcf9b4c2f060d6c92a1f4d97143a57
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CFIFixup.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CFIFixup.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/cfi-fixup-multi-block-prologue.mir
M llvm/test/CodeGen/AArch64/cfi-fixup-multi-section.mir
M llvm/test/CodeGen/AArch64/cfi-fixup.mir
Log Message:
-----------
[CodeGen][NewPM] Port cfi-fixup to new pass manager (#203692)
Standard work for `cfi-fixup`.
Commit: 774f486e44ab198e689e226e75d6de908559a066
https://github.com/llvm/llvm-project/commit/774f486e44ab198e689e226e75d6de908559a066
Author: Rana Pratap Reddy <RanaPratapReddy.Nimmakayala at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
A clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
Log Message:
-----------
[CIR][AMDGPU] Adds lowering for amdgcn extended image sample/gather4 builtins (#201761)
Support for lowering of` __builtin_amdgcn_image_sample/gather4` for
AMDGPU builtins to clangIR.
Followed similar lowering from clang->llvmir:
`clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp`.
Upstreaming clangIR PR:
[llvm/clangir#2083](https://github.com/llvm/clangir/pull/2083)
Commit: 0f572a599b29a92efb98671e34e028fadf926bf9
https://github.com/llvm/llvm-project/commit/0f572a599b29a92efb98671e34e028fadf926bf9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Opcodes.td
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode] Add an on-by-default `CanFail` flag to opcodes (#203671)
We have several opcodes that can't fail, so add a flag to them
indicating that they always return `true` anyway.
This simplifies the generated code from e.g.
```c++
PRESERVE_NONE
static bool Interp_Activate(InterpState &S, CodePtr &PC) {
if (!Activate(S, PC))
return false;
#if USE_TAILCALLS
MUSTTAIL return InterpNext(S, PC);
#else
return true;
#endif
}
```
to
```c++
PRESERVE_NONE
static bool Interp_Activate(InterpState &S, CodePtr &PC) {
Activate(S, PC);
#if USE_TAILCALLS
MUSTTAIL return InterpNext(S, PC);
#else
return true;
#endif
}
```
Commit: 43a0be066b5d0f897ae6191820aec4ecd821b32e
https://github.com/llvm/llvm-project/commit/43a0be066b5d0f897ae6191820aec4ecd821b32e
Author: mbhade-amd <mbhade at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
A llvm/test/CodeGen/X86/domain-reassignment-closure-stats.mir
Log Message:
-----------
[X86] Record the enclosed register in X86DomainReassignment::buildClosure (#202534)
buildClosure recorded the seed register Reg in the function-wide
EnclosedEdges map on every worklist iteration instead of CurReg, the
register actually being added to the closure. EnclosedEdges therefore
only ever contained the seed of each closure.
The driver loop in runOnMachineFunction skips registers already present
in EnclosedEdges before starting a new closure. Because only seeds were
recorded, every non-seed member of an already-built closure looked like
a fresh seed, so a redundant closure was built for it and then
immediately discarded by the EnclosedInstrs cross-closure check. The
emitted code is unchanged; the pass just performed redundant work
proportional to closure size.
Key EnclosedEdges by CurReg so each enclosed register is recorded once.
This was found as part of @jlebar's X86 LLVM bug hunt / FuzzX effort:
https://github.com/SemiAnalysisAI/FuzzX/tree/master/x86/bugs/007-domain-reassignment-wrong-enclosed-key
cc @jlebar
Commit: 713acbccfaf9877af0e57267c29883daeb111e3c
https://github.com/llvm/llvm-project/commit/713acbccfaf9877af0e57267c29883daeb111e3c
Author: Jaydeep Chauhan <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/include/llvm/MC/DXContainerInfo.h
Log Message:
-----------
[NFC][MC] Initialize all fields of DebugName::Parameters in default constructor (#202701)
Initialized both variables **Flags** and **NameLength** of
**DebugNameHeader** structure.
Commit: 66e5a889c807da6cd63c7587ecbe5c0a14da9e60
https://github.com/llvm/llvm-project/commit/66e5a889c807da6cd63c7587ecbe5c0a14da9e60
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
Log Message:
-----------
[clang][bytecode] Add an `ExplicitThisParam` flag to `Function` (#203672)
We unfortunately have to check this for every function call, so don't
consult the decl every time here.
Commit: 0e21d7cd0ed0cf35021b929efd2832829fc66eb4
https://github.com/llvm/llvm-project/commit/0e21d7cd0ed0cf35021b929efd2832829fc66eb4
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
A llvm/test/Analysis/DependenceAnalysis/gcd-miv-addrec-wrap.ll
Log Message:
-----------
[DA] Add test for addrec can wrap in GCD MIV (NFC) (#203526)
This patch adds a test that should have been included in #186892. The
test demonstrates a case where the GCD MIV test would miss a dependency
if the presence of nsw flags were not checked.
Commit: 0b6faeeaadc5791797e3708c4084f2be74212ca4
https://github.com/llvm/llvm-project/commit/0b6faeeaadc5791797e3708c4084f2be74212ca4
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/inner-latch-lcssa-feeds-exit-condition.ll
Log Message:
-----------
[LoopInterchange] Reject inner-latch lcssa PHI feeding the exit condition (#202863)
In a multi-level nest, an lcssa PHI in the inner loop latch that feeds
the latch's exit condition can be left with a stale incoming block after
a subsequent interchange rewires the CFG, producing invalid IR. This
happened even when the outer latch had a single predecessor, where the
legality check returned early. Instead, reject the interchange when such
a PHI feeds the exit condition.
Fixes #202027
Commit: acdfd6b71519c75f6d8c1188742634ed4a077def
https://github.com/llvm/llvm-project/commit/acdfd6b71519c75f6d8c1188742634ed4a077def
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
Log Message:
-----------
[clang][bytecode] Char<Signed> doesn't need a descriptor ctor (#203748)
This was lost when adding Char for 8-bit data.
Commit: 860820992e2818cf3ad53eebaca1f479b6ab9237
https://github.com/llvm/llvm-project/commit/860820992e2818cf3ad53eebaca1f479b6ab9237
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/yaml2obj/ELF/bb-addr-map.yaml
Log Message:
-----------
[ObjectYAML] Make BBAddrMap encoder diagnostics format-neutral (#202524)
In preparation for sharing the yaml2obj BBAddrMap encoder with COFF.
1. Drop the now-dead `Section.Type == SHT_LLVM_BB_ADDR_MAP` guards (#146186).
2. Reword the two warnings that will move into the shared helper.
3. Fix a "PBOBBEntries" -> "PGOBBEntries" typo.
Commit: fecfe32392c2158504107766b35d848f815dafd8
https://github.com/llvm/llvm-project/commit/fecfe32392c2158504107766b35d848f815dafd8
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/test/CodeGen/AArch64/neon/add.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[Clang][CIR] Move AArch64 Add tests (nfc) (#203543)
Follow-up for https://github.com/llvm/llvm-project/pull/202005
Commit: 7ff58e4747dcece251d3e5cf2e5d8de4670c5252
https://github.com/llvm/llvm-project/commit/7ff58e4747dcece251d3e5cf2e5d8de4670c5252
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/X86/nondetermisitic-widening-cost.ll
Log Message:
-----------
[LoopVectorize] Fix nondeterminism in loop-vectorize (#200833)
The nondeterministic iteration over `AddrDefs` (SmallPtrSet) causes
nondeterministic output for the test case in this patch (reduced from a
C codebase). One of two different outputs is generated arbitrarily,
chosen roughly equally.
Between the two different outputs sometimes the instruction
`%3 = load i64, ptr %2, align 8`
has an associated cost of 4 and othertimes 9. The instruction is visited
twice in `setCostBasedWideningDecision` in the `AddrDefs` loop: once
directly as an element of `AddrDefs`, and the other time indirectly in
the lambda `UpdateMemOpUserCost` as a User of another `AddrDefs`
element. Each of those times `setWideningDecision` is called with a
different cost value; the final of the two calls sets the final value
(previous is overwritten). Because `AddrDefs` iteration is
nondeterministic, the order of those two calls to `setWideningDecision`
is also nondeterministic, hence we see two different costs arbitrarily
between runs.
This patch prevents the nondeterministic iteration order.
Some additional info:
We observe the issue reproducing (frequently) in llvm-22 but not
llvm-21.
With the test case in this patch we observe the nondeterminism
frequently reproduces (< 3 tries) from
1f331e453fa9c328c165c739f61e17a2815ece82 building on and targeting
x86_64 linux. Before that we haven't observed the nondeterminism (> 500
tries), but can't rule out that it may be observed with different inputs
based on the fact the SmallPtrSet has been in use since 2017. N.B.
Building on Windows bisects to a different commit.
Commit: 97a79ee8c6b0ff19834877feda1e621b9c38675a
https://github.com/llvm/llvm-project/commit/97a79ee8c6b0ff19834877feda1e621b9c38675a
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/sret_pointer.ll
M llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
Log Message:
-----------
[GlobalISel] Avoid redundant copy for zero-offset GEPs (#203029)
Handle zero-offset GEPs early to avoid creating a separate vreg for the
GEP result and copying the base pointer into it.
Improves CTMark geomean -0.14% on aarch64-O0-g, with consumer-typeset
-0.86%.
https://llvm-compile-time-tracker.com/compare.php?from=2de2edb943fe1b83d79bdffa03606eb8c5452e9b&to=d3d5a4af0e7a58ea7b3a1e8c02b34fa380695e62&stat=instructions%3Au
Assisted-by: codex
Commit: ee0b9c6cb7ad3b060f0687875efaf2e97cbbed09
https://github.com/llvm/llvm-project/commit/ee0b9c6cb7ad3b060f0687875efaf2e97cbbed09
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Interpreter/IncrementalExecutor.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/unittests/AST/ASTExprTest.cpp
M llvm/unittests/Transforms/IPO/AttributorTestBase.h
M llvm/unittests/Transforms/IPO/MergeFunctionsTest.cpp
M mlir/lib/CAPI/Dialect/Shard.cpp
M mlir/lib/CAPI/Dialect/UB.cpp
Log Message:
-----------
Add missing newlines at EOF; NFC (#203483)
Commit: 58031e519153fdbe637f9f135ac1fbfef6f0e224
https://github.com/llvm/llvm-project/commit/58031e519153fdbe637f9f135ac1fbfef6f0e224
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/InterpBlock.h
Log Message:
-----------
[clang][bytecode] Add `Block::invokeCtorNoMemset()` (#203749)
`invokeCtor()` first memsets the memory to zero, then calls the
descriptor ctor function. The memset is unnecessary if we're already
working with zero-ed memory, like the one we get from
`std::make_unique`.
Commit: aaa414e4e053a6195a33e82012b8e1141536b7f4
https://github.com/llvm/llvm-project/commit/aaa414e4e053a6195a33e82012b8e1141536b7f4
Author: Niklas Ulvinge <niklas.ulvinge at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/FloatingPointMode.h
M llvm/lib/Support/FloatingPointMode.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/nofpclass-minimum-maximum.ll
M llvm/test/Transforms/Attributor/nofpclass-minimumnum-maximumnum.ll
M llvm/test/Transforms/Attributor/nofpclass-minnum-maxnum.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
Log Message:
-----------
[Valuetracking] Use all FPClasses ordering information for min/max (#199651)
Min/Max functions can exclude more FPClasses than
OrderedLessThanZeroMask/OrderedGreaterThanZeroMask. Now it excludes all
analyzable FPClasses, of which +/-Inf are the most useful.
This enhances analysis for transforms which need to exclude Inf.
Here is a simplified example: 0*y -> 0 is only correct if y cannot be
Inf or NaN, otherwise it may be NaN.
Commit: 7d9573756094c5d92978d5fd5ed0ae7aad2ac4ca
https://github.com/llvm/llvm-project/commit/7d9573756094c5d92978d5fd5ed0ae7aad2ac4ca
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/tools/llc/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
[tools] Register analyses correctly (#203808)
- Analyses with custom parameter must be registered before
register*Analyses, otherwise it will be skipped.
- Remove redundant LibcallLoweringModuleAnalysis, pass builder will
register it automatically.
Commit: 49375fed4093b0e3cd714196d2696dc3d6dafda8
https://github.com/llvm/llvm-project/commit/49375fed4093b0e3cd714196d2696dc3d6dafda8
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/subtraction.c
Log Message:
-----------
[CIR][AArch64] Lower NEON subtraction intrinsics (#202857)
### summary
part of : https://github.com/llvm/llvm-project/issues/185382
- Add CIR lowering for the scalar AArch64 NEON subtraction builtins
`vsubd_s64` and `vsubd_u64`.
- Verify that the remaining signed, unsigned, and floating-point
`vsub/vsubq` intrinsics are correctly expanded through arm_neon.h and
emitted as `cir.sub`.
Commit: 6a0b6a1e9bb2b0df821ac73da6e8d4a31092b8a7
https://github.com/llvm/llvm-project/commit/6a0b6a1e9bb2b0df821ac73da6e8d4a31092b8a7
Author: Yair Ben Avraham <yairba at protonmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiply.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
Log Message:
-----------
[CIR][AArch64] Lower NEON laneq FMA builtins (#202337)
Lower additional AArch64 NEON laneq fused multiply-accumulate builtins
in CIR.
This covers:
- `BI__builtin_neon_vfmaq_laneq_v`
- `vfmaq_laneq_f16`
- `vfmaq_laneq_f32`
- `vfmaq_laneq_f64`
- `BI__builtin_neon_vfmad_laneq_f64`
- `vfmad_laneq_f64`
For `vfmaq_laneq_v`, the lowering bitcasts the operands, splats the
selected lane source, and emits the `llvm.fma` intrinsic with the
operand order matching classic AArch64 CodeGen.
For `vfmad_laneq_f64`, the lowering extracts the selected lane from the
`float64x2_t` source and emits scalar `llvm.fma.f64`.
The existing ACLE coverage is moved into the CIR-enabled fused multiply
tests under `clang/test/CodeGen/AArch64/neon/`, reusing the shared
`LLVM` checks for direct CodeGen and CIR-to-LLVM and adding CIR checks
for the lane selection and `fma` calls. The replaced old-style checks
are removed from the legacy test files.
Part of #185382
Commit: f5b589e5cc500c3e10e02ed9ae2a275f6c7e3184
https://github.com/llvm/llvm-project/commit/f5b589e5cc500c3e10e02ed9ae2a275f6c7e3184
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/Bitcode/upgrade-sme2-fp8-intrinsics-tmop.ll
A llvm/test/Bitcode/upgrade-sme2-fp8-intrinsics-tmop.ll.bc
M llvm/test/CodeGen/AArch64/sme2-intrinsics-tmop.ll
Log Message:
-----------
[AArch64][SME] Split FP8 FTMOPA intrinsics (#203310)
Introduce separate FP8 FTMOPA intrinsics for ZA16 and ZA32:
llvm.aarch64.sme.fp8.ftmopa.za16
llvm.aarch64.sme.fp8.ftmopa.za32
The FP8 FTMOPA forms need to model their FPMR dependency, so they should
not share the same intrinsic definitions as the non-FP8 FTMOPA forms.
Update the Clang SME builtin definitions and AArch64 instruction
patterns to use the new intrinsics, and add AutoUpgrade support for the
previous FP8-shaped llvm.aarch64.sme.ftmopa.* spellings so existing IR
and bitcode continue to work.
This was split out from #154144 because the intrinsic upgrade needs to
be handled separately to avoid breaking existing bitcode.
Commit: 7347524c3a6e6cd8ebc66343759207131011009a
https://github.com/llvm/llvm-project/commit/7347524c3a6e6cd8ebc66343759207131011009a
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/inner-preheader-single-phi.ll
Log Message:
-----------
[LoopInterchange][NFC] autogenerate checks in inner-preheader-single-phi (#203843)
Commit: 69926b4f8994a2a0dad44c3391baf05bb5e4c23a
https://github.com/llvm/llvm-project/commit/69926b4f8994a2a0dad44c3391baf05bb5e4c23a
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
Log Message:
-----------
AMDGPU/GlobalISel: Fix regBankLegalize rules for uniform cvt_pkrtz (#203283)
Commit: 076695c07f46170fcfbae01256712967d21da567
https://github.com/llvm/llvm-project/commit/076695c07f46170fcfbae01256712967d21da567
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/gws_agpr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
Log Message:
-----------
AMDGPU/GlobalISel: Switch some tests to -new-reg-bank-select (#203557)
Commit: cae502dd4d634cbd0bcc73c8eb9f20e20d66ce24
https://github.com/llvm/llvm-project/commit/cae502dd4d634cbd0bcc73c8eb9f20e20d66ce24
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/inner-preheader-multi-entry-phi.ll
Log Message:
-----------
[LoopInterchange] Reject inner preheader PHIs with non-identical incoming values (#203842)
When the outer loop header branches to the inner loop preheader via duplicate edges (e.g. br i1 %c, label %inner.ph, label %inner.ph), the preheader can contain PHI nodes with more than one incoming entry for the same predecessor. The transform eliminates these PHIs by substituting each with its first incoming value, but the existing assert required exactly one incoming value and would fire on such input.
Relax the assert to accept any PHI where all incoming values are identical. A PHI with distinct values for the same predecessor is rejected by the IR verifier, so only the identical-value case can arise in practice.
Fixes #203466
Commit: 29489077663c5dd9922a66996dbf897e2710727d
https://github.com/llvm/llvm-project/commit/29489077663c5dd9922a66996dbf897e2710727d
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1251.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1251.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1251.w32.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for gfx1251 wmma intrinsics (#203558)
Commit: dcda5e1719a5e4504aacfe041be40f9d015b57d1
https://github.com/llvm/llvm-project/commit/dcda5e1719a5e4504aacfe041be40f9d015b57d1
Author: Dakkshesh <64984008+beakthoven at users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/CMakeLists.txt
M llvm/include/llvm/IR/Intrinsics.td
A llvm/include/llvm/IR/IntrinsicsAVR.td
M llvm/lib/Target/AVR/AVRInstrInfo.td
A llvm/test/CodeGen/AVR/avr-intrinsics.ll
Log Message:
-----------
[AVR] Add intrinsics for builtin functions (#203212)
Commit: e1c5a33c0d4f694b55611dc1adeae7ada4835a85
https://github.com/llvm/llvm-project/commit/e1c5a33c0d4f694b55611dc1adeae7ada4835a85
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/include/lldb/Core/SearchFilter.h
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/source/Core/SearchFilter.cpp
M lldb/source/Target/LanguageRuntime.cpp
Log Message:
-----------
[lldb][NFC] Use unique_ptr for SearchFilter (#203239)
Originally we did not have a better option, but now ownership of
SearchFilters is more precisely represented using unique_ptrs. If, in
the future, any of the use sites here truly requires shared ownership,
the conversion at the site that requires it is trivial (it can even be
done implicitly).
Commit: 8e517e1d17b116314b1fb589b134a39e67d397e5
https://github.com/llvm/llvm-project/commit/8e517e1d17b116314b1fb589b134a39e67d397e5
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
Log Message:
-----------
[LV][NFC] Use APFloat class when printing out costs per lane (#201824)
At the moment it's difficult to auto-generate CHECK lines for
cost model output because the floating point value printed
out along with "Estimated cost per lane" is fragile and can
vary from target to target. See PR #201580 for an example of
this. Also, I would like to start using auto-generation of
cost model CHECK lines more often in tests to make life
easier for developers to update them.
Following reviewer feedback, I've solved this by using the
APFloat class to create a deterministic and consistent way
of printing out a floating point value across all targets.
However, this also then leads to significant changes in many
tests, in particular there are a very large number of changes
in the WebAssembly/memory-interleave.ll file. Rather than
manually edit and change every single case I have opted for
auto-generation of cost CHECK lines instead. This requires
adding a new debug-only flag called
-vplan-print-metadata
which is true by default. This flag controls the printing
of recipe metadata, which has non-deterministic output.
When auto-generating CHECK lines we need to disable this.
Commit: b786376004f9c34692a12b5f1c5cb275f9c17f3b
https://github.com/llvm/llvm-project/commit/b786376004f9c34692a12b5f1c5cb275f9c17f3b
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-ptrue.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
Log Message:
-----------
[LLVM][InstCombine][SVE] Canonicalise sve.ptrue(SV_POW2) to splat(i1 true). (#203556)
SVE vectors must be a power-of-two in length, making pow2 synonymous
with all.
Commit: 745a8e0f1cd2b783b2039617a3880b40f6405ec1
https://github.com/llvm/llvm-project/commit/745a8e0f1cd2b783b2039617a3880b40f6405ec1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][ExprConst] Don't pass invalid decls to ASTRecordLayout (#203817)
It will assert.
Fixes https://github.com/llvm/llvm-project/issues/203755
Commit: 39127426ec631583371f23a61deeb6d5b1d57c45
https://github.com/llvm/llvm-project/commit/39127426ec631583371f23a61deeb6d5b1d57c45
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M libcxx/test/extensions/clang/clang_modules_include.gen.py
M libcxx/test/extensions/libcxx/libcpp_version.gen.py
M libcxx/test/extensions/libcxx/no_assert_include.gen.py
M libcxx/test/extensions/posix/xopen_source.gen.py
M libcxx/test/libcxx-03/clang_tidy.gen.py
M libcxx/test/libcxx-03/no_assert_include.gen.py
M libcxx/test/libcxx-03/system_reserved_names.gen.py
M libcxx/test/libcxx-03/transitive_includes.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/std/double_include.gen.py
M libcxx/test/std/header_inclusions.gen.py
M libcxx/test/std/iterators/iterator.range/mandatory_inclusions.gen.py
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Enable header tests under all configurations (#202543)
Most of the header tests (e.g. double_include) only check that headers
are includable or have properties that hold all the time, regardless of
any active carve-outs. In accordance with that, this patch enables said
tests even when carve-outs are active.
Only the transitive inclusion test is kept disabled by carve-outs
because the transitive includes can't reasonably be maintained
when carve-outs are active.
Related to #202246 and #202001.
Commit: ba7be6262c7107b130a67a061c51e940092a84bf
https://github.com/llvm/llvm-project/commit/ba7be6262c7107b130a67a061c51e940092a84bf
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/form-expressions.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/common-cpp.mlir
M mlir/test/Target/Cpp/expressions.mlir
M mlir/test/Target/Cpp/global.mlir
M mlir/test/Target/Cpp/lvalue.mlir
Log Message:
-----------
[mlir][emitc] Remove deprecated apply op (#203712)
The `emitc.apply` op has been deprecated since it was replaced by
'emitc.address_of` and `emitc.dereference`. This patch removes this op
from the dialect.
See PSA:
https://discourse.llvm.org/t/psa-emitc-replacing-the-emitc-apply-operation/89057
Commit: fd015fa0da49e4bd05246c6291d56836455e0e42
https://github.com/llvm/llvm-project/commit/fd015fa0da49e4bd05246c6291d56836455e0e42
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
Log Message:
-----------
[clang-tidy] Fix altera-unroll-loops crash on multi-decl for init (#203865)
Avoid calling `DeclStmt::getSingleDecl()` unless the declaration
statement contains a single declaration.
Closes https://github.com/llvm/llvm-project/issues/203856
Commit: c32a4cf99fa5e846aa571ab7a59d6dd551fe8a13
https://github.com/llvm/llvm-project/commit/c32a4cf99fa5e846aa571ab7a59d6dd551fe8a13
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/discard.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/Gather.ll
M llvm/test/Transforms/InstCombine/frexp.ll
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
Log Message:
-----------
[LLVM][Constants] Return ConstantFP(+0.0) as the NULL value for floating point types. (#200465)
Commit: af76b6d32dba793d67eb8298907f32a68f3b13b0
https://github.com/llvm/llvm-project/commit/af76b6d32dba793d67eb8298907f32a68f3b13b0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/InitMap.h
Log Message:
-----------
[clang][bytecode] Update what primtypes need a Descriptor ctor func (#203834)
Now that IntegralAP is allocated via InterpState/Program, we don't need
to initialize it. The same is true for Floating.
And with the new `InitMapPtr` being zero by default as well, we don't
need ctor funcs for primitive array types if the element type doesn't
need one.
Commit: 0493b554742dd4ccb9499d5eea13579733b4ffcf
https://github.com/llvm/llvm-project/commit/0493b554742dd4ccb9499d5eea13579733b4ffcf
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/test/CodeGen/AArch64/sve-extract-vector-to-predicate-store.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Reimplement SVE VLS predicate load/store transformation as DAG combines. (#203314)
This is part of an effort to remove SVEIntrinsicOpts.
Commit: f17e59baef0c01a08c0a37a517f7b7ee10d5a5c0
https://github.com/llvm/llvm-project/commit/f17e59baef0c01a08c0a37a517f7b7ee10d5a5c0
Author: Walter <90877047+WalterKruger at users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-gfni.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
Log Message:
-----------
[X86] Fold nested VGF2P8AFFINEQB instructions (#195210)
Given that `vgf2p8affineqb` can perform arbitrary XOR permutations of
the input, all nested affine transformations can be performed with a
single instruction. The matrix for such fold can be calculated by
permuting the sub-matrix by the super-matrix at a byte, rather than bit,
granularity. This patch:
- Folds nested `vgf2p8affineqb` instructions with constant matrix
operands into one.
- Folds the sub-immediate by performing a affine transformation by the
super-matrix.
- Can fold non-splat super-matrices if the sub-immediate is zero.
- Includes test coverage for complex nested affine transformations,
verifying the correctness of the folded matrix and immediate.
- Includes negative test coverage for when the fold isn't possible.
Fixes #179607
Commit: c33a47e6863b3294e693e540df8134a486eafef7
https://github.com/llvm/llvm-project/commit/c33a47e6863b3294e693e540df8134a486eafef7
Author: Stefan Schuermans <schuermans at roofline.ai>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Transforms/Utils/CSE.cpp
Log Message:
-----------
[mlir][CSE] fix use-after-free (#203849)
There was a use-after free introduced accidentally by e79e056ee982
[mlir][CSE] Remove the opsToErase container and immediately delete dead
ops. (#203702) This change fixes it by moving the copy of the location
(the "use") to before the deletion of the op (the "free").
Locating the use-after-free has been assisted by Claude Code. The
implementation of the fix has been done without it.
Signed-off-by: Stefan Schuermans <schuermans at roofline.ai>
Commit: 47e041cae7a0843d1c4e467223ec97371a8f315d
https://github.com/llvm/llvm-project/commit/47e041cae7a0843d1c4e467223ec97371a8f315d
Author: Ádám Kallai <kadam at inf.u-szeged.hu>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M bolt/test/perf2bolt/perf_brstack.test
M bolt/test/perf2bolt/perf_test.test
Log Message:
-----------
[BOLT] Add test for perf2bolt perfscript profile output (#201792)
Perf2bolt is able to generate perfscript output format via
`--profile-format=perfscript` from perf.data, and use it as an input
with `-ps`.
Updated the existing 'perf_test.test' and 'perf_brstack.test' to cover the
generation and parsing of the 'perfscript' format.
Depends on:
https://github.com/llvm/llvm-project/pull/171144
https://github.com/llvm/llvm-project/pull/163785
Commit: 6c6e905d10152ed30d057d7ee22332846785fe47
https://github.com/llvm/llvm-project/commit/6c6e905d10152ed30d057d7ee22332846785fe47
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
Log Message:
-----------
[NFC][AMDGPU] Generalize some LDS MemoryUtils (#195611)
In preparation for upcoming work, I need some functions used by the LDS
lowering
system to work on any GV. I removed the LDS specific queries inside
these functions
and replaced them with functors passed by the caller, so these utility
functions can be reused.
I also cleaned-up a few things that weren't up to code, such as
lowercase variable names.
Commit: 8717831a8c94a91e98e7ecb3c56de8e33ed59502
https://github.com/llvm/llvm-project/commit/8717831a8c94a91e98e7ecb3c56de8e33ed59502
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Do not propagate origins to `InitListExpr` when first `Init` is a type with no origins (#203772)
Fixes #203768
Commit: 63c9264c770b4ffb7b5b3816547db45969026c3f
https://github.com/llvm/llvm-project/commit/63c9264c770b4ffb7b5b3816547db45969026c3f
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Options/OptionUtils.h
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Options/OptionUtils.cpp
A clang/test/CodeGenHLSL/Inputs/a.hlsl
A clang/test/CodeGenHLSL/Inputs/b.hlsl
A clang/test/CodeGenHLSL/SysInputs/c.hlsl
M clang/test/CodeGenHLSL/debug/source-language.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata-disabled.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata-includes.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata-mailformed-command-line.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata.hlsl
M clang/test/CodeGenHLSL/lit.local.cfg
M clang/test/Driver/dxc_debug.hlsl
M clang/unittests/Driver/CMakeLists.txt
A clang/unittests/Driver/EscapedCommandLineTest.cpp
Log Message:
-----------
[Clang][HLSL][DebugInfo] Emit dx.source metadata nodes (#199689)
Add HLSL debug metadata emission for DXIL by embedding non-system source
files (including included headers) into dx.source.contents, recording
the main file name and user defines, and serializing the dxc-style
command line into dx.source.args.
These metadata nodes are needed for emitting SRCI part of a debug
DXContainer in llc.
Introduce -fdx-record-command-line option to cc1 to carry the escaped
dxc driver command line into cc1.
Introduce -fdx-no-source-metadata CodeGen option to cc1, to be able to
disable dx.source metadata nodes emission. This comes in handy for
writing debug info tests, so that CHECK-NOT lines do not match
themselves in LLVM IR. For example, without this option, in
`clang/test/CodeGenHLSL/debug/source-language.hlsl`, CHECK-V4-NOT line
gets a match on the line with dx.source.contents node.
Commit: 6794e31e894dba2971d13e8e79374b8acb68b32d
https://github.com/llvm/llvm-project/commit/6794e31e894dba2971d13e8e79374b8acb68b32d
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
M clang/test/SemaOpenCL/amdgpu-attrs.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/IR/Verifier.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/workitem-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.workitem.id.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/simplifydemandedbits-recursion.ll
M llvm/test/CodeGen/AMDGPU/uniform-load-from-tid.ll
M llvm/test/CodeGen/AMDGPU/zext-lid.ll
M llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-negative-cases.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-wave32-optimizations.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-wave64-optimizations.ll
A llvm/test/Verifier/AMDGPU/reqd-work-group-size.ll
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/rocdl-invalid.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Verify AMDGPU required workgroup size matches flat workgroup size (#200989)
Commit: cac31111d37cd27b222aa2ddb11e2238db27017f
https://github.com/llvm/llvm-project/commit/cac31111d37cd27b222aa2ddb11e2238db27017f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M libclc/clc/lib/amdgpu/math/clc_recip_fast.inc
Log Message:
-----------
[libclc] Use unchecked division for f64 AMDGPU reciprocal (#203809)
Summary:
This matches what the AMD device libraries does. We can avoid extra
steps by only performing the two steps of the Newton-Raphson
approximation of 1 / x. The exceptional cases should not appear in these
math functions, this is local to AMDGPU, and I verified they are bitwise
identical to the AMD math functions with parity in performance now.
Commit: 91139b15857077167c035e8b7e81b3bf7a56c5da
https://github.com/llvm/llvm-project/commit/91139b15857077167c035e8b7e81b3bf7a56c5da
Author: Weronika Lewandowska <weronika.lewandowska at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] define MSVC byte-order macros for rtl endianness checks (#202540)
Define MSVC byte-order macros for rtl endianness checks
Ref: https://github.com/llvm/llvm-project/pull/199901
Commit: d4376b15644e5d1c4d6b86d36d48e1a89afcaf7d
https://github.com/llvm/llvm-project/commit/d4376b15644e5d1c4d6b86d36d48e1a89afcaf7d
Author: David Green <david.green at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
Log Message:
-----------
[AArch64] Change the default MaxInterleaveFactor to 4 for scalar loops. (#201611)
The default is 2, many CPUs already have this value set to 4, so the
effect of this is to cause some loops that were interleaved 2x to be
interleaved 4x when no vectorization occurs. This should help small
inorder CPUs that like scheduling and larger out of order cpus that tend
to have more pipelines to execute multiple instructions per cycle.
Commit: 7eb8f49d15760233dd038cc8d294b7148e6af68d
https://github.com/llvm/llvm-project/commit/7eb8f49d15760233dd038cc8d294b7148e6af68d
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/indirectbr.ll
Log Message:
-----------
[LoopInterchange] Reject if loops contain indirectbr instruction (#203836)
In the transformation phase of LoopInterchange, it may call
`InsertPreheaderForLoop` with loop headers to create new loop
preheaders. However, if any of their predecessors branch to them via an
`indirectbr`, the insertion of a preheader will fail, causing the entire
program to crash.
This patch adds an additional check in the legality check so that the
loops are now rejected if any predecessor of their header block contains
an `indirectbr` instruction.
Fixes #203664.
Commit: d3c6d78de158b672ef8bb038566e91ee598e913e
https://github.com/llvm/llvm-project/commit/d3c6d78de158b672ef8bb038566e91ee598e913e
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/invalid_label.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/offset.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/simple_labels.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/source_root_dir.cpp
Log Message:
-----------
[Dexter] Add label nodes for line references (#202544)
This patch adds a !label node to Dexter scripts, which references lines
at a position in the source program marked with "!dex_label
<identifier>". Each label use can be given a positive or negative
offset, and file lookup is based on the provided --source-root-dir
(using the test file's directory if none is provided).
Commit: 136ac86f75e1ae3332db1b58ea352f09f16a20c4
https://github.com/llvm/llvm-project/commit/136ac86f75e1ae3332db1b58ea352f09f16a20c4
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for pk_f64 fcanonicalize (#203870)
Commit: 9ce06fd29838777aaa89f133fe4b9f764be11d35
https://github.com/llvm/llvm-project/commit/9ce06fd29838777aaa89f133fe4b9f764be11d35
Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx1250.mir
Log Message:
-----------
[AMDGPU] Track LDS DMA VGPR source reads in expert scheduling (#203292)
LDS DMA instructions are marked as VALU but we need to treat them as
FLAT instructions for expert mode waitcnt insertion. This meant we were
missing a `vm_vsrc` wait for WAR and RAW on input registers of the LDS
DMA instruction.
I added lit tests for other memory ops as well to catch future
regressions.
Commit: 7dc09d0d3cf1812d7f845b9ae5c6ed67f1bd1082
https://github.com/llvm/llvm-project/commit/7dc09d0d3cf1812d7f845b9ae5c6ed67f1bd1082
Author: Owen Anderson <resistor at mac.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
A llvm/include/llvm/Support/CHERICapabilityFormat.h
A llvm/lib/Support/CHERICapabilityFormat.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/unittests/Support/CHERICapabilityFormatTest.cpp
M llvm/unittests/Support/CMakeLists.txt
Log Message:
-----------
[CHERI] Add a Support utility for determining alignment requirements of CHERI capabilities. (#197402)
On CHERI systems with compressed bounds representations (which is all of
them that anyone cares about today), one of the tradeoffs to achieve
that compression is a requirement for larger allocations to be more
highly aligned. This impacts both code generation and linking in places
where globals need to be aligned and/or padded based on this
requirement. The specific alignment requirements vary by capability
format.
Co-authored-by: Alex Richardson <alexrichardson at google.com>
Commit: 5fb08f44c1d2bb430cfa55ec808352885ae216c0
https://github.com/llvm/llvm-project/commit/5fb08f44c1d2bb430cfa55ec808352885ae216c0
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/netinet/in.yaml
M libc/src/CMakeLists.txt
A libc/src/netinet/CMakeLists.txt
A libc/src/netinet/in6addr_any.cpp
A libc/src/netinet/in6addr_any.h
A libc/src/netinet/in6addr_loopback.cpp
A libc/src/netinet/in6addr_loopback.h
M libc/test/src/netinet/CMakeLists.txt
M libc/test/src/netinet/in_test.cpp
Log Message:
-----------
[libc] Add the in6addr_{any,loopback} variables (#203579)
The existence of the variables is required by POSIX.
Assisted by Gemini.
Commit: 5388feaf865f2d48592588417bdf9d7f93de0755
https://github.com/llvm/llvm-project/commit/5388feaf865f2d48592588417bdf9d7f93de0755
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/func.mlir
M mlir/test/Target/Cpp/member.mlir
Log Message:
-----------
[mlir][emitc] Support member access for values (#203308)
The `emitc.member` op is currently limited to taking lvalues of opaque
types representing structs and returning either lvalues or arrays of its
fields. Accessing members of SSA values of opaque types, therefore,
requires assigning them to an `emitc.variable`, applying `emitc.member`
to it and `emitc.load` to the member's lvalue. For users only wishing to
read members of a struct value, this should be redundant.
This PR extends `emitc.member` to handle struct values directly by
accepting opaque types as argument, as long as the result type is
neither an lvalue nor an array, which imply memory location. This
provides similar semantics to extracting elements out of SSA
tensors/vectors.
Commit: 6e6c296f20149b0a9e793c2d526566bddb162939
https://github.com/llvm/llvm-project/commit/6e6c296f20149b0a9e793c2d526566bddb162939
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Analysis/SliceWalk.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/test/Dialect/SCF/invalid.mlir
M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp
Log Message:
-----------
[mlir] Use explicit op targets for region successors (#203552)
Replace the RegionSuccessor parent sentinel with an explicit Operation *
target. Operation successors now model continuing after that operation,
while region successors continue to point at Region.
Update RegionBranchOpInterface helpers, analyses, and dialect
implementations to use operation successors. This removes the ambiguity
of interpreting parent relative to whichever operation produced the
successor when introducing early-exits.
For downstream integration for this API change:
- `successor.isParent()` -> `successor.isOperation()`
- `RegionSuccessor::parent()` -> RegionSuccessor(op)` ; that means that
you need to have access to the target op. In general it is either
`getOperation()` or `getParentOp()` (depending if you're updating a
method on the `RegionBranchOpInterface` operation or on the terminator.
Assisted-by: Codex
Commit: 28f5731cc0b785dddb73c6a12bb4fd35b5cea449
https://github.com/llvm/llvm-project/commit/28f5731cc0b785dddb73c6a12bb4fd35b5cea449
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[LV] Pre-commit test case for strided accesses derived from lshr exact. nfc (#203488)
Commit: 7bc9882cce313b73b263b4c1377ccd322794f413
https://github.com/llvm/llvm-project/commit/7bc9882cce313b73b263b4c1377ccd322794f413
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/strcmp-memcmp.ll
Log Message:
-----------
[SimplifyLibCalls] Use context instruction strcmp->memcmp transform (#203893)
Pass the context instruction when checking for dereferenceability.
Commit: 00671e0bdaa14562af80d5fba16ca852242d6c11
https://github.com/llvm/llvm-project/commit/00671e0bdaa14562af80d5fba16ca852242d6c11
Author: David Green <david.green at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-insert-vector.mir
Log Message:
-----------
[GlobalISel] Add known-bits for G_INSERT_VECTOR_ELT. (#200930)
This adds known-bits for G_INSERT_VECTOR_ELT, mostly a copy of the SDAG equivalent code.
Commit: 46770bfbdb9ab00c58d07f657dcbd168434ee2a8
https://github.com/llvm/llvm-project/commit/46770bfbdb9ab00c58d07f657dcbd168434ee2a8
Author: Pooja Hemashekar <hemashekar at roofline.ai>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/test/python/dialects/linalg/utils.py
M mlir/unittests/Dialect/Linalg/InferConvolutionDimsTest.cpp
Log Message:
-----------
[mlir][linalg] Add maps-based inferConvolutionDims overload (#203323)
This PR adds an overload of `inferConvolutionDims` that takes only
indexing maps (input, filter, output), mirroring the maps-based
`inferContractionDims` overload added in #76081, along with the
corresponding C API and python bindings.
Assisted by: Claude-code
Commit: d9f14cafbbe7e8a4e34a48128539c15099f28563
https://github.com/llvm/llvm-project/commit/d9f14cafbbe7e8a4e34a48128539c15099f28563
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M libc/src/__support/endian_internal.h
M libc/src/arpa/inet/ntohl.cpp
M libc/src/arpa/inet/ntohs.cpp
M libc/test/src/__support/endian_internal_test.cpp
Log Message:
-----------
[libc] Add Endian::from_{big,little}_endian (#203895)
This is actually the same function as its to_ counterpart, but it lets
us correctly express the intent.
The functions are already useful for implementing ntoh?, but I'll add
other uses of them soon.
Commit: 1b51a09b73e9b1868830522c38d109a70135dbd7
https://github.com/llvm/llvm-project/commit/1b51a09b73e9b1868830522c38d109a70135dbd7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 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/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/dynamic-cast.cpp
Log Message:
-----------
[clang][bytecode] Actually implement `dynamic_cast` (#203489)
Do a full type search if necessary.
Commit: 688bc5341814524478f7dcb14d5cd3dd9d231b0c
https://github.com/llvm/llvm-project/commit/688bc5341814524478f7dcb14d5cd3dd9d231b0c
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/transcoding/atomic-load-store-unsupported.ll
A llvm/test/CodeGen/SPIRV/transcoding/load-atomic-ptr.ll
Log Message:
-----------
[SPIRV] Let atomic load load pointers (#202823)
SPIRV atomic load permits only integer or floats as per SPIRV spec. When
compiling libc there several places in the code where pointers are
atomically loaded causing compilation to break. It can be fixed by using
casting in the libc code but in order to keep the libc code clean it is
preferrable to do it in SPIRV backend. This change will cast pointer
parameter to a pointer to integer of appropriate size and generate
atomic load instruction that uses integers per SPIRV spec. The value
returned by atomic load is casted to an original pointer type
---------
Co-authored-by: Dmitry Sidorov <dsidorov at amd.com>
Commit: e26e9ba06f46f9619bb6d2df40850a54559640ce
https://github.com/llvm/llvm-project/commit/e26e9ba06f46f9619bb6d2df40850a54559640ce
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
[Loads][NFC] Add isDereferenceablePointer overload taking a size (#203905)
Quite a few places just end up passing `Align(1)` as the alignment.
Instead, provide an overload of `isDereferenceablePointer` taking a size
instead of a `Type*` and use that.
Commit: f1f79b53a57792af2120f02d97fab98902fc6747
https://github.com/llvm/llvm-project/commit/f1f79b53a57792af2120f02d97fab98902fc6747
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/usubsat.ll
Log Message:
-----------
[NFC][AMDGPU] Precommit tests for usubsat pattern (#203453)
Add tests to illustrate codegen changes in PR #203155.
Commit: 2f0a17cc05242d8b98d43a4c60a60f6bcbf5ed10
https://github.com/llvm/llvm-project/commit/2f0a17cc05242d8b98d43a4c60a60f6bcbf5ed10
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/Shell/Expr/TestObjCxxEnumConflict.test
Log Message:
-----------
[clang] Honor ShowLevel for diagnostics without a source location (#203520)
When lldb evaluates expression and gets error, it prints double
`error: ` as below,
```
(lldb) expression v1::withImplicitTag(Simple{.mem = 6})
note: Ran expression as 'C++11'.
error: error: Multiple internal symbols found for 'v1'
```
The first `error:` is from lldb and the second `error:` is from
clang's diagnostic. LLDB's `ClangDiagnosticManagerAdapter` sets
`ShowLevel=false`, so that its own rendering
layer (`RenderDiagnosticDetails`) can add the severity prefix with
color. However, clang still adds "error:" in the output buffer means
the guard is missing.
`TextDiagnosticPrinter::HandleDiagnostic` has two paths: one for
diagnostics with a valid source location (delegating to
`TextDiagnostic::emitDiagnostic`) and a simpler path for diagnostics
without one. The with-location path already guarded
`printDiagnosticLevel`
behind `DiagOpts.ShowLevel`; the no-location path called it
unconditionally.
Add a parameterized unit test covering `ShowLevel=true` and
`ShowLevel=false`
for no-location diagnostics to prevent regression.
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 86add58afb1c2de7339e779ecec5d812810350f3
https://github.com/llvm/llvm-project/commit/86add58afb1c2de7339e779ecec5d812810350f3
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampleErrors.ll
Log Message:
-----------
[SPIR-V] Return false after non-constant offset error in generateSampleImage (#203512)
generateSampleImage emitted the diagnostic but kept building the
instruction, producing a malformed OpImageSample with the offset
silently dropped
Commit: e919148ec7b3d288dc91ab770b49f43b45cb7877
https://github.com/llvm/llvm-project/commit/e919148ec7b3d288dc91ab770b49f43b45cb7877
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[mlir][nfc] Fix typo in tcgen05.ld.red docs (#203630)
Signed-off-by: Asher Mancinelli <amancinelli at nvidia.com>
Commit: d038850fde42c69028b84135437cb2be994d0ada
https://github.com/llvm/llvm-project/commit/d038850fde42c69028b84135437cb2be994d0ada
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-subbyte-array.ll
Log Message:
-----------
[SPIR-V] Fix division by zero on byte addressing GEP into a subbyte array (#202593)
walkLogicalAccessChainConstant divided the byte offset by the element
size which is zero for sub-byte element types ([N x i1])
Commit: 2a789821b0d723bc92f61563e74e67d69d660927
https://github.com/llvm/llvm-project/commit/2a789821b0d723bc92f61563e74e67d69d660927
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/Inputs/header.h
R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/invalid_label.cpp
R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/offset.cpp
R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/simple_labels.cpp
R cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/source_root_dir.cpp
Log Message:
-----------
Revert "[Dexter] Add label nodes for line references" (#203920)
Reverts llvm/llvm-project#202544
Commit appears to be causing failures in the pre-merge checks for
AArch64 specifically, though this is not entirely consistent. Reverting
to fix pre-merge checks immediately, will aim to reland with either a
fix or disabling tests for AArch64.
Commit: f32b9eb416beaa13cceac849905a9cc0a993620d
https://github.com/llvm/llvm-project/commit/f32b9eb416beaa13cceac849905a9cc0a993620d
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
A llvm/test/Transforms/ConstantHoisting/AArch64/consthoist-unreachable-phi-edge.ll
M llvm/test/Transforms/ConstantHoisting/X86/pr52689-not-all-uses-rebased.ll
Log Message:
-----------
[ConstantHoisting] Skip PHI edges from unreachable blocks (#203892)
When collecting constant candidates, skip incoming PHI edges from blocks
that are unreachable from entry. This avoids assertion failures when the
pass later tries to find insertion points or update users for constants
that only appear on unreachable edges.
While touching this part of the code, also remove an older XFAIL from
test/Transforms/ConstantHoisting/X86/pr52689-not-all-uses-rebased.ll
That test case also triggered the same assert once upon a time, but it
has been set to XFAIL for some time since the reproducer no longer
triggered the bug. This patch turns it into a normal test case instead
of an XFAIL test. Afaict the original problem may have been the same. We
have PHI nodes with edges from unreachable blocks. One difference
compared to the new aarch64 test is that here the involved constants are
GEPs and not simple scalars.
Closes https://github.com/llvm/llvm-project/issues/52689
Commit: 5fbc81a2f2b00c21e84bb8f450233713acb6edda
https://github.com/llvm/llvm-project/commit/5fbc81a2f2b00c21e84bb8f450233713acb6edda
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[JumpThreading] Use isGuaranteedToTransferExecutionToSuccessor() with range (#203918)
Use the overload that accepts a range of instructions. This is not NFC
because the scan is now subject to ScanLimit.
Commit: 2d8a394129b3b538071f7774e34c31d7cbf3c882
https://github.com/llvm/llvm-project/commit/2d8a394129b3b538071f7774e34c31d7cbf3c882
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
A openmp/runtime/src/kmp_adt.cpp
A openmp/runtime/src/kmp_adt.h
M openmp/runtime/src/kmp_str.cpp
M openmp/runtime/src/kmp_str.h
A openmp/runtime/unittests/ADT/CMakeLists.txt
A openmp/runtime/unittests/ADT/TestStringRef.cpp
M openmp/runtime/unittests/CMakeLists.txt
M openmp/runtime/unittests/String/TestKmpStr.cpp
Log Message:
-----------
[libomp] Add kmp_str_ref (ADT 1/2) (#176162)
libomp currently has two limitations:
1) although it's C++, it doesn't link against the C++ stdlib 2) it
cannot link against the implementation of LLVM ADTs
These limitations shall not be altered at the moment.
As a result, this commit introduces kmp_str_ref, which is similar to
LLVM's StringRef. It currently only includes methods I need at the
moment, but it's easily extensible.
Commit: e57ebfdaefa7c2ea660878984cfe5c739f626d6b
https://github.com/llvm/llvm-project/commit/e57ebfdaefa7c2ea660878984cfe5c739f626d6b
Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/include/flang/Support/Flags.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Support/Flags.cpp
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-parallel-do-simd-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-nested-distribute-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
R flang/test/Lower/OpenMP/Todo/firstprivate-target.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target-scope.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/do_concurrent_loop_in_nested_block.f90
M flang/test/Lower/do_concurrent_reduce.f90
M flang/test/Semantics/OpenMP/symbol08.f90
A offload/test/offloading/fortran/target-firstprivate.f90
Log Message:
-----------
[Flang][OpenMP] remove enable-delayed-privatization-staging to suppor… (#203626)
…t target first private default
This commit follows the decision in #182356 to remove the not yet
implemented for delayed privatization for firstprivate and private in
`omp target` regions in flang
Fixes #182356
Assisted with Opus
Commit: 5385418df01200d7388d3c42e60c14e938645838
https://github.com/llvm/llvm-project/commit/5385418df01200d7388d3c42e60c14e938645838
Author: jay0x <90309873+blazie2004 at users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
Log Message:
-----------
[Flang] [Runtime ]Fix write endfile abort (#191633)
A WRITE after ENDFILE with ERR= or IOSTAT= was crashing instead of
handling the error properly. Earlier, the program was crashing because
the error was triggered too early (before error handling was ready).
---------
Co-authored-by: Jay Satish Kumar Patel <kumarpat at hpe.com>
Commit: edb7ad812dab579ac6d869f34a5a9e3f4d5992de
https://github.com/llvm/llvm-project/commit/edb7ad812dab579ac6d869f34a5a9e3f4d5992de
Author: Julian Klappenbach <julian at twilight.digital>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-global-array-poison.ll
Log Message:
-----------
[SPIR-V] Deduce pointee type for all global variables, not only initialized ones (#202047)
SPIRVEmitIntrinsics::processGlobalValue only recorded a global variable's
element type when hasInitializer() was true. Now it's recording it unconditionally.
Assisted-by: Claude (Anthropic)
Commit: 53e36fb7833acd81a5d07eeffa7ff8ae6968125e
https://github.com/llvm/llvm-project/commit/53e36fb7833acd81a5d07eeffa7ff8ae6968125e
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Preprocessor/zos-target.c
Log Message:
-----------
[z/OS][Clang] Raise minimum supported z/OS target level to 3.1 (#203580)
Update z/OS target validation and tests to reject targets older than
z/OS 3.1
Commit: fff4896df38cd1decf6361a8a98e750befb759d9
https://github.com/llvm/llvm-project/commit/fff4896df38cd1decf6361a8a98e750befb759d9
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 63c9264 (#203875)
This fixes 63c9264c770b4ffb7b5b3816547db45969026c3f.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 0919b1e54c6eff1841948717035eeffe21b27c6c
https://github.com/llvm/llvm-project/commit/0919b1e54c6eff1841948717035eeffe21b27c6c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/include/lldb/Core/Statusline.h
M lldb/source/Core/Statusline.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Recompute the statusline on resize without clearing the screen (#202691)
On a terminal resize the statusline cleared the whole screen (ESC[2J)
and redrew, because recomputing in place was buggy: the statusline
wrapped and duplicated. The clear also wiped the visible scrollback on
every resize. I got lots of feedback that this wasn't a great user
experience so I spent some time taking another stab at this.
This PR reverts back to recomputing the statusline. After a resize the
terminal still shows the old statusline:
- Making the terminal smaller (horizontally) reflows the full-width line
into ceil(prev_width / width) rows at the bottom
- Making the terminal larger (vertically) leaves it stranded at its old
row
Clear only the rows it can still occupy and redraw, preserving the
scrollback above. Disable autowrap while drawing so a line briefly wider
than the terminal is clipped at the margin rather than wrapping onto the
row above.
Removing the clear exposed that Editline::Refresh() redrew the prompt
via libedit's EL_REFRESH, which uses a cursor model that is stale once
the statusline has moved the cursor, tiling the prompt once per resize.
Repaint the prompt and input from our own tracked position instead.
Fixes #146919
Commit: 8af74a033b667a9af256744a0c701a535694f6d3
https://github.com/llvm/llvm-project/commit/8af74a033b667a9af256744a0c701a535694f6d3
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Options.h
Log Message:
-----------
[OFFLOAD][L0] Switch to use inorder queues by default (#203897)
Now that other pieces are in place we can switch to using Level Zero
inorder queues by default.
Commit: 132adf753ac1a78ced1839678bb03070c1ca25df
https://github.com/llvm/llvm-project/commit/132adf753ac1a78ced1839678bb03070c1ca25df
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-intrinsics.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/frexp.ll
Log Message:
-----------
[SPIR-V] Skip dead second result load for frexp and modf (#201891)
Skip the load for the result in case it is in fact not used
Commit: d4ca116af2e4f792b7967817cd7856dab6ed87ac
https://github.com/llvm/llvm-project/commit/d4ca116af2e4f792b7967817cd7856dab6ed87ac
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/include/lldb/lldb-enumerations.h
Log Message:
-----------
[lldb] Reformat doxygen comments in lldb-enumerations.h (NFC) (#203079)
Convert doxygen comments to precede the enumerator to which they apply
(using `///`). This placement of documentation is more consistent with
how functions and classes are documented. Additionally, with the column
limit, the documentation was quite crammed as it was. Lastly, comments
have been reflowed, so that make full use of horizontal space.
Assisted-by: claude
Commit: cd2b669a098855417feebc4b5b413da4bf8563c9
https://github.com/llvm/llvm-project/commit/cd2b669a098855417feebc4b5b413da4bf8563c9
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[SPIR-V] Take ArrayRef instead of owning containers in selection helpers (NFC) (#203908)
Avoid per call heap allocations where call sites pass braced list
temporaries
Commit: 9e0508dc4e30fc92a677c091da5546b458a268ef
https://github.com/llvm/llvm-project/commit/9e0508dc4e30fc92a677c091da5546b458a268ef
Author: Peter Smith <peter.smith at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
R lld/test/ELF/Inputs/arm-long-thunk-converge.lds
M lld/test/ELF/arm-bl-v6-inrange.s
M lld/test/ELF/arm-fix-cortex-a8-thunk.s
M lld/test/ELF/arm-force-pi-thunk.s
M lld/test/ELF/arm-long-thunk-converge.s
M lld/test/ELF/arm-thumb-thunk-v6m.s
M lld/test/ELF/arm-thunk-linkerscript-dotexpr.s
M lld/test/ELF/arm-thunk-linkerscript-large.s
M lld/test/ELF/arm-thunk-linkerscript-orphan.s
M lld/test/ELF/arm-thunk-linkerscript-sort.s
M lld/test/ELF/arm-thunk-linkerscript.s
M lld/test/ELF/arm-thunk-many-passes.s
Log Message:
-----------
[ARM][LLD] Reduce thunk test case size, linkerscript changes [NFC] (#202549)
These changes either do some refactoring to use split-file and then
delete the outputs as the size saving is not large. Or it adapts the
linker script to reduce the size by introducing sparse program segments.
All these cases are fairly simple changes, and have made minimal changes
to the CHECK lines.
Related to #202261
Commit: dd05657aef81a6e3c7323c1cd5138a3a2bc5c99a
https://github.com/llvm/llvm-project/commit/dd05657aef81a6e3c7323c1cd5138a3a2bc5c99a
Author: Peter Smith <peter.smith at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lld/test/ELF/arm-bl-v6.s
M lld/test/ELF/arm-fix-cortex-a8-thunk-align.s
M lld/test/ELF/arm-fix-cortex-a8-toolarge.s
M lld/test/ELF/arm-thumb-condbranch-thunk.s
M lld/test/ELF/arm-thumb-mix-range-thunk-os.s
M lld/test/ELF/arm-thumb-range-thunk-os-no-ext.s
M lld/test/ELF/arm-thumb-range-thunk-os.s
M lld/test/ELF/arm-thumb-thunk-empty-pass.s
M lld/test/ELF/arm-thunk-largesection.s
M lld/test/ELF/arm-thunk-multipass-plt.s
M lld/test/ELF/arm-thunk-multipass.s
M lld/test/ELF/arm-thunk-nosuitable.s
M lld/test/ELF/arm-thunk-re-add.s
M lld/test/ELF/arm-thunk-section-too-large.s
M lld/test/ELF/arm-thunk-toolargesection.s
Log Message:
-----------
[ARM][LLD] Remove large files at end of test [NFC] (#202548)
Some range extension and erratum fix thunks can't easily use a linker
script to make gaps that don't result in a large output. Explicitly
remove the large object and linker output files to reduce storage usage.
Related to #202261
Commit: d14b90821790baac19cb6b1d56612b59b465b212
https://github.com/llvm/llvm-project/commit/d14b90821790baac19cb6b1d56612b59b465b212
Author: Peter Smith <peter.smith at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lld/test/ELF/aarch64-cortex-a53-843419-thunk-relocation-crash.s
M lld/test/ELF/aarch64-long-thunk-converge.s
M lld/test/ELF/aarch64-thunk-reuse2.s
Log Message:
-----------
[AArch64][LLD] Update tests to reduce file size [NFC] (#202547)
Remove large object and executable files after running test. Some tests
need to run within a single OutputSection and cannot use a Linker Script
to increase distance without a large object and corresponding executable
file.
Fixes AArch64 part of #202261
Commit: 9316fe9a1713a65469a6048b81f44a4494b2f6d0
https://github.com/llvm/llvm-project/commit/9316fe9a1713a65469a6048b81f44a4494b2f6d0
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
Log Message:
-----------
[AMDGPU][NFC] Generate opt checks with script (#203926)
Update testcase so that opt checks are generated with
update_test_checks.py.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: df6c3f300a013c17eb860c319836389852bdc09e
https://github.com/llvm/llvm-project/commit/df6c3f300a013c17eb860c319836389852bdc09e
Author: Peter Smith <peter.smith at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lld/test/ELF/arm-branch-undef-weak-plt-thunk.s
M lld/test/ELF/arm-thumb-plt-range-thunk-os.s
Log Message:
-----------
[ARM][LLD] Rewrite thunk tests to make output smaller [NFC] (#202551)
Some thunk tests can leave large relocatable objects and executables
around. In some cases it is possible to alter the linker script to make
the output smaller. These changes have been separated out as they have
more substantial changes to CHECK lines.
Related to #202261
Commit: e91b82784965a0a4221a66b3206189fc74b9a519
https://github.com/llvm/llvm-project/commit/e91b82784965a0a4221a66b3206189fc74b9a519
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCRecipeMaterialization.cpp
M mlir/test/Dialect/OpenACC/acc-recipe-materialization-reduction.mlir
Log Message:
-----------
[ACCRecipeMaterialization] materialize destroy region for reductions (#203935)
Materialize the destroy region when the reduction recipe has one
Commit: b31c239b071bbcb9beb1f999d25854cbb5028642
https://github.com/llvm/llvm-project/commit/b31c239b071bbcb9beb1f999d25854cbb5028642
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] allow omitting `va_end` (#203087)
In Rust we'd like to be able to omit `va_end`: it is a no-op on all
currently supported targets, and the requirement that it is paired
exactly with `va_start` and `va_copy` (in the same frame) cannot be
unified with a language with move semantics.
cc https://github.com/rust-lang/rust/pull/157627
https://github.com/rust-lang/rust/pull/155697
Commit: 0e759d37d703205e4a1abcf8a13972e8d9fefa19
https://github.com/llvm/llvm-project/commit/0e759d37d703205e4a1abcf8a13972e8d9fefa19
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/include/lldb/Utility/FileSpec.h
M lldb/source/API/SBFileSpec.cpp
M lldb/source/API/SBLaunchInfo.cpp
M lldb/source/API/SBPlatform.cpp
M lldb/source/Host/common/HostInfoBase.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Utility/FileSpec.cpp
Log Message:
-----------
[lldb][NFC] Remove FileSpec::GetPathAsConstString (#203428)
I'm trying to clean up the FileSpec API. Even if it is currently
implemented as a pair of ConstStrings, I think it would be better if
FileSpec users only created new ConstStrings as necessary.
Commit: 5754a48780f516cbc06eeb2a31b1e445ddd9c935
https://github.com/llvm/llvm-project/commit/5754a48780f516cbc06eeb2a31b1e445ddd9c935
Author: yonghong-song <yhs at fb.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
A clang/test/DebugInfo/Generic/attr-btf_type_tag-typedef-no-ptr.c
M llvm/lib/Target/BPF/BTFDebug.cpp
A llvm/test/CodeGen/BPF/BTF/type-tag-typedef-noptr.ll
Log Message:
-----------
[Clang][BPF] Support btf_type_tag on typedef underlying types (#203089)
Emil Tsalapatis suggested to add type tag for typedef like below:
```
$ cat tag.c
#define __type_tag(x) __attribute__((btf_type_tag(x)))
struct bar { int c; int d; };
typedef struct bar __type_tag("a") bar_t;
int use(bar_t *v)
{
return v->c + v->d;
}
```
This makes the code simpler -- using `bar_t *v` instead of the longer
form `struct bar __type_tag("a") *v`.
So the goal is to allow type tag for typedef underlying types. The
following describes the main changes:
- CGDebugInfo: factor the btf_type_tag walk out of CreatePointerLikeType
into a new CollectBTFTypeTagAnnotations() helper, and use it when
emitting a typedef's DIDerivedType so the typedef carries both its
btf_decl_tag annotations (on the declaration) and the btf_type_tag
annotations (on the underlying type).
- BPF BTFDebug: emit type tags for DW_TAG_typedef the same way they are
emitted for DW_TAG_pointer_type, building the intermediate
BTF_KIND_TYPE_TAG chain. The BTFTypeDerived constructor now selects
BTF_KIND_PTR or BTF_KIND_TYPEDEF based on the DWARF tag.
Commit: 89a086927f1ef5384c457c202f1732b2f1f5ec38
https://github.com/llvm/llvm-project/commit/89a086927f1ef5384c457c202f1732b2f1f5ec38
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/Preamble.h
Log Message:
-----------
[clangd] Keep ModuleCache alive for captured preamble AST (#203952)
Since #164889 made ModuleManager's ModuleCache reference non-owning, the
preamble's CompilerInstance solely owns the module buffers so retain the
shared_ptr<ModuleCache> in CapturedASTCtx.
Fixes #203799
Commit: df0c6bdfaecd0b6d17742ef9504843f45c9386d9
https://github.com/llvm/llvm-project/commit/df0c6bdfaecd0b6d17742ef9504843f45c9386d9
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86InstrVecCompiler.td
Log Message:
-----------
[X86] Replace alignedstore/alignedload custom predicates with MinAlignment. NFC (#201980)
These custom alignment predicates predate PatFrag's dedicated
MinAlignment field. Replace them with per-size fragments
(alignedstore128/256/512, alignedload128/256/512) so both SelectionDAG
and GlobalISel get the alignment check without hand-written predicate
code.
Stacked above https://github.com/llvm/llvm-project/pull/197860; stacked
below https://github.com/llvm/llvm-project/pull/197861.
Commit: 96adb80f0c5a94f22d61d6f2307c8a3d0483d3b1
https://github.com/llvm/llvm-project/commit/96adb80f0c5a94f22d61d6f2307c8a3d0483d3b1
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
A llvm/lib/Target/AArch64/AArch64PerfectShuffle.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/utils/PerfectShuffle/PerfectShuffle.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[AArch64] Move the perfect-shuffle table out of line (#202617)
Move the generated `PerfectShuffleTable` from `AArch64PerfectShuffle.h`
to one hidden definition in `AArch64PerfectShuffle.cpp`. The three
consumers retain direct indexed access.
On Darwin arm64 Release, `__TEXT,__const` decreases by 26,240 bytes and
stripped AArch64-only `llc` decreases from 48,207,312 to 48,190,816
bytes (-16,496 bytes).
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: c3c915fca04d3e6a6983519acd3f40b6ca243a73
https://github.com/llvm/llvm-project/commit/c3c915fca04d3e6a6983519acd3f40b6ca243a73
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[Support] Move the command-line Option constructor out of line (#202847)
Move the shared `Option` base constructor from `CommandLine.h` to
`CommandLine.cpp`. Typed `opt`, `list`, and `bits` constructors remain
unchanged; option construction gains one direct non-virtual call and
parsing behavior is unaffected.
A native AArch64 Release `opt` shrinks by 358,576 bytes, with `__text`
down 229,796 bytes and dyld fixups unchanged.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 1c07fe864fb4d4c54706b162793e040c206aa181
https://github.com/llvm/llvm-project/commit/1c07fe864fb4d4c54706b162793e040c206aa181
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
M clang/unittests/CIR/ControlFlowTest.cpp
Log Message:
-----------
[CIR][NFC] Sync ClangIR with MLIR RegionSuccessor changes (#203950)
Sync ClangIR with MLIR RegionSuccessor changes that were introduced in
#203552
Commit: 11054d2f6e330990430d9251a04ce68cc63e4855
https://github.com/llvm/llvm-project/commit/11054d2f6e330990430d9251a04ce68cc63e4855
Author: adams381 <adams at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
A clang/test/CIR/CodeGen/const-array-floating-point.c
Log Message:
-----------
[CIR] Fix const-array lowering for long double (#203617)
A global array constant of `long double` crashes CIR's lowering to LLVM.
`getZeroInitFromType<APFloat>` in LoweringHelpers seeds a zero-filled vector
for the const-array path but only handled `SingleType`/`DoubleType`, asserting
"only float and double supported" on every other CIR floating-point type. The
const-array dispatch already routes any `cir::FPTypeInterface` element type into
`getZeroInitFromType<APFloat>`, so `long double` (`x86_fp80`) hit the assert even
though classic codegen lowers it fine. The SingleSource ieee-copysign2 test
exercises exactly this.
The fix derives the zero from the element type's APFloat semantics via
`cir::FPTypeInterface::getFloatSemantics()`, the same construction `FPAttr::getZero`
uses, which covers float, double, long double, FP128, half, and bfloat. The test
pins all of those against classic codegen output.
Commit: e1c14c7441710acd9ab4ed92f6a49c522ea5f93c
https://github.com/llvm/llvm-project/commit/e1c14c7441710acd9ab4ed92f6a49c522ea5f93c
Author: adams381 <adams at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
A clang/test/CIR/CodeGen/constexpr-ptr-offset.cpp
Log Message:
-----------
[CIR] Handle scalar-type element GEP in GlobalView offset computation
computeGlobalViewIndicesFromFlatOffset navigated into array and record
types to convert a flat byte offset into structured GEP indices, but hit
llvm_unreachable("unexpected type") when the pointee was a scalar integer
(e.g. !s8i for const char *).
This happens when a constexpr struct has a pointer field initialized to a
global string-literal address plus a non-zero byte offset. Classic
CodeGen emits getelementptr i8, ptr @str, i64 N; CIR represents it as a
GlobalViewAttr with index [N]. getAddrOfConstantStringFromLiteral builds
the GlobalViewAttr with a ptr-to-char pointee (not ptr-to-array), so
applyOffset hands a char type to the offset navigator.
Add a cir::IntType case that computes offset / sizeof(element) as the flat
GEP index, mirroring the array-element logic, in both
computeGlobalViewIndicesFromFlatOffset and
computeOffsetFromGlobalViewIndices. llvm_unreachable is kept for
genuinely unexpected types.
Commit: a76b875ecf9684f802597c4d3830df858c729233
https://github.com/llvm/llvm-project/commit/a76b875ecf9684f802597c4d3830df858c729233
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
AMDGPU: Add SALU support for llvm.fptrunc.round f32 to f16 (#203406)
Commit: fd549e04370781a9de0e93fcb723c043afbdafb1
https://github.com/llvm/llvm-project/commit/fd549e04370781a9de0e93fcb723c043afbdafb1
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/misched-fusion-arith-bcc.ll
A llvm/test/CodeGen/AArch64/misched-fusion-arith-bcc.mir
A llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.ll
A llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.mir
R llvm/test/CodeGen/AArch64/misched-fusion.ll
Log Message:
-----------
[AArch64] Split misched-fusion.ll per feature(NFC) (#203576)
This patch splits misched-fusion.ll into 2 tests one for each feature:
arith+bcc and arith+cbz. As part of the refactor, it increases coverage
by introducing test cases for each possible pair as well as negative
test cases for positive shift operands. The patch also introduces a new
structured dual testing strategy - one .ll and one .mir test for each
feature, to provide codegen and misched coverage for asserts-off and
asserts-on builds.
Plus apple-m5 runlines.
Commit: 074023ddd84edc37d1db0de457477049d7fd08b3
https://github.com/llvm/llvm-project/commit/074023ddd84edc37d1db0de457477049d7fd08b3
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/collapse_extern_ref_crash.cpp
Log Message:
-----------
[OpenMP] Fix crash with extern reference and diagnose loop variable reuse in collapsed loops. (#203252)
Fixes a null pointer dereference when analyzing `OpenMP` collapsed loops
where the loop bound is an extern reference type and adds a diagnostic
to detect when an inner loop reuses the outer loop's induction variable
in a collapsed loop nest.
See crash here: https://godbolt.org/z/4f5rM1Kf8.
Commit: 0b5fd07567c8c64df9b4bd86b0b2bdcf3aef4f8d
https://github.com/llvm/llvm-project/commit/0b5fd07567c8c64df9b4bd86b0b2bdcf3aef4f8d
Author: Zach Goldthorpe <Zach.Goldthorpe at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform-in-vgpr.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-bf16-gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/consecutive-loads-in-branch.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
M llvm/test/CodeGen/AMDGPU/packed-u64.ll
M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
[AMDGPU][VOPD] Limit VOPDPairing from reaching over load dependencies (#201930)
This patch adds a test to prohibit VOPDPairing from attempting to fuse
two instructions which may force the serialisation of loads which would
otherwise overlap.
The current VOPD pairing algorithm greedily iterates over all fusible
pairs of instructions, regardless of how distant they may be in the
tentative schedule.
The clustering edges introduced by the mutation may disrupt scheduling
decisions informed by stalls and latency made earlier, as demonstrated
by the lit test introduced in #201943: VOPD pairing may fuse part of an
address computation for a subsequent load with a use of an earlier load,
forcing the earlier load to complete and get consumed before dispatching
the subsequent load, rather than pipelining the loads.
Commit: a1937653e16a81af890e1b6041ae4bf2ee1ca477
https://github.com/llvm/llvm-project/commit/a1937653e16a81af890e1b6041ae4bf2ee1ca477
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M bolt/docs/index.rst
Log Message:
-----------
[docs] Add BOLTAArch64OptimizationStatus to toctree (#203964)
Building docs-bolt-html fails with:
Warning, treated as error:
/home/slinder1/llvm-project/scratch/bolt/docs/BOLTAArch64OptimizationStatus.rst:document
isn't included in any toctree
Just add the orphan document to the toctree in the index to silence
this. If there is a better parent it can be moved somewhere else in the
tree.
Change-Id: I1d26d96d5485d97d29231da89f8c8408b375c41f
Commit: 462282c3068785624339128f1ecf24f0e89cea11
https://github.com/llvm/llvm-project/commit/462282c3068785624339128f1ecf24f0e89cea11
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenOpenCL/vector.cl
Log Message:
-----------
[CIR] Implement Unary inc for VectorType of int (#202707)
Implement Unary inc for VectorType of int
Issue #192311
Commit: c9b353e20cd9044671e396ef17f5337be68ff984
https://github.com/llvm/llvm-project/commit/c9b353e20cd9044671e396ef17f5337be68ff984
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/declare-target-flags.f90
Log Message:
-----------
[flang][OpenMP] Fix declare target after #200446 (#203364)
ResolveOmpCommonBlock() may be called multiple times and with distinct
symbol flags, that need to be processed even after the common block has
been resolved.
Fixes #203300
Commit: ead7fbd791d1fbed20782e498e08a803168360c7
https://github.com/llvm/llvm-project/commit/ead7fbd791d1fbed20782e498e08a803168360c7
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
A mlir/test/python/context_shutdown.py
Log Message:
-----------
[mlir][python] Fix segfault at interpreter shutdown with entered contexts (#203826)
The `static thread_local std::vector<PyThreadContextEntry>` holds
`nb::object` references to Python Context/Location/InsertionPoint
objects. When a Context is entered (pushed onto the stack) but never
exited before interpreter shutdown, the thread-local storage destructor
runs after `Py_Finalize()` on the main thread, attempting `Py_DECREF`
through the dead runtime → SIGSEGV.
Fix: Register an `atexit` handler that clears the stack while the
interpreter is still alive, releasing all held Python references before
finalization.
Commit: 675fceb6a321fb324a6ad41b08d08afcddbc4989
https://github.com/llvm/llvm-project/commit/675fceb6a321fb324a6ad41b08d08afcddbc4989
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/include/mlir/IR/EnumAttr.td
M mlir/test/mlir-tblgen/gen-dialect-doc.td
M mlir/tools/mlir-tblgen/OpDocGen.cpp
Log Message:
-----------
[mlir-tblgen] Render enum keyword alternatives in generated attr/type docs (#203677)
When mlir-tblgen generates documentation for AttrDefs/TypeDefs that have
EnumParameter fields, it previously rendered the raw C++ type (e.g.
`::mlir::ns::MyEnum`) in the syntax block. This is unhelpful for users
who need to know the valid keyword values.
This patch:
1. Adds an `EnumInfo enum = enumInfo;` field to the `EnumParameter`
TableGen class, persisting the enum record for tooling to inspect.
2. Modifies `emitAttrOrTypeDefAssemblyFormat` in OpDocGen.cpp to detect
EnumParameter fields and render their cases as backtick-quoted
alternatives (e.g. `` `read` | `read_write` ``).
3. Adds a test case to gen-dialect-doc.td verifying the new behavior.
Before:
```
#my_dialect.my_attr<
int32_t, # index
::mlir::ns::MyEnum, # access
>
```
After:
```
#my_dialect.my_attr<
int32_t, # index
`read` | `read_write`, # access
>
```
Co-Authored-By: Claude
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Co-authored-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Co-authored-by: makslevental <m_levental at apple.com>
Commit: 955184d3594ee5d06dedf36ff9a6337a1824ae67
https://github.com/llvm/llvm-project/commit/955184d3594ee5d06dedf36ff9a6337a1824ae67
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/AArch64/aarch64-sve-reductions.ll
Log Message:
-----------
[LLVM][InstSimplify][SVE] Only transform sve.eorv(all_active, A)->0 when A is the result of a splat. (#203954)
Fixes https://github.com/llvm/llvm-project/issues/203921
Commit: e485bcc207863f3b4d5d6964dc1f1e5fcce08579
https://github.com/llvm/llvm-project/commit/e485bcc207863f3b4d5d6964dc1f1e5fcce08579
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
A llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr-mir.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
Log Message:
-----------
[llvm][aarch64] Mark PAuth_LR PACSym offset adrp+add's as FrameDestroy (#190439)
These only really make sense in epilogues where we're preparing to tear
down the frame and authenticate a pc-diversified LR, so mark them as
part of the elilogue with FrameDestroy.
Commit: e2015b12be72986b850cfd77e7895c2ec79b963c
https://github.com/llvm/llvm-project/commit/e2015b12be72986b850cfd77e7895c2ec79b963c
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
A clang/test/Analysis/Scalable/PointerFlow/lref-to-rref-cast.test
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
Log Message:
-----------
[SSAF][PointerFlow] Recognize reference-to-pointer/array Decls (#203633)
Decls of reference-to-pointer/array types are now treated the same as
those of pointer/array type.
rdar://179173940
Commit: c194b5ff3d30517493a25a8f0c9f62ba86ba5360
https://github.com/llvm/llvm-project/commit/c194b5ff3d30517493a25a8f0c9f62ba86ba5360
Author: adams381 <adams at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/vector-convert-to-bool.c
Log Message:
-----------
[CIR] Lower vector integer/float to bool casts (#203397)
An ext_vector integer-to-bool or float-to-bool conversion (e.g.
`__builtin_convertvector` from `int4` to `bool4`) crashed clang in
`emitScalarCast` (`CIRGenExprScalar.cpp`). `emitScalarConversion` only
special-cases scalar bool (`dstType->isBooleanType()`), so a
vector-of-bool destination fell through to `emitScalarCast`, whose
integer/float source branches had no bool-element destination case and
hit `llvm_unreachable`.
The fix adds the `int_to_bool`/`float_to_bool` cast kinds for a bool
element destination, mirroring the bool-source branch. It also builds
the LowerToLLVM zero operand via `getZeroAttr` so it splats for vectors,
and compares element widths in `bool_to_int` so the round trip lowers
for vectors too. The conversion now lowers to an elementwise `icmp ne` /
`fcmp une` against zero, matching classic codegen.
libcxx's vectorized comparison helpers (e.g. `flat_map`/`flat_multimap`
construction, `ranges::starts_with`) reach this path; this clears the
crash, though those tests still hit unrelated NYIs.
Commit: 132b13d83db8d4d571797b4cd2a9e48cd67cfbc2
https://github.com/llvm/llvm-project/commit/132b13d83db8d4d571797b4cd2a9e48cd67cfbc2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Carry bypass value as second operand of ResumeForEpilogue (NFC) (#203976)
Add a second operand to the ResumeForEpilogue VPInstruction holding the
bypass value for the corresponding phi
Use the new operand to drive the AnyOf/FindIV resume adjustment instead
of looking through IR.
Commit: 6e1963b0706bfd005090e8f38f226cc30e3aee67
https://github.com/llvm/llvm-project/commit/6e1963b0706bfd005090e8f38f226cc30e3aee67
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Build BOLT docs in docs workflow (#203977)
So that we see precommit whether or not something is broken.
Commit: 7befd2b97f8e667d90efa03e1fda74157b1af02e
https://github.com/llvm/llvm-project/commit/7befd2b97f8e667d90efa03e1fda74157b1af02e
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/unittests/Optimizer/CMakeLists.txt
A flang/unittests/Optimizer/OpenACC/FIROpenACCPointerLikeTypeInterfaceTest.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCTypeInterfacesTest.cpp
Log Message:
-----------
[flang][acc] Add PointerLikeType API for MemRef type conversion (#203965)
This PR adds a PointerLikeType API named `getAsMemRefType` whose intent
is to establish equivalent MemRefType - the first use case for this will
be privatization and shared memory handling to be done in a
dialect-independent way. The Flang implementation uses
FIRToMemRefTypeConverter to do so.
Commit: e4ffb239aaf13f01d4b59ba1a7d0edbd4f425320
https://github.com/llvm/llvm-project/commit/e4ffb239aaf13f01d4b59ba1a7d0edbd4f425320
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP][NFC] Extract enclosing-construct trait collection helper (#203924)
Move the inline MLIR-parent walk in genMetadirective that maps enclosing
OpenMP operations to construct trait properties into a reusable
collectEnclosingConstructTraits helper. No functional change to
metadirective matching; this prepares the helper for reuse by DECLARE
VARIANT call-site resolution.
Commit: 46fc3bb6a48eb72a37b165864340b7f619d743fd
https://github.com/llvm/llvm-project/commit/46fc3bb6a48eb72a37b165864340b7f619d743fd
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/IR/BundleAttributes.cpp
M llvm/test/Analysis/ValueTracking/assume.ll
Log Message:
-----------
[ValueTracking] Infer nonnull from alignment with non-zero offsets (#203634)
Commit: 286da51fa5faec9a3a2fb5afbe62e72e689c0f7c
https://github.com/llvm/llvm-project/commit/286da51fa5faec9a3a2fb5afbe62e72e689c0f7c
Author: Prashanth Mundkur <pmundkur.riscv at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb][docs] Some fixes for lldbgdbremote.md. (#200079)
This has the following fixes:
- fix a typo: `qAttachOrWaitSupported` -> `qVAttachOrWaitSupported`
- document that a response to `qHostInfo` can contain an `arch`
key-value pair
- clarify that the value of the `triple` key in some cases is a hex
encoded string.
---------
Co-authored-by: David Spickett <david.spickett at arm.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 4bd7cc06f314b7809a480177d7424d0bcff55521
https://github.com/llvm/llvm-project/commit/4bd7cc06f314b7809a480177d7424d0bcff55521
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/OpenACC/Support/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 7befd2b (#203985)
This fixes 7befd2b97f8e667d90efa03e1fda74157b1af02e.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 018b29a0b01bc7229a7543e71dd6b9623c186c8c
https://github.com/llvm/llvm-project/commit/018b29a0b01bc7229a7543e71dd6b9623c186c8c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang] Extract misparsed function reference check into function (#203899)
Function calls and array element acceses have the same syntax, and some
array element accesses may be misparsed as calls. The ExprChecker will
identify and correct such cases in expressions, but they may also occur
outside of expressions (e.g. OpenMP directives and clauses).
To avoid code duplication extract the check into a new function
`IsMisparsedFunctionReference`.
Commit: 9ffa02dbaa065dee20ab4d604a3eed042f0b3cc4
https://github.com/llvm/llvm-project/commit/9ffa02dbaa065dee20ab4d604a3eed042f0b3cc4
Author: adams381 <adams at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
A clang/test/CIR/IR/invalid-bit.cir
Log Message:
-----------
[CIR] Lower __builtin_bswapg (#203618)
C++23 `std::byteswap` lowers every value wider than a single byte
through the type-generic `__builtin_bswapg` builtin, which CIRGen had no
case for, so `std/numerics/bit/byteswap.pass.cpp` hit `errorBuiltinNYI`.
This handles `__builtin_bswapg` the way classic CodeGen does
(`CGBuiltin.cpp`): a bool or single-byte integer is returned unchanged,
and wider values go through `cir.byte_swap`. Unlike the unsigned-only
`__builtin_bswap16/32/64`, the generic builtin also accepts signed
operands, so a signed argument is reinterpreted as unsigned of the same
width before the swap and cast back afterward.
`cir.byte_swap` previously accepted only 16/32/64-bit operands, but
`std::byteswap` instantiates it for `__int128` and wide `_BitInt` too
(the libc++ test reaches `_BitInt(256)`). The operand constraint is
widened to any unsigned integer whose width is a multiple of 16 bits --
which is what `llvm.bswap` requires -- and the existing CIR-to-LLVM
lowering already handles any such width. With the fix,
`byteswap.pass.cpp` passes under `-fclangir`.
Commit: 1b49912b6a91a1f335805791cc093a4153440e2e
https://github.com/llvm/llvm-project/commit/1b49912b6a91a1f335805791cc093a4153440e2e
Author: adams381 <adams at nvidia.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/bitfield-postinc.cpp
Log Message:
-----------
[CIR] Fix bitfield post-increment return value (#201723)
In \`emitScalarPrePostIncDec\`, the bitfield branch called
\`emitStoreThroughBitfieldLValue\` and returned its result directly,
bypassing the \`return e->isPrefix() ? value : input\` logic that
selects old vs new for post vs pre-increment. For post-increment on a
bitfield, this returned the new (incremented) value instead of the old
one, so \`if (s->nRefs++)\` always evaluated true even when \`nRefs\`
was zero on entry.
Fix by assigning the store result to \`value\` and falling through to
the existing prefix/postfix selector, mirroring the non-bitfield path.
Found via the SPEC CPU 2026 abc_r benchmark: \`Cnf_ManScanMapping_rec\`
uses \`if (pObj->nRefs++)\` on a 26-bit bitfield to detect
already-visited AIG nodes. With the bug, every call returned true
(already visited) immediately, producing an empty CNF mapping and a
spuriously satisfiable SAT problem (133 variables instead of 3018).
Commit: 4f55655a932133fe49a8fb0e3e1f622f2ead66a3
https://github.com/llvm/llvm-project/commit/4f55655a932133fe49a8fb0e3e1f622f2ead66a3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.h
Log Message:
-----------
[flang][OpenMP] Remove unused variable 'noWaitClauseNotAllowedSet', NFC (#203973)
Commit: 68fb2e72f9d214cdead44046d3199856ad5d620a
https://github.com/llvm/llvm-project/commit/68fb2e72f9d214cdead44046d3199856ad5d620a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/PowerPC/insertvalue-with-copyable-args.ll
Log Message:
-----------
[SLP] Fix insert point for insertvalue buildvector with copyable operands
Use the last insertvalue as the insert point (like insertelement) so the
vec2struct store/load are not emitted before the vectorized operand.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/203994
Commit: 0c8725f49c068c4c77a3043fd90b4e234ceb51ae
https://github.com/llvm/llvm-project/commit/0c8725f49c068c4c77a3043fd90b4e234ceb51ae
Author: David Green <david.green at arm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
Log Message:
-----------
[AArch64] Add scalable i128 costmodel test coverage. NFC (#203996)
This also adds some basic sub costs, similar to the others, and sorts
the
operations into a more standard order.
Commit: e52cad045fee84bec1d2ca589e34c1341ba5e051
https://github.com/llvm/llvm-project/commit/e52cad045fee84bec1d2ca589e34c1341ba5e051
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCRecipeMaterialization.cpp
M mlir/test/Dialect/OpenACC/acc-recipe-materialization-firstprivate.mlir
M mlir/test/Dialect/OpenACC/acc-recipe-materialization-private.mlir
Log Message:
-----------
[ACCRecipeMaterialization] add tests for private/firstprivate destroy (#203990)
While working on #203935, I noticed that private and firstprivate
recipes with destroy regions were not tested. Add these tests and fix a
bug from the previous commit that would have been caught had these tests
been fixed by generating the destroy region at the correct insertion
point
Commit: 088e3c7932c960dc898e0680b6842f843a81b033
https://github.com/llvm/llvm-project/commit/088e3c7932c960dc898e0680b6842f843a81b033
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-linux.c
Log Message:
-----------
[Hexagon] Skip CRT start files for relocatable (-r) links on musl (#201262)
Guard the dynamic-linker, crt1.o, and crti.o additions with OPT_r,
consistent with Gnu.cpp and the existing -pie suppression in this file.
CRT start files must not appear in partial links (-r) as they define
_start, causing duplicate-symbol errors when the output is later linked
into an executable.
Commit: d58b5a98b643bd58818e7d470b8a9d2bbf578cb1
https://github.com/llvm/llvm-project/commit/d58b5a98b643bd58818e7d470b8a9d2bbf578cb1
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Log Message:
-----------
[AMDGPU] Guard against opsel selection in V_PK_*64 (#203986)
These instructions do not have OPSEL or ABS so bail on selection.
This does not affect any tests now because v2f64/v2i64 are not legal
for BUILD_VECTOR and alike, but if it is legal it will silently
produce incorrect code. GlobalISel already has this guard.
Commit: cfae8adfdd5e9d21d9273ab1467aac909b5c34ad
https://github.com/llvm/llvm-project/commit/cfae8adfdd5e9d21d9273ab1467aac909b5c34ad
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Decouple LLDB_EXPORT_ALL_SYMBOLS from dynamic interpreters (#203997)
With #201392, we generate a minimal export list when LLDB_ENABLE_
DYNAMIC_SCRIPTINTERPRETERS is set. We therefore no longer need to force
LLDB_EXPORT_ALL_SYMBOLS.
This PR makes the two options independent again. LLDB_EXPORT_ALL_SYMBOLS
now defaults to OFF and, when set, is honored regardless of whether the
script interpreters are built as static or dynamic libraries. otherwise,
when disabled, liblldb exports the generated subset if dynamic
interpreters are enabled, otherwise only the public lldb namespace.
Commit: 96f1b89a90613b16f4b9346b60dd81038cb8d86d
https://github.com/llvm/llvm-project/commit/96f1b89a90613b16f4b9346b60dd81038cb8d86d
Author: lntue <lntue at google.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[llvm] Add floating point exception status for APFloat's exp function. (#203066)
- Add extra Status return parameter for possible float point exceptions.
- Use `LIBC_NAMESPACE::shared::check::exp_exceptions(x, rm)` to test for
floating point exceptions.
- Change `exp` return type to `std::optional<APFloat>` to avoid
`llvm_unreachable` and be able to tell other callers like clang's
`ExprConstant` about currently unsupported types and rounding modes.
Commit: 559fbb0874bfa21edc2b4988ecc1121956902b71
https://github.com/llvm/llvm-project/commit/559fbb0874bfa21edc2b4988ecc1121956902b71
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/masked-stores.ll
Log Message:
-----------
[SLP][NFC]Add a test with masked stores, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/204004
Commit: 97009b92110afed2459aaf183b50cfaefcfdc786
https://github.com/llvm/llvm-project/commit/97009b92110afed2459aaf183b50cfaefcfdc786
Author: Ege Beysel <beysel at roofline.ai>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[mlir][affine] Fix crash in `SplitDelinearizeSpanningLastLinearizeArg` (#201879)
`SplitDelinearizeSpanningLastLinearizeArg` reads the last element of the
source `affine.linearize_index`'s static basis via
`linearizeOp.getStaticBasis().back()` without checking that the basis is
non-empty.
Other canonicalization patterns can legitimately create an
`affine.linearize_index` with no inputs (and therefore an empty basis):
`CancelDelinearizeOfLinearizeDisjointExactTail` peels the matched
trailing
basis off both the linearize and the delinearize, and when every
linearize
input is part of the matched tail the rewritten linearize is left with
no
inputs. When the resulting delinearize is then visited by
`SplitDelinearizeSpanningLastLinearizeArg`, `.back()` is called on an
empty
`ArrayRef`, tripping the `assert(!empty())` in `ArrayRef::back()` (or
reading
out of bounds in a no-assertions build).
A linearize with no inputs is the constant zero and is not splittable,
so
bail out of the pattern when the basis is empty. The empty linearize is
folded away to a constant by its own folder on a later iteration.
Fixes a crash reachable from `-canonicalize`.
Assisted-by: Claude Code
---------
Signed-off-by: Ege Beysel <beyselege at gmail.com>
Co-authored-by: Artem Gindinson <gindinson at roofline.ai>
Commit: 1c3cc8460d9ca24ccb022555993e48b5566f5901
https://github.com/llvm/llvm-project/commit/1c3cc8460d9ca24ccb022555993e48b5566f5901
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/test/API/macosx/riscv32-corefile/TestRV32MachOCorefile.py
M lldb/test/API/macosx/riscv32-corefile/riscv32-registers.yaml
M lldb/tools/yaml2macho-core/CoreSpec.cpp
M lldb/tools/yaml2macho-core/CoreSpec.h
M lldb/tools/yaml2macho-core/MemoryWriter.cpp
M lldb/tools/yaml2macho-core/Utility.cpp
M lldb/tools/yaml2macho-core/Utility.h
Log Message:
-----------
[lldb] Enforce that ArchDefaultUnwindPlans declare other regs unfetch (#203684)
I noticed a few of the ABI plugins were not setting
UnspecifiedRegistersAreUndefined()==true in their UnwindPlan rows. This
prevents the unwind engine from trying to fetch registers from any newer
stack frames.
The arch default unwind plans are used by lldb when it doesn't have any
accurate information about the registers a function has spilled to
stack, or where -- it only knows enough to continue walking the stack,
assuming all the functions have stored the caller's pc & fp to stack. It
is the last-ditch fallback when we backtrace through no-symbol /
no-unwind info code.
Normally when the unwind engine does not see a non-volatile aka
callee-preserved register mentioned in an UnwindPlan, that means this
function did not save the register to stack, it left the reg contents
unmodified. So if we are looking for x12 in frame 3, and frame 2 doesn't
mention x12 in its UnwindPlan, we will look in frame 1 to see if it
spilled x12 to stack. If not, then we look at frame 0 and if it also
hasn't spilled it, we copy the x12 value from the live register context
and use it in frame 3.
Arch default unwind plans are dangerous if they allow this to happen
because we don't know if a stack frame saved a register to stack and
then changed the value in the register. It's unsafe for us to make any
assumptions about any register not explicitly listed in the UnwindPlan.
I added debug-build asserts for all uses of an ArchDefaultUnwindPlan to
enforce this and catch any future introductions of the mistake. Very
easy to do unintentionally in new ABIs.
Commit: 23a60f15f2fcafcf67b95b0a035053579958b732
https://github.com/llvm/llvm-project/commit/23a60f15f2fcafcf67b95b0a035053579958b732
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/shared/math.h
A libc/shared/math/cbrtf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cbrtf16.h
M libc/src/math/CMakeLists.txt
A libc/src/math/cbrtf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cbrtf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cbrtf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cbrtf16_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Implement higher math function `cbrtf16` in LLVM libc (#132484)
This PR implements `cbrtf16` for half precision float (`float16`).
Closes #132199.
---------
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: c2047f919e7549c2853b609b4cbef9d0adb9c3af
https://github.com/llvm/llvm-project/commit/c2047f919e7549c2853b609b4cbef9d0adb9c3af
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/modular-format.ll
Log Message:
-----------
[LLVM] Fix vprintf modular format with constant format string (#203422)
The vprintf family of functions cannot readily have their arguments
scanned for type, but this isn't an obstacle when the format string is a
known constant. This change only requires argument examination as a
fallback when the format string is unknown.
Generated by Gemini; edited and reviewed by hand.
Commit: 2c4b18b57edbe73fcdea5eced7d21571695dfe66
https://github.com/llvm/llvm-project/commit/2c4b18b57edbe73fcdea5eced7d21571695dfe66
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 96f1b89 (#204010)
This fixes 96f1b89a90613b16f4b9346b60dd81038cb8d86d.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 41a6f5de9995eb1af027f8f942322366f06027e1
https://github.com/llvm/llvm-project/commit/41a6f5de9995eb1af027f8f942322366f06027e1
Author: yueshe <yueshe at google.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/CMakeLists.txt
Log Message:
-----------
[clang][CMake][Darwin] Make HOST_LINK_VERSION a CACHE option on Darwin (#203917)
This allows specifying a fixed host linker version during Clang
configuration (e.g. -DHOST_LINK_VERSION=1249), bypassing the default
auto-detection. This is useful for hermetic packaging scripts where the
auto-detected host linker might differ from the intended target linker,
and we do not want certain features to be enabled that depends on the
host linker version -- e.g.
https://github.com/llvm/llvm-project/issues/203385
Commit: 70a796cb30aca7ceed507c3f83baace5067bfbf9
https://github.com/llvm/llvm-project/commit/70a796cb30aca7ceed507c3f83baace5067bfbf9
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Object/DXContainer.cpp
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib-compute.yaml
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib.yaml
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib-compute.yaml
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib.yaml
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX][ObjectYAML] Fix SRCI round-trip tests that use zlib compression (#202479)
Size of zlib-compressed SRCI part content may vary depending on Zlib
version. Therefore, round-trip yaml2obj/obj2yaml tests for SRCI part of
DXContainer should not rely on Contents section size.
Since part size field is not optional, SRCI part sizes in tests were
slightly increased to adopt to possible Contents section size change.
`Size field in SRCI header does not match SRCI part size` check is
relaxed to allow parsing such DXContainers (where actual SRCI part size
is smaller than allocated part size).
Commit: 8a9abd94da3cfd0d3ee1e489569fc07bf10b895d
https://github.com/llvm/llvm-project/commit/8a9abd94da3cfd0d3ee1e489569fc07bf10b895d
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/test/API/macosx/riscv32-corefile/TestRV32MachOCorefile.py
Log Message:
-----------
[lldb] Add skipIfRemote to TestRV32MachOCorefile (#204022)
I'm getting a failure on the lldb-remote-linux-ubuntu bot, but the
ubuntu native bot works fine. The failure is a little difficult to
understand;
```
FAIL: LLDB (/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/bin/clang-aarch64) :: test_riscv32_gpr_corefile_registers (TestRV32MachOCorefile.TestRV32MachOCorefile.test_riscv32_gpr_corefile_registers)
Log Files:
- /home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/build/lldb-test-build.noindex/macosx/riscv32-corefile/TestRV32MachOCorefile/Failure_test_riscv32_gpr_corefile_registers.log
======================================================================
FAIL: test_riscv32_gpr_corefile_registers (TestRV32MachOCorefile.TestRV32MachOCorefile.test_riscv32_gpr_corefile_registers)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 544, in wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/macosx/riscv32-corefile/TestRV32MachOCorefile.py", line 28, in test_riscv32_gpr_corefile_registers
self.assertEqual(thread.GetNumFrames(), 2)
AssertionError: 1 != 2
```
So it's got _a_ corefile, is it possible a corefile from a previous run
is still being used on the remote tester system, from when this corefile
only had 1 frame? I'm not sure.
Commit: b6888f0b0873eaff7ce148c10960c24d50ef50df
https://github.com/llvm/llvm-project/commit/b6888f0b0873eaff7ce148c10960c24d50ef50df
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
Log Message:
-----------
[lldb] Make DYNAMIC_SCRIPTINTERPRETERS the default on Darwin & FreeBSD. (#204015)
Make `LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS` the default on Darwin and
FreeBSD. We can opt-in more platforms later, or even make this the
global default (except Windows, which doesn't need it).
Fixes #183791
Commit: 12b807ead6c7cf0088278e70d79d72607d9b084a
https://github.com/llvm/llvm-project/commit/12b807ead6c7cf0088278e70d79d72607d9b084a
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port 63c9264c770b (#204034)
Commit: 86c073af08bac41fe0349eee2bc0279e5f88d6d9
https://github.com/llvm/llvm-project/commit/86c073af08bac41fe0349eee2bc0279e5f88d6d9
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 7dc09d0d3cf1 (#204035)
Commit: 2d95de04c94dc28ab1a638448cbe830011b8b12d
https://github.com/llvm/llvm-project/commit/2d95de04c94dc28ab1a638448cbe830011b8b12d
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/tools/llvm-shlib/gen-msvc-exports.py
Log Message:
-----------
[llvm-shlib] Fix parallel build failure in gen-msvc-exports.py on Windows (#197190)
The script was failing with OSError [Errno 22] Invalid argument when
opening a temp file during parallel Windows builds. The root cause is
that mkstemp() creates and closes a file descriptor, then the script
re-opens it by path in a loop. On Windows, between the close and
re-open, antivirus software or filesystem contention from parallel
build processes can briefly lock the file, causing the subsequent
open() to fail with EINVAL.
Fix by replacing the temp-file-based approach with
subprocess.check_output(), which captures nm's stdout directly in
memory. This eliminates the temp file entirely, removing the race
condition and simplifying the code (removing the unused mkstemp,
contextmanager, and os imports along with the helper functions).
Commit: 8d61da2569a975346150371cb0d317fb9339be0c
https://github.com/llvm/llvm-project/commit/8d61da2569a975346150371cb0d317fb9339be0c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/test/API/macosx/riscv32-corefile/TestRV32MachOCorefile.py
Log Message:
-----------
[lldb] Only run rv32 corefile test if rv32 llvm target enabled (#204040)
Commit: 78d0ee8b5f66a3b6c214d23136aba63d82fcbdfa
https://github.com/llvm/llvm-project/commit/78d0ee8b5f66a3b6c214d23136aba63d82fcbdfa
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Add VPlan::getPoison helper. NFC (#203937)
We do this in a few places, so this adds a helper similar to
getTrue/getConstantInt and friends.
Commit: 1eae7ef75b01199f317b2be22f0d95cb3ef8658e
https://github.com/llvm/llvm-project/commit/1eae7ef75b01199f317b2be22f0d95cb3ef8658e
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
Log Message:
-----------
[AMDGPU] Update f8f6f4-wmma hazard tests regarding matrix format, NFC (#204037)
Need to map the matrix format suffix to the register size correctly in
the MIR tests. For example, 'F4' format needs v8i32 register class.
Commit: 4281db2755459933c68aa95a17f2518ef8317889
https://github.com/llvm/llvm-project/commit/4281db2755459933c68aa95a17f2518ef8317889
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[SPIRV] Replace unordered_{map,set} with DenseMap/SmallPtrSet (#204046)
Extracted from #202222
Commit: 17db41c33e46dae9ecaea3a5b75fb4aba156dced
https://github.com/llvm/llvm-project/commit/17db41c33e46dae9ecaea3a5b75fb4aba156dced
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
Log Message:
-----------
[RISCV] Add scheduling data to vdot4aus.vx (#204038)
Remove unnecessary mayLoad, mayStore, hasSideEffects
Commit: dab3476bb4ee2696539841b220687e94ea7f0ae0
https://github.com/llvm/llvm-project/commit/dab3476bb4ee2696539841b220687e94ea7f0ae0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[RISCV] Consider known leading zeros in narrowIndex for gather/scatter. (#203970)
If there are enough leading zeros for the shift amount, then
we can do the shift in the narrow type.
Commit: 1f3d3d66fce8a53d9ed405ee1aba10b3d1fe3677
https://github.com/llvm/llvm-project/commit/1f3d3d66fce8a53d9ed405ee1aba10b3d1fe3677
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/include/flang/Lower/OpenMP.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/symbol.cpp
R flang/test/Lower/OpenMP/Todo/groupprivate.f90
A flang/test/Lower/OpenMP/groupprivate-modfile.f90
A flang/test/Lower/OpenMP/groupprivate.f90
Log Message:
-----------
[flang][mlir] Add flang to mlir lowering for groupprivate (#180934)
This PR implements the Flang frontend lowering for the OpenMP
`groupprivate`
Changes:
- Update genOMP handler for OpenMPGroupprivate in OpenMP.cpp to generate
`omp.groupprivate` MLIR operation.
- Add clause processing for groupprivate variables
- Add test cases for groupprivate lowering
Co-Authored-By: Claude
[noreply at anthropic.com](mailto:noreply at anthropic.com)
Commit: 2cb8b6192d1a0ba93902ac9ee5067db0c3765ebd
https://github.com/llvm/llvm-project/commit/2cb8b6192d1a0ba93902ac9ee5067db0c3765ebd
Author: Weibo He <NewSigma at 163.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
Log Message:
-----------
[TTI] Add missing no-cost coroutine intrinsics (#203816)
These intrinsics are lowered in the CoroCleanup pass and don't represent
actual code. This patch adds them to the no-cost list so they do not
contribute to the cost of inlining and optimization.
Commit: 96e45c54c04c5deb29e8d778a8096735f8b4daee
https://github.com/llvm/llvm-project/commit/96e45c54c04c5deb29e8d778a8096735f8b4daee
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/SCCIterator.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.h
M llvm/tools/llvm-profgen/ProfiledBinary.h
Log Message:
-----------
[llvm] Replace unordered_set<T *> with SmallPtrSet<T *, 0> (#204051)
std::unordered_set is slow. For pointer sets without a pointer-stability
or iterator-stability requirement, use SmallPtrSet<T *, 0> for a smaller
code size.
Commit: fa5d8f8c41dfc0fa5f25f094168ca64e7681115b
https://github.com/llvm/llvm-project/commit/fa5d8f8c41dfc0fa5f25f094168ca64e7681115b
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/keep-data-section-prefix.s
M lld/test/ELF/linkerscript/data-segment-relro.test
M lld/test/ELF/relro-non-contiguous-script-data.s
M lld/test/ELF/relro-non-contiguous.s
Log Message:
-----------
[ELF] Support multiple PT_GNU_RELRO when SECTIONS is used without PHDRS (#203675)
When a SECTIONS command interleaves relro and non-relro sections, the
relro
region is split into discontiguous runs. lld emits an error since
https://reviews.llvm.org/D40359
error: section: <name> is not contiguous with other relro sections
This is overly strict: while glibc only honors the first PT_GNU_RELRO,
other loaders (e.g. Bionic and FreeBSD rtld-elf) protect every
PT_GNU_RELRO segment.
Emit one PT_GNU_RELRO segment for each contiguous run of relro sections.
Track the boundary section so that `createPhdrs` starts a fresh PT_LOAD
at each relro->non-relro transition, as before.
Consumers that don't expect multiple PT_GNU_RELRO should check the
output themselves.
Commit: 6548844b972f87816bac56f9921363a890b96b88
https://github.com/llvm/llvm-project/commit/6548844b972f87816bac56f9921363a890b96b88
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
M llvm/lib/DebugInfo/PDB/PDBSymbolFunc.cpp
M llvm/lib/IR/PrintPasses.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/tools/llvm-config/llvm-config.cpp
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/tools/llvm-readobj/ObjDumper.h
Log Message:
-----------
[llvm] Replace unordered_set<std::string> with StringSet (#204048)
std::unordered_set<std::string> without a pointer-stability requirement
can use StringSet: it avoids per-TU hashtable instantiations and the
std::string temporary at StringRef lookup sites (~3-4 KiB smaller .text
for llc/opt).
Commit: 08834adcae88734e92359941c594c2ef6474c817
https://github.com/llvm/llvm-project/commit/08834adcae88734e92359941c594c2ef6474c817
Author: owenca <owenpiano at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in merging short inline functions (#203754)
Fixes #203209
Commit: 089d0632a7dcc832cfe9dfeb55a9ab9458623957
https://github.com/llvm/llvm-project/commit/089d0632a7dcc832cfe9dfeb55a9ab9458623957
Author: owenca <owenpiano at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format][NFC] Don't always rebuild clang-format-check-format (#203828)
Instead, check the format of clan-format source only if the built
clang-format binary or one of the source files is newer.
Commit: 18cc9aa9c92be7d89d3e0877e7148782c14fd05a
https://github.com/llvm/llvm-project/commit/18cc9aa9c92be7d89d3e0877e7148782c14fd05a
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A mlir/include/mlir/Conversion/EmitCCommon/TypeConverter.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitCPass.cpp
M mlir/lib/Conversion/ArithToEmitC/CMakeLists.txt
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
A mlir/lib/Conversion/EmitCCommon/CMakeLists.txt
A mlir/lib/Conversion/EmitCCommon/TypeConverter.cpp
M mlir/lib/Conversion/FuncToEmitC/CMakeLists.txt
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/MemRefToEmitC/CMakeLists.txt
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Add a common type converter (#203763)
MemRef type conversion is currently implemented as part of the memref
dialect lowering pass, which means e.g. that func-to-emitc cannot lower
functions taking MemRef types as arguments.
This patch refactors the existing type conversions in EmitC's lowering
passes into a structure similar to the LLVM dialect by adding a common
EmitC type converter and using it across dialect-specfic EmitC lowering
passes and the generic convert-to-emitc pass.
Assisted-by: Copilot
Commit: ec802a731798096cc44b8f56c76a4baf0a01d4bd
https://github.com/llvm/llvm-project/commit/ec802a731798096cc44b8f56c76a4baf0a01d4bd
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_winsize.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_winsize.h
M libc/include/sys/ioctl.yaml
M libc/test/src/sys/ioctl/linux/CMakeLists.txt
M libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
[libc] Add TIOCGWINSZ and struct winsize support (#203919)
Added support for the TIOCGWINSZ ioctl command.
* Defined struct winsize in llvm-libc-types.
* Defined TIOCGWINSZ in linux/sys-ioctl-macros.h.
* Exposed struct_winsize and TIOCGWINSZ in sys/ioctl.yaml.
* Added struct_winsize proxy header in hdr/types/struct_winsize.h.
* Added a unit test in test/src/sys/ioctl/linux/ioctl_test.cpp.
Assisted-by: Automated tooling, human reviewed.
Commit: 639b1d9ce45526f1ed53208f55442438d1b226c7
https://github.com/llvm/llvm-project/commit/639b1d9ce45526f1ed53208f55442438d1b226c7
Author: hev <wangrui at loongson.cn>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-pcadd-hi20.s
Log Message:
-----------
[lld][LoongArch] Fix range checking of R_LARCH_*_PCADD_HI20 relocations on 64-bit (#183233)
According to the la-abi-specs, the `R_LARCH_*_PCADD_HI20` relocations
are also used on 64-bit LoongArch. Fix the range checking accordingly.
Commit: 0a04c148c14f190f46ac3b3711dccb823cb822d2
https://github.com/llvm/llvm-project/commit/0a04c148c14f190f46ac3b3711dccb823cb822d2
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Analysis.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
M llvm/tools/llvm-exegesis/lib/RegisterAliasing.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-profgen/MissingFrameInferrer.cpp
M llvm/tools/llvm-profgen/MissingFrameInferrer.h
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/tools/llvm-remarkutil/RemarkUtilRegistry.cpp
M llvm/tools/llvm-xray/xray-registry.cpp
Log Message:
-----------
[llvm] Replace unordered_{map,set} with Dense{Map,Set} in llvm tools (#204058)
std::unordered_map is slow. Switch the remaining local maps and sets in
the command-line tools (llvm-profgen, llvm-profdata, llvm-objdump,
llvm-exegesis, llvm-xray, llvm-remarkutil) to DenseMap/DenseSet.
Commit: ccef34d45ae1ec28c129612a53f24b0e160912aa
https://github.com/llvm/llvm-project/commit/ccef34d45ae1ec28c129612a53f24b0e160912aa
Author: Luke Lau <luke at igalia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
A llvm/test/Transforms/LoopVectorize/VPlan/simplify-reverse-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-known-true.ll
Log Message:
-----------
[VPlan] Simplify reverse(reverse(x)) -> x (#199057)
This is a version of #196900 that performs the simplification as a
separate transform.
We need to add an additional `vp.splice.right(vp.splice.left(poison, x,
evl), poison, evl) -> x` simplification to avoid left over splices
whenever reverses are removed in an EVL tail folded loop.
Co-authored-by: Madhur Amilkanthwar <madhura at nvidia.com>
Commit: f88e9de37a52abf9b269a7232bf4d4028bc4ace8
https://github.com/llvm/llvm-project/commit/f88e9de37a52abf9b269a7232bf4d4028bc4ace8
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-06-15 (Mon, 15 Jun 2026)
Changed paths:
M libc/lib/CMakeLists.txt
Log Message:
-----------
[libc] Generate a stub for libpthread.a (#200908)
Several build systems / existing scripts assume that pthread functions
are exposed through separate library (`libpthread.so` / `libpthread.a`)
and thus use `-lpthread` flag explicitly. Since llvm-libc puts all the
pthread functions into the regular `libc`, teach the CMake build rules
to produce an empty static archive `libpthread.a` for compatibility
purposes.
Commit: 2e36f066212d134bd2e249fb280a1112edd9c50c
https://github.com/llvm/llvm-project/commit/2e36f066212d134bd2e249fb280a1112edd9c50c
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A clang-tools-extra/test/clang-tidy/infrastructure/cli-argument-errors.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/config-file-parse-errors.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/config-option-errors.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/export-fixes-errors.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/list-checks-no-checks.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/vfsoverlay-errors.cpp
Log Message:
-----------
[clang-tidy][NFC] Add more test coverage for tidy errors (#203987)
Commit: 9d7ca445a565f86316ced8b2711dd73f2f5d4226
https://github.com/llvm/llvm-project/commit/9d7ca445a565f86316ced8b2711dd73f2f5d4226
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/test/CodeGen/AMDGPU/misched-into-wmma-hazard-shadow.mir
Log Message:
-----------
[AMDGPU] Track VALU instructions separately for WMMA coexecution hazards (#202523)
WMMA coexecution hazards can only be resolved by VALU instructions, not
S_NOPs. Track VALU/WMMA instructions separately so the scheduler can
accurately determine stall cycles.
Commit: e13bb91295cdd403323ed6dc5fa2bb79c348f9c9
https://github.com/llvm/llvm-project/commit/e13bb91295cdd403323ed6dc5fa2bb79c348f9c9
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
Log Message:
-----------
[AArch64] Reserve `W30_HI` and `[BHSDQ]31_HI` (#202929)
Commit: 161d8a7806b7b7388343beb56e1de62905c7b229
https://github.com/llvm/llvm-project/commit/161d8a7806b7b7388343beb56e1de62905c7b229
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
Log Message:
-----------
[clangd][nfc] Avoid type erasure for local recursive callbacks (#203042)
Four local clangd callbacks use std::function only to call themselves.
Switch to local structs and static functions to avoid std::function
type-erasure and copy-support machinery.
In matched Release AArch64 builds, the four object files shrink by 8,152
bytes and 131 relocations; linked clangd shrinks by 3,872 bytes
unstripped and 16 bytes stripped, with __text down 360 bytes,
__DATA_CONST,__const down 208 bytes, unwind data down 32 bytes, and 21
fewer dyld fixups.
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 1338c5cb84e9e93c3438d1945dcad88a1641fa9c
https://github.com/llvm/llvm-project/commit/1338c5cb84e9e93c3438d1945dcad88a1641fa9c
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/inline-memset-forced.mir
A llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memset.mir
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-memset-inline.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memsetinline.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.inline.ll
A llvm/test/CodeGen/Mips/GlobalISel/mips-prelegalizer-combiner/inline-memset.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-memset-inline.mir
A llvm/test/CodeGen/RISCV/GlobalISel/memset-inline.ll
Log Message:
-----------
[GlobalISel] Implement `llvm.memset.inline` (#203198)
Commit: 4ae4a15e5a7eb553408e745035f3aa9498b9243d
https://github.com/llvm/llvm-project/commit/4ae4a15e5a7eb553408e745035f3aa9498b9243d
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
R clang-tools-extra/test/clang-tidy/infrastructure/cli-argument-errors.cpp
R clang-tools-extra/test/clang-tidy/infrastructure/config-file-parse-errors.cpp
R clang-tools-extra/test/clang-tidy/infrastructure/config-option-errors.cpp
R clang-tools-extra/test/clang-tidy/infrastructure/export-fixes-errors.cpp
R clang-tools-extra/test/clang-tidy/infrastructure/list-checks-no-checks.cpp
R clang-tools-extra/test/clang-tidy/infrastructure/vfsoverlay-errors.cpp
Log Message:
-----------
Revert "[clang-tidy][NFC] Add more test coverage for tidy errors" (#204073)
Reverts llvm/llvm-project#203987
Commit: fe51b83df33e49f02871bed57408aed09022ad6c
https://github.com/llvm/llvm-project/commit/fe51b83df33e49f02871bed57408aed09022ad6c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
Log Message:
-----------
[Test] Remove test creating invalid assume operand bundles (#203945)
This was creating random assume operand bundles, using unsupported
attributes, and using invalid arguments for supported ones.
Rather than trying to salvage this test, delete it and the API it tests.
Commit: 2487cb005bb108a4659d84ae1cccfce457e25aae
https://github.com/llvm/llvm-project/commit/2487cb005bb108a4659d84ae1cccfce457e25aae
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/EvaluationResult.h
Log Message:
-----------
[clang][bytecode] Rename checkReturnValue to checkDynamicAllocations (#204064)
This is part of https://github.com/llvm/llvm-project/pull/186045, but
makes sense independently.
Commit: e675b9fbf06045e246b030789b13e3b794d5e4aa
https://github.com/llvm/llvm-project/commit/e675b9fbf06045e246b030789b13e3b794d5e4aa
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/compare.ll
Log Message:
-----------
[InstSimplify] Consider `dereferenceable(N)` when simplifying pointer equalities (#203867)
Extend `computePointerICmp` to leverage `dereferenceable(N)` attribute
when simplifying pointer equality comparisons. Per attribute semantics,
an argument pointer marked as such cannot be a one-past-the-end pointer
to some object, thus it cannot equal the start of an adjacent object.
This lets us prove inequality between a `dereferenceable` argument and
storage allocated within the function.
Fixes: https://github.com/llvm/llvm-project/issues/200511.
Commit: 587e029b6b697764a89b7d7e0ccef6fe21025109
https://github.com/llvm/llvm-project/commit/587e029b6b697764a89b7d7e0ccef6fe21025109
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
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/InterpState.h
Log Message:
-----------
[clang][bytecode] Remove InterpState::InitializingBlocks (#204054)
This was superseded by `InitializingPtrs` when implementing
`dynamic_cast`, so we can now remove `InitializingBlocks`.
Commit: d87350127163aab4bb710d284e4d0ca97d2652f9
https://github.com/llvm/llvm-project/commit/d87350127163aab4bb710d284e4d0ca97d2652f9
Author: Zhiheng Xie <xiezhiheng at huawei.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A clang/test/Driver/aarch64-hip12.c
A clang/test/Driver/print-enabled-extensions/aarch64-hip12.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/unittests/Target/AArch64/AArch64CacheLineSizeTest.cpp
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add initial support for Hisilicon's hip12 core (#203446)
This patch adds initial support for Hisilicon's hip12 core (Kunpeng 950
processor).
For more information, see:
https://www.huawei.com/en/news/2025/9/hc-xu-keynote-speech
HIP12Model will come later.
Commit: 0560140193afa4ce3e55e893d0528ed1772dc894
https://github.com/llvm/llvm-project/commit/0560140193afa4ce3e55e893d0528ed1772dc894
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Transforms/MemoryUtils.cpp
A flang/test/Fir/memory-allocation-opt-do-concurrent.fir
Log Message:
-----------
[flang][MemoryAllocation] do not assume all blocks have terminators (#203902)
Update MemoryAllocation to cope with blocks without terminators.
`getTerminator` cannot be called when a block has no terminator and must
be guarded by `mightHaveTerminator`.
This case was hit for instance for alloca inside fir.do_concurrent.loop.
Add handling for single block regions with no terminators (which is the
case of `fir.do_concurrent.loop` and most regions without terminators).
The deallocation point can simply be placed at the end of the block in
such cases. For regions with several blocks and no terminators, the pass
will leave the alloca (no known operation used in flang with such
behavior).
Also add `AutomaticAllocationScope` to the `fir.do_concurrent.loop`
since each iteration is independent and owns its allocas (otherwise the
pass would create allocmem outside of the loops).
Commit: 0b1cb30cfac94eda10b0730d48f6de68c6993d91
https://github.com/llvm/llvm-project/commit/0b1cb30cfac94eda10b0730d48f6de68c6993d91
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
Log Message:
-----------
[clang][bytecode] Refactor collectBlocks() (#204062)
If the record has no pointer field, return from the function completely.
Commit: 541344270fb67fc791f0231bab4fbd716c7594e2
https://github.com/llvm/llvm-project/commit/541344270fb67fc791f0231bab4fbd716c7594e2
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
A llvm/test/Transforms/DFAJumpThreading/single-block-defs.ll
Log Message:
-----------
[DFAJumpThreading] Do not thread over blocks with multiple phi definitions (#195512)
Fixes #195088
For the reduced case in the issue, there are 4 threading paths:
```
< then, case2, lbl_entry, switch_bb > [ 0, case2 ]
< case2, lbl_entry, switch_bb > [ 0, case2 ]
< then, case2, switch_bb > [ 1, case2 ]
< case2, switch_bb > [ 0, case2 ]
```
But the first path and the third path have a conflict: `then->case2`
cannot be diverged into `then->case2.0` and `then->case2.1` at the same
time, as jumping from `then` to `case2` does not really define a unique
exiting state. Multiple phi definition causes two exiting states (0 and
1) for `then->case2`.
The root cause is that the block with multiple definitions cannot be
regarded as a determinator.
Commit: a52195cc00f035eb43b1a18d257e39fe1b6272b7
https://github.com/llvm/llvm-project/commit/a52195cc00f035eb43b1a18d257e39fe1b6272b7
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
[MC] Remove unused MCAsmInfo::usesDwarfFileAndLocDirectives and parameter. NFC (#204071)
Commit: 46af61a1236e7f1af155efac12eaa5155b0799e7
https://github.com/llvm/llvm-project/commit/46af61a1236e7f1af155efac12eaa5155b0799e7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/guards.ll
Log Message:
-----------
[JumpThreading] Use context when checking speculatability (#203912)
Pass the terminator of the predecessor as context instruction when
checking for load speculatability. This needs to be done per
(unavailable) predecessor now, because the context is different. Cache
the guaranteed-to-transfer walk between checks, as that part if always
the same.
JumpThreading doesn't use AssumptionCache currently, so I believe this
is only observable under -use-dereferenceable-at-point-semantics. Adjust
the tests to drop nofree attributes that currently hide this issue with
the option enabled.
Commit: 8be07cf0c05bf1dda7c2e5d2eb58927605fa3f9e
https://github.com/llvm/llvm-project/commit/8be07cf0c05bf1dda7c2e5d2eb58927605fa3f9e
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/MacroFusion.cpp
A llvm/test/CodeGen/AArch64/misched-fusion-no-raw-dependency.mir
Log Message:
-----------
[MacroFusion] Restrict pairs to have SDep::Data dependency only (#203793)
This patch aims to restrict target independent macro fusion to
SDep::Data dependent paris only. The test demonstrates the case that has
driven this patch - 2 instructions are being wrongly macro fused by an
Artificial edge, without being RAW dependent. Currently macro fusion do
not really require a more relaxed constraint ike it has today. If this
is invalidated in the future, we can solve it later e.g. by adding a
hook.
Commit: 3503a1c868f27a925ec2714bc18174eb73303505
https://github.com/llvm/llvm-project/commit/3503a1c868f27a925ec2714bc18174eb73303505
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Not all bases compare equal (#204052)
Add the base class offset so they don't all compare equal.
Commit: ff5844c6687141f73a2437d2e0a0c97e462ea092
https://github.com/llvm/llvm-project/commit/ff5844c6687141f73a2437d2e0a0c97e462ea092
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp
M llvm/test/Transforms/DropUnnecessaryAssumes/dereferenceable.ll
Log Message:
-----------
[DropUnnecessaryAssumes] Fix iterator invalidation. (#203765)
registerAssumption() below can append to (and reallocate) the cache's
assumption vector. Use integer index for indexing instead of using the
iterator. Stop at the original count, so we don't reprocess assumes
created during the loop.
PR: https://github.com/llvm/llvm-project/pull/203765
Commit: 3b466659f6aa7b5c1960c9cc96b7f5b8ec0e9ced
https://github.com/llvm/llvm-project/commit/3b466659f6aa7b5c1960c9cc96b7f5b8ec0e9ced
Author: Peter Smith <peter.smith at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lld/ELF/ScriptParser.cpp
A lld/test/ELF/linkerscript/overlay-symbols.test
Log Message:
-----------
[LLD] Allow all output-section-commands in OVERLAYS. (#203524)
The GNU ld grammar for overlays is:
secname1
{
output-section-command
output-section-command
...
}
secname2
...
The output-section-commands are the same as in an OutputSection. At
present we have a stripped down parser that only supports
InputSectionDescriptions, this does not permit other useful commands
such as defining symbols.
Due to recent refactoring it is now simple to reuse the parser for an
Output Section command rather than using a custom one.
I came to this via a comment in #202266. There looks to have been an
attempt to fix this in #159895, but it looks abandoned after review
comments.
Fixes #158569.
Commit: 7f35a2a81d73f6e764e9603c9c538421cc6fc51e
https://github.com/llvm/llvm-project/commit/7f35a2a81d73f6e764e9603c9c538421cc6fc51e
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
A mlir/test/Dialect/EmitC/canonicalize.mlir
Log Message:
-----------
[MLIR][EmitC] Add optional pure attribute to CastOp (#202749)
In general, C++ cast expressions cannot always be assumed to be pure: they may
invoke user-defined conversions or be affected by floating-point environment
settings. However, in many practical cases, such as integer casts without
operator overloading, the cast is pure and can be treated as speculatable and
side-effect-free. For such cases, the newly added `pure` attribute may be used.
When `pure` attribute is set, `getSpeculatability()` returns `Speculatable` and
`getEffects()` reports no effects. It is UB if the `pure` attribute is set and
the actual conversion is not pure, e.g. when the user-defined conversion has
memory effects.
Commit: bd9b252264456b0cbdc824fc5836e1d43fd5b8a3
https://github.com/llvm/llvm-project/commit/bd9b252264456b0cbdc824fc5836e1d43fd5b8a3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Check record bases for dynamic allocations (#204063)
This was missing.
Commit: 44bfd7d2e6a5461efbf432944e78b78796473111
https://github.com/llvm/llvm-project/commit/44bfd7d2e6a5461efbf432944e78b78796473111
Author: Zhige Chen <zhigec_cpp at outlook.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A llvm/test/tools/llubi/assume_non_pow2_align_offset.ll
M llvm/test/tools/llubi/assume_operand_bundles.ll
A llvm/test/tools/llubi/assume_pow2_align_offset.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Update the implementation of assume align operand bundle (#203775)
This PR updates the implementation for the `"align"(ptr %p, i64 %align,
i64 %offset)` operand bundle of `@llvm.assume`: The old implementation
reduced align/offset to the largest shared power of two. But LangRef
requires checking %alloc - %offset in this case.
Commit: a9576f5edd9aa779dcf011754806e1fc7b67cb66
https://github.com/llvm/llvm-project/commit/a9576f5edd9aa779dcf011754806e1fc7b67cb66
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for pk_f64 fadd, fmul and fma (#203559)
Commit: e559d43e47e1264962831f936d1ea56d0fd3465d
https://github.com/llvm/llvm-project/commit/e559d43e47e1264962831f936d1ea56d0fd3465d
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/types-invalid.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Target/LLVMIR/Import/basic.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][LLVM] Add the `byte` type to the LLVM dialect (#203795)
This PR ports the newly added `byte` type from LLVM IR to mlir's LLVM
dialect. The simplest motivation for the byte type is being able to
implement `memcpy` in LLVM IR. This was previously not possible: Due to
rules around conversions between integers and pointers (which e.g.
implicitly happen during loads), partial-poisons and pointer provenance
were not preserved. No alterantive types to integers existed that one
could use to have poison and provenance preserving SSA-values. The byte
type solves exactly this issue. Frontends are encouraged to use it when
needed for better optimization capabilities.
Currently, the only operation that has changed semantics around `byte`
is `bitcast`. Is now allows casting between `byte` and `ptr` (unlike
integers and pointers).
Corresponding LLVM commit:
https://github.com/llvm/llvm-project/commit/80f2ef70f592
Assisted by Claude & Gemini
---------
Co-authored-by: Fabian Mora <fmora.dev at gmail.com>
Commit: 9ed8b1dff880f4000523e6cab3c726c9fb5a5b7d
https://github.com/llvm/llvm-project/commit/9ed8b1dff880f4000523e6cab3c726c9fb5a5b7d
Author: ioana ghiban <ioana.ghiban at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
A mlir/test/Dialect/Tensor/scalarize-single-elem-return.mlir
Log Message:
-----------
[MLGO][EmitC] Scalarize single-element tensor returns (#199686)
Add an EmitC-owned preparation pass,
`mlgo-scalarize-single-element-tensor-return`, that rewrites private
functions returning a statically-shaped ranked tensor with exactly one
element into functions returning the element type directly.
Assisted-by: Codex (refine implementation + tests). I reviewed all code
and tests before submission.
## Example
Before:
```mlir
func.func private @rank1(%arg0: tensor<1xi64>) -> tensor<1xi64> {
return %arg0 : tensor<1xi64>
}
```
After:
```mlir
func.func private @rank1(%arg0: tensor<1xi64>) -> i64 {
%c0 = arith.constant 0 : index
%0 = tensor.extract %arg0[%c0] : tensor<1xi64>
return %0 : i64
}
```
Rank-0 tensors are handled similarly with `tensor.extract %t[]`, which
canonicalization/constant-folding can simplify further.
## Motivation
`tosa-converter-for-flite` may produce functions that return
tensor-wrapped scalars. These values are semantically scalars, but
remain packaged as single-element tensors in function signatures. This
becomes problematic later in lowering, especially for EmitC, where such
returns eventually bufferize to MemRef arrays and fail with:
```bash
error: 'emitc.func' op cannot return array type
```
This patch fixes the issue while the IR is still in `func`/`tensor`
form, where the scalar intent remains explicit and the transform can
stay semantics-driven.
## Scope
The transform is intentionally conservative: it only handles private
definitions with one single-element ranked tensor result, and it blocks
on public callers, non-call symbol users, unsupported callers, and
recursive cycles.
## Analysis
The pass runs at `ModuleOp` scope because legality depends on transitive
private call users. It first computes module-level scalarization
analysis from a `SymbolUserMap` snapshot, then rewrites only the
precomputed rewritable functions.
## Rewrite
Each rewritten function gets tensor.extract inserted before
`func.return`, its result type is updated with `funcOp.setType(...)`,
and direct `func.call` users are adjusted.
Unchanged private callers that still need the original tensor type are
adapted with `tensor.from_elements`.
Commit: 6409cedddcbdacaf0a4b2eb953f8473b8a50b328
https://github.com/llvm/llvm-project/commit/6409cedddcbdacaf0a4b2eb953f8473b8a50b328
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIR-V] Constrain OpExtInst on the modf integral part path (#203946)
Commit: 196912c49f6ff6b22c3c40507b23263a18bae096
https://github.com/llvm/llvm-project/commit/196912c49f6ff6b22c3c40507b23263a18bae096
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[SPIR-V] Remove duplicate collectReqs call in runOnModule (NFC) (#203947)
Commit: 98bd0156821f613897ad83215e8a89bca4ef154c
https://github.com/llvm/llvm-project/commit/98bd0156821f613897ad83215e8a89bca4ef154c
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[VPlan] Recognize lshr in getSCEVExprForVPValue. (#203496)
When lshr v, const occurs and const is less than the type's bitwidth, it
can be treated as udiv v, (1 << const). This enables vectorizer to
convert more gathers into strided loads.
Pre-commit test #203488
Commit: 22bda6c4ca2aac6d90ac96edad6d099b210aa748
https://github.com/llvm/llvm-project/commit/22bda6c4ca2aac6d90ac96edad6d099b210aa748
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Add more checks around _Complex values (#204076)
Check the actual source type when converting a pointer to an rvalue. We
otherwise allow converting form a two-element primitive array.
Commit: f4c553901b4654c2e1284b69692835b3276a3fb7
https://github.com/llvm/llvm-project/commit/f4c553901b4654c2e1284b69692835b3276a3fb7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
R llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
R llvm/test/Transforms/LoopVectorize/vplan-print-after.ll
A llvm/test/Transforms/LoopVectorize/vplan-print-before-after.ll
Log Message:
-----------
[LV] Add `-vplan-print-before=<pass-regex>` (#203933)
This can be helpful for debugging and for VPlan check tests (showing
before/after a specific transform).
This also adds `-vplan-print-before-all` for parity with
`-vplan-print-after-all`.
Commit: 427807ee51e9f57296a83263385083ee024a76c8
https://github.com/llvm/llvm-project/commit/427807ee51e9f57296a83263385083ee024a76c8
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mla-one.ll
Log Message:
-----------
[AArch64][SVE] add missing instcombine x+1 -> x (#201851)
Commit: 0ad5f11500095e534e8c7392606b582a400c3c0e
https://github.com/llvm/llvm-project/commit/0ad5f11500095e534e8c7392606b582a400c3c0e
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedAdd_spv_i64.ll
Log Message:
-----------
[SPIR-V] Add Int64Atomics to Vulkan available capabilities (#203194)
fixes #202456
Commit: 798358faf4501d90e20b6ad45f138c5b660db60d
https://github.com/llvm/llvm-project/commit/798358faf4501d90e20b6ad45f138c5b660db60d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
[AMDGPU] Fix lowerFCOPYSIGN dropping the sign bit when narrowing the sign operand (#203492)
TRUNCATE of the v2i32-bitcast sign kept the low 16 bits of each lane but
dropped f32 sign bit at bit 31
Shift right by 16 first so the sign bit lands in the f16 sign position
---------
Co-authored-by: Jay Foad <jay.foad at gmail.com>
Commit: 9018242eecd9314ee43919678c3ba40c5615d375
https://github.com/llvm/llvm-project/commit/9018242eecd9314ee43919678c3ba40c5615d375
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A llvm/test/Transforms/LoopInterchange/fixed-size-no-signed-wrap.ll
Log Message:
-----------
[LoopInterchange] Add test for #200788 (NFC) (#204107)
Commit: dcc97d89ad41ac48e3a9a4eca75312d7d931c9f4
https://github.com/llvm/llvm-project/commit/dcc97d89ad41ac48e3a9a4eca75312d7d931c9f4
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/Support/CommandLine.h
Log Message:
-----------
[Support] Apply suggested ABI annotation fixup (NFC) (#204102)
Reported by the "LLVM ABI annotation checker" on a PR, but present in
main.
See: https://github.com/llvm/llvm-project/pull/203969#issuecomment-4711157875
Commit: 6e3da4d2465413884c787b0391561836e9f853ec
https://github.com/llvm/llvm-project/commit/6e3da4d2465413884c787b0391561836e9f853ec
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
A llvm/test/CodeGen/X86/machine-sink-dbg-loc.mir
Log Message:
-----------
Fix machine-sink using debug instruction source locations in merged locations (#203900)
Commit: 4af8d827f9ad2c28ab98b7404f5803a75980b43d
https://github.com/llvm/llvm-project/commit/4af8d827f9ad2c28ab98b7404f5803a75980b43d
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
Log Message:
-----------
Revert "[NVPTX] Rip out vestigial variadic support (NFC)" (#204106)
Reverts llvm/llvm-project#202385
Commit: f1ec32579d7eb370daf29f571793178b862df64c
https://github.com/llvm/llvm-project/commit/f1ec32579d7eb370daf29f571793178b862df64c
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[SelectionDAG] Fold subvector inserts into concat operands (#200937)
Push insert_subvector into the containing CONCAT_VECTORS operand when
the insertion is wholly contained there.
AI note: an LLM generated the code and the test, I've read them
Commit: b85c748c895768681b61c8047f8ff08e469408ca
https://github.com/llvm/llvm-project/commit/b85c748c895768681b61c8047f8ff08e469408ca
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
M llvm/lib/Target/Mips/MipsRegisterInfo.td
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/Mips/MipsScheduleGeneric.td
M llvm/lib/Target/Mips/MipsScheduleI6400.td
M llvm/lib/Target/Mips/MipsScheduleP5600.td
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
Log Message:
-----------
[MIPS] soft-promote `f16` also when using `+msa` (#203065)
Fixes https://github.com/llvm/llvm-project/issues/202808
Make use of the default soft-promote mechanism for f16, rather than an
ad-hoc approach making f16 storage-only.
In theory you could leave it at that, but I added custom implementations
to make use of the instructions for `FP16_TO_FP` and `FP_TO_FP16`, and
manually apply the "fptoui to fptosi trick" which generates shorter
code.
I don't really have a good way of testing this. The assembly changes
look reasonable but it's easy to miss something subtle of course. I've
tried to break the change up into smaller commits but it's still kind of
a lot.
Commit: c1ec4b3c79967ae5ef824f7194540f6529405a03
https://github.com/llvm/llvm-project/commit/c1ec4b3c79967ae5ef824f7194540f6529405a03
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/mem2reg.mlir
Log Message:
-----------
[flang][mem2reg] promote memory slots through declares (#196975)
Leverage the new mem2reg APIs for views to remove the
"same block" limitation over fir.declare mem2reg, and to allow mem2reg
over fir.convert so that mixed dialect mem2reg with fir + memref is
possible.
Note that fir.declare_value for memory used with different value types
will be dropped (e.g. EQUIVALENCE). A later patch will deal with
improving fir.declare_value to carry the variable type interpedently of
the value (like in LLVM), but there are anyway a bit more work to enable
mem2reg with equivalence given their storage is an array of bytes.
Assisted by: Claude
Commit: cb1821d2088c8589fd0054d1bf96b10c0665c2be
https://github.com/llvm/llvm-project/commit/cb1821d2088c8589fd0054d1bf96b10c0665c2be
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
A lldb/test/API/lang/c/libc_calls/Makefile
A lldb/test/API/lang/c/libc_calls/TestLibcCalls.py
A lldb/test/API/lang/c/libc_calls/main.c
Log Message:
-----------
[lldb] Avoid calling dyld's versions of libc functions (#201829)
dyld ships with its own version of various libc functions that we are
not supposed to call. This patch prevents the expression evaluator from
calling them by respecting the existing list of forbidden modules.
Commit: 33bb0e76815aa9b1b26a5850d8859cdfb2718c2f
https://github.com/llvm/llvm-project/commit/33bb0e76815aa9b1b26a5850d8859cdfb2718c2f
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
Log Message:
-----------
[lldb][test] Faster shut down for pexpect tests (#201171)
Our pexpect tests spend most of their time in the shutdown logic
waiting for the test child to shut down. For example, our editline
tests spend about 95% of their 40s runtime just waiting for the
pexpect child to terminate.
One of the reasons is that the ptyprocess terminate approach
uses a timeout to give the child time to shut down and be cleaned
up by the kernel. While this timeout makes sense, our timeout is
extremely long (6s) since 56fb7456950d2564d16500e40c5719c954a6987a .
Because the default ptyprocess implementation is designed for very
short timeouts (0.1s), it just sleeps and then checks the process
status. For our long timeout, the child most likely already terminated
way before the timeout on a fast system. However, because we have
some very slow builders, we cannot reduce this timeout without
making tests flaky again.
This patch replaces the default cleanup procedure with a custom one
that polls the child status after each attempt to shut it down. If
we find that the child is gone during polling, we immediately exit.
This patch reduces the time the pexpect tests significantly. Each
editline test for example now runs in 2 seconds on my machine compared
to 40s before. Also, all editline tests I'm aware of are now no longer
in the top 20 slowest test ranking on my setup.
Commit: 74ac7c93cb93c7faf1723d53193a948db26a7424
https://github.com/llvm/llvm-project/commit/74ac7c93cb93c7faf1723d53193a948db26a7424
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/commands/expression/anonymous-struct/TestCallUserAnonTypedef.py
M lldb/test/API/commands/expression/dollar-in-variable/TestDollarInVariable.py
M lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py
M lldb/test/API/lang/objcxx/conflicting-names-class-update-utility-expr/TestObjCConflictingNamesForClassUpdateExpr.py
Log Message:
-----------
[lldb][test] Introduce build_and_run test utility (#194386)
We currently have several hundred tests require a running process in a
given state, and therefore perform the same three tasks:
* compile a test executable
* set a breakpoint by finding a source regex
* then launch the test process to hit that breakpoint.
A large chunk of these tests do this exact same setup with various
versions of copied boilerplate code. The different versions we have all
have different conventions of naming the breakpoint comment, the main
file (and whether it should be resolved), and different generated error
messages if things go wrong.
We already have a standardized and much shorter way of doing this in
LLDB (see below), but this still encourages test writers to specify
non-standard file names and non-standard breakpoint comment names.
```
self.build()
lldbutil.run_to_source_breakpoint(
self, "break here", lldb.SBFileSpec("main.cpp")
)
```
This patch introduces a simple `build_and_run` wrapper that takes care
of all of these things in one go. It also forces the standard naming
scheme that most tests have adoped with a breakpoint comment called
`break here` and a `main.*` file.
I already adapted a few tests to this new format so that all added code
in this patch is tested. I'll do the updating of the other tests in a
several follow up PRs so that downstream folks can easily temporarily
revert it if it causes issues.
Commit: 9eee6c0f2ae7fc1d5419be38b1839263974191f1
https://github.com/llvm/llvm-project/commit/9eee6c0f2ae7fc1d5419be38b1839263974191f1
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/MC/AArch64/arm64-aliases.s
M llvm/test/MC/AArch64/brbe.s
Log Message:
-----------
[AArch64][llvm] Define APAS, BRB and TRCIT as SYS aliases (#203563)
`APAS`, `BRB IALL/INJ` and `TRCIT` use `SYS` encodings, so define them
as aliases of `SYSxt` instead of separate instructions.
Check that the preferred architectural aliases are printed when their
features are enabled and that disassembly falls back to the generic `SYS`
spelling when not enabled.
Commit: bf8b7787f96a9e6d42c5fc4f49c25352b81e90cb
https://github.com/llvm/llvm-project/commit/bf8b7787f96a9e6d42c5fc4f49c25352b81e90cb
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrMisc.td
A llvm/test/CodeGen/AArch64/pdep.ll
A llvm/test/CodeGen/AArch64/pext.ll
A llvm/test/CodeGen/X86/pdep.ll
A llvm/test/CodeGen/X86/pext.ll
Log Message:
-----------
[ISel] Introduce `llvm.pext` and `llvm.pdep` intrinsics (#200570)
Closes #172857
These are portable forms of the x86_64 pext/pdep or AArch64 bext/bdep instructions.
Commit: ff0ee6fd9644f74cba257b44e84102ff7cad21e9
https://github.com/llvm/llvm-project/commit/ff0ee6fd9644f74cba257b44e84102ff7cad21e9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
A llvm/test/CodeGen/X86/fptosi-sat-vector-256.ll
A llvm/test/CodeGen/X86/fptosi-sat-vector-512.ll
M llvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
A llvm/test/CodeGen/X86/fptoui-sat-vector-256.ll
A llvm/test/CodeGen/X86/fptoui-sat-vector-512.ll
Log Message:
-----------
[X86] Add baseline f2i vector sat tests for #199416 (#204117)
Commit: 793dcf1f3155a11650a6432fe52991666a24e52e
https://github.com/llvm/llvm-project/commit/793dcf1f3155a11650a6432fe52991666a24e52e
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators-sve.ll
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
M llvm/test/CodeGen/AArch64/sve-aba.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-cntp-combine-i32.ll
M llvm/test/CodeGen/AArch64/sve-cntp-combine-i64.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-logical-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-unpred-form.ll
M llvm/test/CodeGen/AArch64/sve-load-compare-store.ll
M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-brk.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpge.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpgt.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphi.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphs.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplo.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpls.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplt.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpne.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
M llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
M llvm/test/CodeGen/AArch64/sve-saba.ll
M llvm/test/CodeGen/AArch64/sve-unary-movprfx.ll
M llvm/test/CodeGen/AArch64/sve-uunpklo-load-uzp1-store-combine.ll
M llvm/test/CodeGen/AArch64/sve-vselect-fold.ll
M llvm/test/CodeGen/AArch64/sve2-int-mul.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve2-rsra.ll
M llvm/test/CodeGen/AArch64/sve2-sra.ll
M llvm/test/CodeGen/AArch64/sve2-unary-movprfx.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fma-binops.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-strictfp.ll
Log Message:
-----------
[NFC][LLVM][Tests] Replace instances of @llvm.aarch64.sve.ptrue.nxv16i1(i32 31) with splat (i1 true). (#204113)
I have kept instances where the ptrue seems more relevant. For example,
when a test varies the predicate pattern, I opted to maintain ptrue(31)
for test consistency.
Commit: 7567d2128c4670c59c907504d16e2914a9dc7101
https://github.com/llvm/llvm-project/commit/7567d2128c4670c59c907504d16e2914a9dc7101
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/extractvalue-aggregate-mutated-callsite-indirect.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/extractvalue-aggregate-mutated-callsite-asm.ll
Log Message:
-----------
[SPIR-V] Fix verifier crash on aggregate extract into a mutated callsite (#203729)
SPIRVPrepareFunctions rewrites indirect/inline-asm callsite signatures
so aggregate params become i32 value-ids, but leaves the operands for
SPIRVEmitIntrinsics to tokenize. An aggregate-returning spv_extractv
result passed to such a call was never tokenized, so it no longer
matched the mutated callee signature, tripping the IR verifier ("Call
parameter type does not match function signature!").
Mutate the spv_extractv result to i32 when it feeds a callsite param
that was rewritten to a value-id. Real SPIR-V type is recovered from the
value attributes later during selection.
Assisted by: Claude Code
Commit: aac4e49e067b5512a718ca6b103ec43820f430f3
https://github.com/llvm/llvm-project/commit/aac4e49e067b5512a718ca6b103ec43820f430f3
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/metadata-argument-intrinsic.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/noalias-scope-decl.ll
Log Message:
-----------
[SPIR-V] Don't lower metadata-argument intrinsics to functions (#203654)
llvm.experimental.noalias.scope.decl takes a metadata argument. When the
SPIR-V backend lowered unknown intrinsics to functions (AMD vendor or
--spv-allow-unknown-intrinsics), it emitted
@spirv.llvm_experimental_noalias_scope_decl(metadata ...), which fails
the verifier: "Function has metadata parameter but isn't an intrinsic".
Therefore drop llvm.experimental.noalias.scope.decl, as it has no SPIR-V
representation.
Commit: 8b685967b7865055199d9dd1ad6cb9b1cef32448
https://github.com/llvm/llvm-project/commit/8b685967b7865055199d9dd1ad6cb9b1cef32448
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-domain-order.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-masked-load-store.ll
Log Message:
-----------
[SPIR-V] Order alias-decl instructions so definitions precede uses (#203699)
The SPV_INTEL_memory_access_aliasing decl instructions are built at the
insertion point of the memory operation being selected. Because
selection is bottom-up, an alias domain shared between scopes that are
built at different memory operations could be emitted after a scope that
references it.
Sort the collected aliasing instructions by dependency tier.
Commit: 53d18800eda3b7407e53366f27ca78e922c6e0db
https://github.com/llvm/llvm-project/commit/53d18800eda3b7407e53366f27ca78e922c6e0db
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/invalid_label.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/offset.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/simple_labels.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/source_root_dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
Log Message:
-----------
Reapply "[Dexter] Add label nodes for line references" (#203938)
This reverts commit
https://github.com/llvm/llvm-project/commit/2a789821b0d723bc92f61563e74e67d69d660927.
The original commit previously caused pre-merge check failures for Linux
AArch64 cross-project-tests, due to the stepping behaviour being
slightly different to x86_64. The tests have been adjusted to be less
brittle to exact stepping behaviour, but this reapply also disables the
tests for ARM targets as there is not currently the infrastructure to
reliably test them, meaning we may end up with latent failures.
Commit: e9cf47b69bd791c70ee15f23f71e0af4d2037ab2
https://github.com/llvm/llvm-project/commit/e9cf47b69bd791c70ee15f23f71e0af4d2037ab2
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Add import of node 'FileScopeAsmDecl' (#193244)
Commit: fdf5c9e68c05ec259facf42e9d4d8f4c3392f9a1
https://github.com/llvm/llvm-project/commit/fdf5c9e68c05ec259facf42e9d4d8f4c3392f9a1
Author: gretay-amd <Greta.Yorsh at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
M llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
Log Message:
-----------
[AMDGPU] Shrink VOPCX (nosdst) instructions in SIShrinkInstructions (#202711)
Fix `SIShrinkInstructions` to shrink `V_CMPX_*_e64` instructions.
The `VOPC` destination handling block treated `MI.getOperand(0)` as the
destination unconditionally, but `VOPCX` variants have no `sdst`, their
operand 0 is `src0`. The pass set a bogus VCC allocation hint on the
source SGPR and skipped the shrink. The existing comment said these
should be excluded, but the code never actually did so.
Commit: dd0aa223c227c7c59460858953340232e1ff0620
https://github.com/llvm/llvm-project/commit/dd0aa223c227c7c59460858953340232e1ff0620
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/source/API/SBFrame.cpp
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
Log Message:
-----------
[lldb] Include synthetic variables in `GetVariables(bool...)` (#198088)
Synthetic frame variables can be included in `SBFrame::GetVariables` by
passing an `SBVariablesOptions` with `SetIncludeSynthetic(true)`.
However, they're not included in the other two overloads.
With the same reason they're included in `frame variable`, they should
be included in these overloads. If the user doesn't want them included
there, they can use the overload taking `SBVariablesOptions`.
This almost enables them to be shown in lldb-dap's variables. They're
currently filtered out if `in_scope_only` is specified. Not sure what
the proper fix is. Maybe they should skip that check.
Commit: d94b7ec4d6cb81d9c861e751c628e481ce899f6c
https://github.com/llvm/llvm-project/commit/d94b7ec4d6cb81d9c861e751c628e481ce899f6c
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 18cc9aa (#204057)
This fixes 18cc9aa9c92be7d89d3e0877e7148782c14fd05a.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 9e1e329f973c2a199297c3a1fc52d4ca9a7989a8
https://github.com/llvm/llvm-project/commit/9e1e329f973c2a199297c3a1fc52d4ca9a7989a8
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lld/test/MachO/read-workers-order-obj.s
M lld/test/MachO/read-workers-order.s
Log Message:
-----------
[lld][MachO] Require LLVM_ENABLE_THREADS for new read workers tests (#204135)
Added by b11e4fb50c0ff5dc87ab6113f4850af991750d66/#193239.
The option is not available when LLVM_ENABLE_THREADS is off.
Commit: cb4d3c00bb6c5c361bef316bb90ef9d1a50aab99
https://github.com/llvm/llvm-project/commit/cb4d3c00bb6c5c361bef316bb90ef9d1a50aab99
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load-last-use.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
Log Message:
-----------
[AMDGPU][NFC] Add last use tests for gfx13 (#202600)
Commit: af27c81cc4bbc8094b0ed82633bc8520898bbb51
https://github.com/llvm/llvm-project/commit/af27c81cc4bbc8094b0ed82633bc8520898bbb51
Author: David Green <david.green at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/include/clang/Basic/AArch64CodeGenUtils.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/CodeGen/AArch64/arm64-vcvt_f32_su32.ll
M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_f32_su32.ll
Log Message:
-----------
[AArch64] Remove aarch64_neon_vcvtfp2hf and aarch64_neon_vcvthf2fp (#203903)
This removes aarch64_neon_vcvtfp2hf and aarch64_neon_vcvthf2fp
intrinsics, relying on fp16 fpext and fptrunc instructions directly. Arm
is left using its version of the intrinsics, as the types in the backend
are more difficult without fullfp16.
Commit: d7a2e87917777dab10be58a2c4845c5a8bf921a2
https://github.com/llvm/llvm-project/commit/d7a2e87917777dab10be58a2c4845c5a8bf921a2
Author: Macsen Casaus <135416202+macsencasaus at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-mul.ll
Log Message:
-----------
[InstCombine] Fold square into comparison with constant (#197665)
Closes #196233
Alive2 proof: https://alive2.llvm.org/ce/z/PQzYhb
Commit: 961e7d121e38447f4395f05a2195a1349ae90100
https://github.com/llvm/llvm-project/commit/961e7d121e38447f4395f05a2195a1349ae90100
Author: Alexander Viand <alexander.viand at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/test/Dialect/EmitC/member_call_opaque.mlir
M mlir/test/Target/Cpp/call.mlir
Log Message:
-----------
[MLIR][EmitC] Allow lvalue operands in (member_)call_opaque arg_operands (#204112)
Widen the `arg_operands` of `emitc.call_opaque` and
`emitc.member_call_opaque` from `Variadic<EmitCType>` to
`Variadic<AnyTypeOf<[EmitCType, EmitC_LValueType]>>` to support taking
arguments by reference (e.g., out-parameters in destination-passing
style, or move-only types that cannot be copied into the call).
No translation/emitter codegen changes are needed, the generated C++ for
`arg_operands` also works with reference parameters.
Commit: 7e62ac165f852f19700a73261cd48799cf868407
https://github.com/llvm/llvm-project/commit/7e62ac165f852f19700a73261cd48799cf868407
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
M llvm/lib/Target/Mips/MipsRegisterInfo.td
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/Mips/MipsScheduleGeneric.td
M llvm/lib/Target/Mips/MipsScheduleI6400.td
M llvm/lib/Target/Mips/MipsScheduleP5600.td
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
Log Message:
-----------
Revert "[MIPS] soft-promote `f16` also when using `+msa`" (#204148)
Reverts llvm/llvm-project#203065
That PR triggered a multiplication (actually, probably a shift)
overflow, see https://lab.llvm.org/buildbot/#/builders/85/builds/22610.
Commit: bc5478ebaf399bc7d082cd13a0689c533663011b
https://github.com/llvm/llvm-project/commit/bc5478ebaf399bc7d082cd13a0689c533663011b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
Log Message:
-----------
[NFC][LLVM] Add `llvm_unreachable` after switch covering all cases (#204131)
Commit: cf7864b62ae3bac28b44024cbbcfd3800c8f35f9
https://github.com/llvm/llvm-project/commit/cf7864b62ae3bac28b44024cbbcfd3800c8f35f9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][bytecode] Allow downcasts of constexpr-unknown values (#204084)
They might be diagnosed later.
Commit: 8c51f24e7469069137a96c4daf6cd975d0a98e35
https://github.com/llvm/llvm-project/commit/8c51f24e7469069137a96c4daf6cd975d0a98e35
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
Log Message:
-----------
[AMDGPU][NFC] Test 32/64-bit sdiv with operands in 22-bit range (#204155)
Pre-commit test results for 32/64-bit sdiv where operands are in 22-bit
range.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: bb0eada255b31e341d8843f26757f45fdf48b301
https://github.com/llvm/llvm-project/commit/bb0eada255b31e341d8843f26757f45fdf48b301
Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M mlir/lib/CAPI/Dialect/Linalg.cpp
Log Message:
-----------
[NFC][mlir][linalg] add `toContractionDimensions` for healthy code reuse (#203916)
Follow-up to #203323.
This PR adds the `toContractionDimensions` static function, aligning
with what we suggested in #203323.
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Commit: b98f680bd7403e16e571a46e52880f6db61e4b71
https://github.com/llvm/llvm-project/commit/b98f680bd7403e16e571a46e52880f6db61e4b71
Author: Himadhith <hima130602 at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M libcxx/test/configs/ibm-libc++-shared.cfg.in
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
Log Message:
-----------
[AIX][libc++] Fix sized_delete.pass.cpp for AIX by adding -fsized-deallocation flag (#199366)
By default `-fno-sized-deallocation` is passed for libc++ in AIX.
https://github.com/llvm/llvm-project/blob/47e6290a34507ba1b3f4e0a49bad28982ff3e3ef/clang/lib/Driver/ToolChains/AIX.cpp#L578
As many other targets have passed the argument through
`ADDITIONAL_COMPILE_FLAGS` using the same for PPC.
`ADDITIONAL_COMPILE_FLAGS` does not take regex so added a new feature to
recognize target triple as `PowerPC` or `PowerPC64`.
---------
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 00fcc5c07ca873ff3644574014234d6691c43e75
https://github.com/llvm/llvm-project/commit/00fcc5c07ca873ff3644574014234d6691c43e75
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/select-big-integer.ll
Log Message:
-----------
[X86] EltsFromConsecutiveLoads - if all loads are oneuse frozen loads then freeze as a consecutive load (#203957)
Alive2: https://alive2.llvm.org/ce/z/W5jYjH
Commit: be6cff9890dd179b6523fc966fccf784ec1ea378
https://github.com/llvm/llvm-project/commit/be6cff9890dd179b6523fc966fccf784ec1ea378
Author: anjenner <161845516+anjenner at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-concat-vectors.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mad_64_32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-merge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.m0.ll
Log Message:
-----------
[AMDGPU][GISel] Remove -global-isel-abort=2 from tests which pass wit… (#204140)
…hout it.
Commit: 471eed25eb4ca24840e5a8424a641fac5b935928
https://github.com/llvm/llvm-project/commit/471eed25eb4ca24840e5a8424a641fac5b935928
Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lld/docs/ReleaseNotes.rst
M lld/test/COFF/time-trace.s
M lld/test/ELF/lto/thinlto-time-trace.ll
M lld/test/ELF/time-trace.s
M lld/test/MachO/map-file.s
M lld/test/MachO/thinlto-time-trace.ll
M lld/test/MachO/time-trace.s
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/lib/Support/TimeProfiler.cpp
Log Message:
-----------
[Support][LLD] .time-trace.json Default File Extension (#122207)
* Addresses the LLD portion of
https://github.com/llvm/llvm-project/issues/96339
* Changes the default file extension in `lld` from `.time-trace` to
`.time-trace.json`.
Commit: 639556c9f690f94b4df7d2ca9a53b797161b27a2
https://github.com/llvm/llvm-project/commit/639556c9f690f94b4df7d2ca9a53b797161b27a2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
A lldb/packages/Python/lldbsuite/test/make/WASI.rules
M lldb/test/API/CMakeLists.txt
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
Log Message:
-----------
Reland "[lldb][test] Add support for building Wasm test inferiors" (#204030)
This relands #192872, reverted in #193493 for breaking the Windows LLDB
bots.
The original PR changed finalize_build_dictionary to derive the inferior
OS by parsing configuration.triple, which misfired on the Windows bots'
x86_64-pc-windows-msvc. However, that's unnecessary when specifying the
platform with --platform-name, in which case getPlatform return wasip1,
correctly mapping to OS=WASI.
Commit: d8c3981787a77ec63454baab99e96d2e13e59c34
https://github.com/llvm/llvm-project/commit/d8c3981787a77ec63454baab99e96d2e13e59c34
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for mfma_scale (#203279)
Commit: b6f0fb6c242369844acba6a8fd21072a718a75b5
https://github.com/llvm/llvm-project/commit/b6f0fb6c242369844acba6a8fd21072a718a75b5
Author: Leonard Grey <leonard at leonardgrey.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/test/API/sanity/TestModuleCacheSanity.py
M lldb/test/CMakeLists.txt
M lldb/test/Shell/Settings/TestModuleCacheSanity.test
Log Message:
-----------
[lldb] Remove .noindex suffix from test output directory for non-Darwin (#197237)
.noindex is only needed for macOS Spotlight. Given that some platforms
limit path length, there's a benefit to omitting it except for Darwin.
Commit: 4cb6eee15daa60cccf9f8f96c9fcf7bfab2888b6
https://github.com/llvm/llvm-project/commit/4cb6eee15daa60cccf9f8f96c9fcf7bfab2888b6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/ValueIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/debug_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_list_aggregates.cpp
Log Message:
-----------
[Dexter] Add support for aggregate expects in the debugger (#202545)
Allows aggregate expects to be written in Dexter scripts, in the form:
```
!value expect:
member1: 0
member2:
submember1: 1
submember2: 2
```
This uses the "variables" feature provided in the DAP interface to
recursively fetch sub-variables from each evaluated variable, and
modifies the DebuggerExpectMatch class to also be recursive, containing
submatches for each expected aggregate member value.
Some key concepts that are affected by this are the "match_result",
which has changed from a bool to a 3-way result ("FALSE", "TRUE",
"PARTIAL"), where "PARTIAL" means that at least one submatch was TRUE
and at least one was FALSE. We also add a `match_distance`, which is
used as a measure of correctness. The match distance ranges from 0.0 to
1.0: a total match has a distance of 0.0, a total mismatch has 1.0, and
a partial match's distance is equal to the average distance of its
immediate children.
Commit: e747c1c094f544e48b016a5b291bbf001b9bcc36
https://github.com/llvm/llvm-project/commit/e747c1c094f544e48b016a5b291bbf001b9bcc36
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[bazel][libc] Allow passing additional sources to libc_release_library (#203083)
Commit: 9c6a5f064611b12fd38f7282c0a3b600eb30950d
https://github.com/llvm/llvm-project/commit/9c6a5f064611b12fd38f7282c0a3b600eb30950d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
Log Message:
-----------
[flang][cuda] Set kernel intent(in) as const __restrict__ (#203652) (#203966)
Commit: 005cf3e9c4d900e044440b5ece225c2467e82200
https://github.com/llvm/llvm-project/commit/005cf3e9c4d900e044440b5ece225c2467e82200
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/pdep.ll
A llvm/test/Transforms/InstCombine/pext.ll
Log Message:
-----------
[InstCombine] Add test coverage for llvm.pdep/pext intrinsics (#204179)
Branched from existing x86 bmi test coverage
Prep work for #204144
Commit: fabfc92bcdc2a1dc1164c3a7661c80ef35de06f7
https://github.com/llvm/llvm-project/commit/fabfc92bcdc2a1dc1164c3a7661c80ef35de06f7
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M compiler-rt/lib/xray/xray_hexagon.cpp
M compiler-rt/lib/xray/xray_trampoline_hexagon.S
Log Message:
-----------
[XRay][Hexagon] Make XRay sleds register-transparent (#203117)
A sled is inserted post-register-allocation and is treated by the
compiler as clobbering nothing, but the sled and trampoline together
preserve too little. The sled uses r6/r7 as scratch (trampoline address
and funcid) and the trampoline saves only r0-r5, r31 and p3:0. A
function-exit sled can land in the middle of a loop (a conditional early
return), where loop-carried values occupy r6-r15 and, for a hardware
loop, SA0/LC0. The handler clobbers them, so most instrumented
gcc-c-torture programs compute wrong results and abort().
Commit: a2f201d7004885224bb45b9acf34c7a621d91b95
https://github.com/llvm/llvm-project/commit/a2f201d7004885224bb45b9acf34c7a621d91b95
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/InstCombine/assume-align.ll
Log Message:
-----------
[ValueTracking] Make use of the offset argument in align assume bundles (#203497)
Commit: a67af225694b888b88eddf39a191295159d69e3a
https://github.com/llvm/llvm-project/commit/a67af225694b888b88eddf39a191295159d69e3a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll
M llvm/tools/llvm-offload-wrapper/llvm-offload-wrapper.cpp
Log Message:
-----------
[llvm-offload-wrapper] Add SYCL wrapping to the standalone tool (#204168)
Summary:
This tool exists so people can generate the registration code in manual
toolchains. But it was never updated to add the SYCL handling. Fix that.
Commit: 2b266aaaf397977aedef76f2e3caa4773f185d58
https://github.com/llvm/llvm-project/commit/2b266aaaf397977aedef76f2e3caa4773f185d58
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix #199686 (#204184)
fix #199686
Commit: ffb3458175268cb08a97a4bdcc3ca3181cfeaf57
https://github.com/llvm/llvm-project/commit/ffb3458175268cb08a97a4bdcc3ca3181cfeaf57
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/getcwd.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/getcwd.cpp
Log Message:
-----------
[libc][getcwd] Refactor getcwd to use the syscall wrapper pattern (#204000)
Allows for re-use by other entrypoints. This PR also moves error
handling for unreachable paths in `syscall_wrappers::getcwd` since I
imagine most usages of getcwd would rather error with `ENOENT` than
receive `"(unreachable) /path/to/cwd"`.
Commit: 9a851497a4a4d05466cd025d2fdd489a1e461deb
https://github.com/llvm/llvm-project/commit/9a851497a4a4d05466cd025d2fdd489a1e461deb
Author: Yuxuan Chen <ych at meta.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M libcxx/include/optional
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
Log Message:
-----------
[libc++] Strengthen optional value constructor noexcept (#202765)
The standard does not require `optional<T>(U&&)` to be potentially
throwing; it simply does not specify noexcept for the primary
`optional<T>` converting constructor. Standard library implementations
are permitted
[[res.on.exception.handling]/5](https://eel.is/c++draft/res.on.exception.handling#5)
to strengthen exception specifications for non-virtual library
functions, as long as the strengthened specification is correct.
GNU libstdc++ already does this:
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/optional#L911-L913
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/optional#L962-L974
The existing libc++ code only added noexcept for the C++26
`optional<T&>` case, guarded by `is_lvalue_reference_v<_Tp>`. It is safe
to remove that gate and use the general condition instead:
```
noexcept(is_nothrow_constructible_v<_Tp, _Up>)
```
For `optional<T&>`, this still becomes the intended
reference-construction check. For ordinary `optional<T>`, it correctly
reflects whether constructing `T` from `U` can throw. The constructor
only forwards into the contained object construction and updates
optional bookkeeping, so if `T` is nothrow-constructible from `U`, the
optional construction is also nothrow.
Commit: 15a0e321484cdfa94e7d5aab5de9175c3533db04
https://github.com/llvm/llvm-project/commit/15a0e321484cdfa94e7d5aab5de9175c3533db04
Author: StoeckOverflow <95052643+StoeckOverflow at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
A clang/test/APINotes/Inputs/Headers/WhereParametersMapElement.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersMethodWhereSequence.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersMissingName.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersParser.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersScalar.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersUnknownWhereKey.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersWhereSequence.apinotes
A clang/test/APINotes/Inputs/WhereParametersConvertDiag/APINotes.apinotes
A clang/test/APINotes/Inputs/WhereParametersConvertDiag/WhereParametersConvertDiag.h
A clang/test/APINotes/where-parameters-convert-diags.cpp
A clang/test/APINotes/where-parameters-yaml.test
Log Message:
-----------
[APINotes] Parse function-like Where.Parameters (#203227)
Add YAML parser/model support for `Where.Parameters` on function-like
API notes entries. This keeps `Name` as the required entry key and
allows top-level `Functions` and C++ `Tags` / `Methods` to parse and
round-trip an optional ordered list of explicit parameter type
spellings.
Binary API notes serialization, lookup, and overload matching are
intentionally left for follow-up patches. Notes using `Where.Parameters`
are diagnosed during binary conversion for now.
Commit: f43ddf2acff78a81bf0eda01227cb4709017530e
https://github.com/llvm/llvm-project/commit/f43ddf2acff78a81bf0eda01227cb4709017530e
Author: yonghong-song <yhs at fb.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFISelLowering.h
A llvm/test/CodeGen/BPF/memcpy-align.ll
M llvm/test/CodeGen/BPF/rodata_1.ll
Log Message:
-----------
[BPF] Consider alignment when selecting memcpy/memmove/memset op type (#204042)
Currently getOptimalMemOpType() forces i64 for size >= 8 and i32
otherwise without considering the operation alignment. In [1], memcpy
and memmove destination and source alignments are passed separately
instead of being collapsed to their minimum. As a result, poor code may
be generated for a copy with a well aligned destination but a poorly
aligned source: a wide store ends up fed by a wide load that the
legalizer has to synthesize from byte loads via a chain of shifts and
ORs.
The target independent getOptimalMemOpType() returns MVT::Other which is
exactly we want as MVT::Other allows target independent to check/set
proper type and alignment.
Newly added memcpy-align.ll uses u8 type for load and stores.
Otherwise a chain of shifts and ORs will happen.
The rodata_1.ll change is only instruction scheduling / register
allocation churn caused by the different but equivalent lowering.
[1] https://github.com/llvm/llvm-project/pull/201119
Commit: 68d8d0a34701c29a0943534a13a7e11dffc08129
https://github.com/llvm/llvm-project/commit/68d8d0a34701c29a0943534a13a7e11dffc08129
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/pdep.ll
A llvm/test/Instrumentation/MemorySanitizer/pext.ll
Log Message:
-----------
[MemorySanitizer] Add test coverage for llvm.pdep/pext intrinsics (#204175)
Prep work for #204144
Commit: 4646ad852eccd8d728e9896258eed678112144dd
https://github.com/llvm/llvm-project/commit/4646ad852eccd8d728e9896258eed678112144dd
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[InstCombine] Avoid computeKnownBits when trying to fold assumes (#203550)
There isn't much value in dropping redundant assumes via
`computeKnownBits`, since SCCP should be able to replace the argument
with a constant in any cases where `computeKnownBits` can do the same.
Instead, InstCombine can simply check whether the argument to an assume
is a constant and fold based on that.
Commit: eb3e0dbf2ea646d38b3748eaca4e9815c703f44e
https://github.com/llvm/llvm-project/commit/eb3e0dbf2ea646d38b3748eaca4e9815c703f44e
Author: John Brawn <john.brawn at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
A llvm/test/Transforms/LoopStrengthReduce/X86/use-outside-loop-crash.ll
Log Message:
-----------
[LSR] Narrow search space by merging users outside and inside loop (#202676)
Loop Strength Reduce can give different (and worse) results for a loop
when it is followed by uses of variables used inside the loop. This is
because the uses outside the loop increase the size of the search space,
which can lead to using NarrowSearchSpaceByPickingWinnerRegs which often
discards the best solution.
Solve this by narrowing the search space by merging uses outside the
loop with uses inside the loop. This ignores the Kind and AccessTy of
the use which can mean that the cost may be inaccurate, but it will give
the same cost as if we had just ignored the uses outside of the loop.
This is a re-commit of #185929 with an additional check that merging the
users doesn't cause an invalid offset to be used.
Commit: a0be34434154b80acf2b8fb59c9aaba6e9d0e66d
https://github.com/llvm/llvm-project/commit/a0be34434154b80acf2b8fb59c9aaba6e9d0e66d
Author: Andre Kuhlenschmidt <akuhlenschmi at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-routine-bind-clone-signature.f90
A flang/test/Lower/OpenACC/acc-routine-bind-devtype-undeclared.f90
A flang/test/Lower/OpenACC/acc-routine-bind-gate-skip.f90
A flang/test/Lower/OpenACC/acc-routine-bind-string-undeclared.f90
A flang/test/Lower/OpenACC/acc-routine-bind-undeclared.f90
A flang/test/Transforms/external-name-interop-acc-routine-bind.fir
Log Message:
-----------
[flang][acc][lowering] Declare undeclared acc routine bind(name) targets (#203088)
An `!$acc routine ... bind(target)` can name a target with no func.func
in the program unit. Lowering emits an acc.routine op referencing it,
and external-name-interop / nvhpc-acc-bind-routine then reference an
undeclared symbol, tripping the MLIR verifier ("does not reference a
symbol in the current scope").
Materialize a private func.func for each otherwise-undeclared bind
target after primary translation, gated on the decorated procedure
having been lowered (so the declared set matches the acc.routine bind
references actually emitted). bind(symbol) targets reuse
getOrDeclareFunction (mangled, honoring BIND(C)); bind("string") targets
use the new getOrDeclareNamedFunction (verbatim asm name, left untouched
by external-name-interop).
Commit: 73c925d4cdc1baa9afaf8aee197225b95876fdd0
https://github.com/llvm/llvm-project/commit/73c925d4cdc1baa9afaf8aee197225b95876fdd0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/indirectbr.ll
Log Message:
-----------
[LoopInterchange] Reject if outer loop header PHI has more than two incoming values (#204120)
Previously, there were cases where PHIs in the outer loop header did not
have exactly two incoming values, which caused an assertion failure.
Such PHIs are legal and can appear, so the assertion was incorrect.
This patch removes the assertion. As the assertion was in the legality
check phase, this patch adds logic that merely rejects such cases
instead of the assertion.
Fixes #204065.
Commit: f945995c1e0eac91af75e40faeef13e73e1785ec
https://github.com/llvm/llvm-project/commit/f945995c1e0eac91af75e40faeef13e73e1785ec
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/test/Driver/large-data-threshold.f90
M flang/test/Driver/offload-device.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Driver/supported-suffices/f03-suffix.f03
M flang/test/Driver/supported-suffices/f08-suffix.f08
M flang/test/Driver/version-loops.f90
Log Message:
-----------
[flang] Do not hardcode "flang" in the driver (#200438)
Currently, the driver program hardcodes "flang" as the frontend to
invoke. This patch is to make the driver invoke the frontend that has
the same name as the driver program.
Commit: 28ab3c5a33310814c96918cb25006092fee4b24b
https://github.com/llvm/llvm-project/commit/28ab3c5a33310814c96918cb25006092fee4b24b
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value-arglist.ll
M llvm/test/tools/dxil-dis/dbg-value-arglist.ll
Log Message:
-----------
[DirectX] Replace unrepresentable debug info with i1 undef (#203545)
The i1 is arbitrary: we do not know the correct type to use and have no
way of representing an untyped undef.
Commit: 504433cfcc812a21bbc60b07bd58bbbe68b7e6f4
https://github.com/llvm/llvm-project/commit/504433cfcc812a21bbc60b07bd58bbbe68b7e6f4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/BundleAttributes.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/lib/IR/BundleAttributes.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
M llvm/test/Bitcode/operand-bundles-bc-analyzer.ll
Log Message:
-----------
[LLVMContext] Add IDs for assume bundles (#204129)
Commit: a084633edf331f75412f966bc46cc1b35462c519
https://github.com/llvm/llvm-project/commit/a084633edf331f75412f966bc46cc1b35462c519
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
[clang][ssaf] Track target triple in TU and LU summaries. (#204027)
This commit introduces the following changes:
- Add `TargetTriple` field to `TUSummary`, `LUSummary`, and their encodings.
- Frontend captures the triple from `CompilerInstance::getTarget()` when extracting a TU summary.
- JSON format reads/writes a `target_triple` field at the root of each summary; reader rejects strings not in `llvm::Triple::normalize` form.
- All TU/LU JSON test inputs/outputs and unit tests updated to include the new field.
`clang-ssaf-linker` uses a hardcoded triple for the link unit; surfacing the triple through the tool will be handled in a follow-up PR.
rdar://179403011
Commit: f6a1251366ec0cfd21ea7c3e1c3fad66ae42eea9
https://github.com/llvm/llvm-project/commit/f6a1251366ec0cfd21ea7c3e1c3fad66ae42eea9
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/cbrtf16.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Switch `static_cast` to `fputil::cast` in `cbrtf16` (#204189)
This avoids some failures w/ the compilers runtime
Commit: 170adec4e46d45e6bd688c89bfef6f847a2b8e25
https://github.com/llvm/llvm-project/commit/170adec4e46d45e6bd688c89bfef6f847a2b8e25
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/docs/PDB/index.rst
Log Message:
-----------
[docs][pdb] Link to the pdb-rs docs (#204172)
They cover many topics which are not in the LLVM docs (yet).
Commit: 036ef9736e2be6732c63853d1fb00ca0544eba96
https://github.com/llvm/llvm-project/commit/036ef9736e2be6732c63853d1fb00ca0544eba96
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume-align.ll
A llvm/test/Transforms/InstCombine/assume-i128.ll
A llvm/test/Transforms/InstCombine/assume-i32.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
Log Message:
-----------
[InstCombine] Move alignment assumptions to the base of a gep if alignment is preserved (#203032)
Commit: 8a3cc8403eea576106676af1065df32ac2984def
https://github.com/llvm/llvm-project/commit/8a3cc8403eea576106676af1065df32ac2984def
Author: Kai <47328809+kcloudy0717 at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/HLSLIntrinsics.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/QuadReadAcrossDiagonal.hlsl
A clang/test/SemaHLSL/BuiltIns/QuadReadAcrossDiagonal-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/QuadReadAcrossDiagonal.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/QuadReadAcrossDiagonal.ll
Log Message:
-----------
[HLSL][DXIL][SPIRV] QuadReadAcrossDiagonal intrinsic support (#188567)
This PR adds QuadReadAcrossDiagonal intrinsic support in HLSL with
codegen for both DirectX and SPIRV backends. Resolves
https://github.com/llvm/llvm-project/issues/99177.
- [x] Implement `QuadReadAcrossDiagonal` clang builtin
- [x] Link `QuadReadAcrossDiagonal` clang builtin with
`hlsl_intrinsics.h`
- [x] Add sema checks for `QuadReadAcrossDiagonal` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `QuadReadAcrossDiagonal` to `EmitHLSLBuiltinExpr`
in `CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/QuadReadAcrossDiagonal.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/QuadReadAcrossDiagonal-errors.hlsl`
- [x] Create the `int_dx_QuadReadAcrossDiagonal` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_QuadReadAcrossDiagonal` to
`123` in `DXIL.td`
- [x] Create the `QuadReadAcrossDiagonal.ll` and
`QuadReadAcrossDiagonal_errors.ll` tests in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_QuadReadAcrossDiagonal` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In SPIRVInstructionSelector.cpp create the
`QuadReadAcrossDiagonal` lowering and map it to
`int_spv_QuadReadAcrossDiagonal` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/QuadReadAcrossDiagonal.ll`
---------
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 269e5f82064938b73be02db0a4da96dded5e41f0
https://github.com/llvm/llvm-project/commit/269e5f82064938b73be02db0a4da96dded5e41f0
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes a084633 (#204202)
This fixes a084633edf331f75412f966bc46cc1b35462c519.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: aa7b619ec4e1acf589456ddc6ee4784d4842f4ad
https://github.com/llvm/llvm-project/commit/aa7b619ec4e1acf589456ddc6ee4784d4842f4ad
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Check operand types of more VPInstruction on construction (NFC). (#203777)
Follow-up to earlier PRs, tighten VPInstruction operand type checks at
construction: restrict operand types for various opcodes, and support
missing opcodes.
PR: https://github.com/llvm/llvm-project/pull/203777
Commit: cc059a3c7575ccf4a7d52cedbdaa905a8c0cf583
https://github.com/llvm/llvm-project/commit/cc059a3c7575ccf4a7d52cedbdaa905a8c0cf583
Author: Thurston Dang <thurston at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_f32_su32.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/f16c-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_shadow.ll
Log Message:
-----------
[msan] Apply handleGenericVectorConvertIntrinsic() to fptrunc/fpext (#204197)
The current instrumentation uses handleShadowOr(), which effectively
truncates or zero-extends the shadows for fptrunc/fpext respectively;
this is overly lax because floating-point has both mantissa and exponent
components (e.g., if the mantissa is initialized but the exponent is
uninitialized, an fptrunc might end up with a fully initialized shadow,
which is incorrect; conversely, if a floating-point value is fully
uninitialized, we want the fpext'ed shadow to be fully uninitialized,
not zero-extended). This patch strengthens the instrumentation of
fptrunc/fpext by using handleGenericVectorConvertIntrinsic(), which
applies an "all-or-nothing" approach to uninitialized bits of each
scalar.
Note: https://github.com/llvm/llvm-project/pull/203903 auto-upgraded
aarch64_neon_vcvtfp2hf and aarch64_neon_vcvthf2fp to fptrunc and fpext,
which had the effect of weakening MSan's instrumentation for those NEON
intrinsics. This patch restores the stronger instrumentation for them
(and also generalizes it to all instances of fptrunc and fpext).
Commit: 51f9997cb4f07cc378acb71e234fa981dc42b39f
https://github.com/llvm/llvm-project/commit/51f9997cb4f07cc378acb71e234fa981dc42b39f
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
Log Message:
-----------
[MLIR][SCF] Support permutation-based parallel loop fusion (#203207)
Improve SCF parallel-loop fusion for loops with permuted iteration
spaces.
Allow fusion after rewriting the second loop using an arbitrary
permutation of its iteration space. When multiple axes have identical
bounds and steps, also enumerate additional candidate remaps for those
equal axes.
Commit: f0c6b34b1305dab8f814ccf2120b9faf7be19c92
https://github.com/llvm/llvm-project/commit/f0c6b34b1305dab8f814ccf2120b9faf7be19c92
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Fix compile-time hang in isMaskedLoadCompress
For a large gathered-load cluster LoadVecTy spans hundreds of vector
registers and the shuffle cost query blows up in processShuffleMasks.
The shuffle cost is non-negative, so bail out before computing it when
VectorGEPCost + LoadCost already reaches GatherCost (not profitable).
Fixes #204163
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/204211
Commit: cd8fe2a3ac72968d146d649be4a54fb58f900730
https://github.com/llvm/llvm-project/commit/cd8fe2a3ac72968d146d649be4a54fb58f900730
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
Revert "[clang][ssaf] Track target triple in TU and LU summaries. (#204027)" (#204207)
This reverts commit a084633edf331f75412f966bc46cc1b35462c519.
Commit: b8d2524025f38b052e75f82c222d5984f228e23e
https://github.com/llvm/llvm-project/commit/b8d2524025f38b052e75f82c222d5984f228e23e
Author: shubhamnarlawar <68635493+shubhamnarlawar at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
Log Message:
-----------
[mlir][arith] Fix crash in ConstantOp range inference for zero-element constants (#204180)
arith::ConstantOp::inferResultRanges computes the union of element
ranges by iterating a DenseIntElementsAttr. For a zero-element constant
(e.g. ) the loop body never runs,
leaving the std::optional result unset.
-> This fixes #202531
Commit: 1db458e73e781e49a75b659ba8bb1203427e0d21
https://github.com/llvm/llvm-project/commit/1db458e73e781e49a75b659ba8bb1203427e0d21
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb] Fix TestLldbGdbServer.py on arm64e (#203995)
Commit: 881eac3216f5e030860fb0b87dcb5dc0ff08238d
https://github.com/llvm/llvm-project/commit/881eac3216f5e030860fb0b87dcb5dc0ff08238d
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-server/main.cpp
Log Message:
-----------
[lldb] Strip code pointers in lldb-server test binary on arm64e (#203988)
Otherwise an unstripped pointer will be sent to debugserver. LLDB strips
pointers before sending them to debugserver, so debugserver does not
know how to handle it.
This fixes TestGdbRemoteSingleStep.py, TestGdbRemote_qMemoryRegion.py,
and TestGdbRemote_vCont.py on arm64e.
Commit: a85441c04b789e2da32424cd8e50226cf626d7e3
https://github.com/llvm/llvm-project/commit/a85441c04b789e2da32424cd8e50226cf626d7e3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/unittests/Protocol/CMakeLists.txt
A lldb/unittests/Protocol/MCPErrorTest.cpp
A lldb/unittests/Protocol/MCPPluginTest.cpp
A lldb/unittests/Protocol/MCPServerInfoTest.cpp
A lldb/unittests/Protocol/MCPTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
M lldb/unittests/TestingSupport/Host/JSONTransportTestUtilities.h
Log Message:
-----------
[lldb] Add unit tests for the MCP server (#202752)
Add unit-test coverage for the MCP protocol types and server under
source/Protocol/MCP and the MCP plugin under
source/Plugins/Protocol/MCP.
The Server handlers run over the in-memory TestTransport, which gains
SimulateError/SimulateClosed/SetRegisterMessageHandlerShouldFail helpers
to drive the handler lifecycle without a real socket.
Code that touches the filesystem or otherwise requires mucking with the
test environment are deliberately left uncovered until those layers can
be mocked.
Assisted-by: Claude
Commit: c9b2cfc64e6759f3329ce60fd18cdd51639acf61
https://github.com/llvm/llvm-project/commit/c9b2cfc64e6759f3329ce60fd18cdd51639acf61
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
M flang/lib/Support/Fortran-features.cpp
A flang/test/Semantics/io-implied-do01.f90
Log Message:
-----------
[flang][Semantics] Warn on repeated do-variable in nested I/O implied DO (#198757)
Fixes #198528
Add a warning when an io-implied-do's do-variable appears as, or is
associated with, the do-variable of a containing io-implied-do. This
diagnoses violations of Fortran 2023 12.6.3p7:
>The do-variable of an io-implied-do that is in another io-implied-do
shall not appear as, nor be associated with, the do-variable of the
containing io-implied-do.
Since this is not a constraint, a warning is emitted rather than an
error. As suggested in the associated issue, the warning is on by
default and can be suppressed with `-Wno-io-implied-do-index-conflict`.
The check detects:
- Direct name reuse (same symbol in inner and outer implied DO)
- Association via EQUIVALENCE
- Association via USE-renaming
- Association via ASSOCIATE construct
A lit test (Semantics/io-implied-do01.f90) is added covering all of the
above cases, plus valid cases (sibling implied-DOs, single implied-DO)
that should not trigger the warning.
Example:
```
write(*,*) ((matrix(i,j), j=1,10), j=1,10)
! warning: I/O implied DO index 'j' appears in an enclosing I/O implied DO loop
! and should not have the same name [-Wio-implied-do-index-conflict]
```
Assisted by: Claude
Commit: 5ef3d70d1137b5990ec4f07db59dbd3582d0a586
https://github.com/llvm/llvm-project/commit/5ef3d70d1137b5990ec4f07db59dbd3582d0a586
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/MC/MCDXContainerWriter.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/lib/Target/DirectX/DXContainerPDB.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/ContainerData/DebugName-default-output.test
A llvm/test/CodeGen/DirectX/ContainerData/DebugName-user-directory.test
A llvm/test/CodeGen/DirectX/ContainerData/Inputs/check_pdb_exists.py
A llvm/test/CodeGen/DirectX/ContainerData/PDBParts.ll
A llvm/test/CodeGen/DirectX/ContainerData/PDBParts.test
M llvm/test/CodeGen/DirectX/embed-ildb.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Generate PDB file with debug info (#202762)
This change adds DXContainerPDB pass for DirectX pipeline.
The pass creates PDB file containing sections with shader debug
information. PDB files comply with the format used by existing DirectX
debugging tools.
---------
Co-authored-by: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Commit: 7e5bc4c7bd23e390cdb0b08f807968ea256b0df2
https://github.com/llvm/llvm-project/commit/7e5bc4c7bd23e390cdb0b08f807968ea256b0df2
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
Log Message:
-----------
[IRTranslator] Precommit tests for bitcasts of the byte type (#203638)
The purpose of this commit is to reflect differences due to PR #203335.
Commit: eb63d313c659ded3bd3106eac71a38c4c50bd3fc
https://github.com/llvm/llvm-project/commit/eb63d313c659ded3bd3106eac71a38c4c50bd3fc
Author: Thurston Dang <thurston at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_f32_su32.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/f16c-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/vararg_shadow.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg_shadow.ll
Log Message:
-----------
Revert "[msan] Apply handleGenericVectorConvertIntrinsic() to fptrunc/fpext" (#204221)
Reverts llvm/llvm-project#204197 due to buildbot failure
(https://lab.llvm.org/buildbot/#/builders/51/builds/38557)
Commit: 52027ede48d697819598a33763e8b273b023e09f
https://github.com/llvm/llvm-project/commit/52027ede48d697819598a33763e8b273b023e09f
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/Todo/acc-unstructured-combined-construct.f90
M flang/test/Lower/OpenACC/Todo/acc-unstructured-loop-construct.f90
Log Message:
-----------
[OpenACC] Add emit-independent-loops-as-unstructured flag (#204080)
Commit: 30f73c9cf7a6bd93cdf176912466f6e546f10435
https://github.com/llvm/llvm-project/commit/30f73c9cf7a6bd93cdf176912466f6e546f10435
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M compiler-rt/lib/xray/xray_hexagon.cpp
Log Message:
-----------
[XRay][Hexagon] Fix immext encoding of high bits in sled patcher (#203129)
encodeConstantExtender() places the high 12 bits of the 26-bit extension
at the wrong offset (<<16 instead of <<2), dropping them for any
constant above ~2^20. The runtime sled patcher then encodes a corrupted
trampoline address for PIE executables (load base 0x08000000+), so the
first patched function call jumps to a bogus address and crashes.
Commit: c7fbd7e709530a00d42dfb168333139149a0aa98
https://github.com/llvm/llvm-project/commit/c7fbd7e709530a00d42dfb168333139149a0aa98
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M compiler-rt/lib/xray/xray_trampoline_hexagon.S
Log Message:
-----------
[XRay][Hexagon] Use PC-rel addressing for runtime globals in trampoline (#203122)
The trampolines load the runtime handler globals
(__xray::XRayPatchedFunction and friends) with absolute
constant-extended immediates, which cannot be used in a PIC/PIE link, so
linking a default-PIE executable against the xray runtime fails -- and
-fPIC on user code does not help, the bad relocations are inside the
runtime archive:
ld.lld: error: relocation R_HEX_32_6_X cannot be used against symbol
'__xray::XRayPatchedFunction'; recompile with -fPIC
Commit: a0e45883e8bd17e3d2f22d0550201a12a5769658
https://github.com/llvm/llvm-project/commit/a0e45883e8bd17e3d2f22d0550201a12a5769658
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
Log Message:
-----------
[RISC-V] Rename GPRMem operand to BasePtr. NFC
This is in preparation for https://github.com/llvm/llvm-project/pull/177073
where these operands can refer to either a GPR or YGPR depending on the
current HwMode. Since this is the base pointer operand of the load/store
instruction, BasePtr was chosen as the name.
Pull Request: https://github.com/llvm/llvm-project/pull/204215
Commit: 39bec9c394be6e41d6ff6ddfe41bf13966b7df0c
https://github.com/llvm/llvm-project/commit/39bec9c394be6e41d6ff6ddfe41bf13966b7df0c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Rename VPseudoTernaryMaskPolicy->VPseudoReductionMaskPolicy. NFC (#204053)
This makes it clearer why this class doesn't set UsesMaskPolicy and can
prevent accidental misuse in the future.
Commit: a0e2743191b545e0c179cd2cf38168fbf7291256
https://github.com/llvm/llvm-project/commit/a0e2743191b545e0c179cd2cf38168fbf7291256
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port 639556c9f690 (#204227)
Commit: a23bf51952f375bcdedcca326619a040ec3c4897
https://github.com/llvm/llvm-project/commit/a23bf51952f375bcdedcca326619a040ec3c4897
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
A llvm/test/Transforms/SROA/vector-promotion-rmw-cannot-tree-merge.ll
A llvm/test/Transforms/SROA/vector-promotion-rmw-tree-merge.ll
Log Message:
-----------
[SROA] Extend tree-structured merge to handle init + RMW pattern (#194441)
## Problem
When SROA rewrites an alloca used as a read-modify-write accumulator, it
emits a linear chain of `shufflevector + select` per partial store.
`InstCombine`'s `SimplifyDemandedVectorElts` walks this chain
recursively per element, scaling quadratically with chain length — in
practice tens of seconds of compile time on some matmul kernels.
## Example
Take an `<8 x float>` alloca initialized once and then updated in 4
chunks of 2 elements each:
```llvm
%alloca = alloca <8 x float>
store <8 x float> %init, ptr %alloca ; full init
;; chunk 0
%v0 = load <2 x float>, ptr %alloca+0 ; elts 0-1
%r0 = fadd <2 x float> %v0, %a
store <2 x float> %r0, ptr %alloca+0
;; chunk 1
%v1 = load <2 x float>, ptr %alloca+8 ; elts 2-3
%r1 = fadd <2 x float> %v1, %b
store <2 x float> %r1, ptr %alloca+8
;; chunks 2, 3 similarly ...
%result = load <8 x float>, ptr %alloca
```
### Before this MR — linear chain
Each partial store becomes an `expand`+`select` pair that overlays its
slice onto the accumulator. The accumulator's def is rewritten N times
in sequence:
```
init ── blend₀ ── blend₁ ── blend₂ ── blend₃ ── result
│ │ │ │
r₀' r₁' r₂' r₃'
```
Depth through the chain: O(N) in the number of chunks. `InstCombine`
recurses element-by-element through this chain, which is where the
quadratic time comes from.
### After this MR — tree of shufflevectors
Each partial load is replaced by the value most recently stored at that
slice. Partial stores update the tracked value for their slice and are
then dropped. At the end, the final per-slice values are tree-merged
into a single store:
```
r₀' r₁' r₂' r₃'
\ / \ /
concat₀ concat₁
\ /
\ /
\ /
\ /
concat
│
result
```
- Partial loads → replaced with the current value at that slice.
- Partial stores → dropped; they only update the tracked value at their
slice.
- Final full load → loads the tree's root from the alloca; later
promotion forwards the merged store to it.
Depth: O(log N).
## Change
`rewriteTreeStructuredMerge` already handled "partial stores tile the
alloca + one full-width load" with a shufflevector tree. This MR adds a
second pattern in the same function:
**Init + RMW** — one full-width init store, followed by any number of
partial loads and partial stores, optionally followed by a single
full-width final load, where:
- the distinct `[begin, end)` ranges touched by the partial loads and
stores, taken together, tile the alloca disjointly,
- the init store and all partial accesses live in the same basic block
(the optional full-width final load may live in a different block),
- the init store comes before every partial access, and the full-width
final load (when present in the same block) comes after every partial
access.
## Transform
The rewrite tracks, for each `[begin, end)` range in the partition, the
value the alloca currently holds at that range (`SliceValues[r]`):
- **Init**: each `SliceValues[r]` is initialized to a `shufflevector`
picking the range's elements out of the init store's value. The init
store itself is dropped.
- **Walk** partial loads and stores in block order:
- **Partial load** at range `r`: RAUW with `SliceValues[r]`. The load is
dropped.
- **Partial store** at range `r`: update `SliceValues[r]` to the stored
value. The store is dropped.
- **Finalize**: tree-merge the final `SliceValues` into a single store
to the alloca. The optional full-width final load is replaced by a load
of the alloca (forwarded by promotion later).
Anything that doesn't match either pattern falls through to the existing
expand+blend rewrite.
## AI disclosure
Parts of the implementation, and test cases were assisted by Claude Code
Opus @claude. All code has been reviewed and tested by me.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: b87fe380d7cdb9b3662a2c2c4e10b8a1a3ce0404
https://github.com/llvm/llvm-project/commit/b87fe380d7cdb9b3662a2c2c4e10b8a1a3ce0404
Author: dGinten <david.ginten at rwth-aachen.de>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A mlir/docs/Tutorials/ExternalTutorials.md
Log Message:
-----------
[mlir][docs] Add page for third-party tutorials (#188080)
Add a new page to the MLIR documentation that links to the
upstream Lighthouse project as well as additional third-party tutorials.
The goal is to make it easier for newcomers to discover MLIR learning
resources beyond the Toy tutorial.
The underlying discussion/RFC can be found
[here](https://discourse.llvm.org/t/rfc-tutorial-a-beginner-friendly-end-to-end-mlir-compiler-pipeline/89788).
Commit: 5dce5405e75c5243e1163f919774340f12020bf0
https://github.com/llvm/llvm-project/commit/5dce5405e75c5243e1163f919774340f12020bf0
Author: Andre Kuhlenschmidt <akuhlenschmi at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/docs/OpenACC-extensions.md
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
A flang/test/Lower/OpenACC/do-concurrent-collapse.f90
A flang/test/Semantics/OpenACC/acc-collapse-do-concurrent.f90
Log Message:
-----------
[flang][OpenACC] Support COLLAPSE on DO CONCURRENT (#203085)
Lower a COLLAPSE clause on a DO CONCURRENT when the collapse value
equals the number of concurrent controls, matching the equivalent
nested-DO collapse form, and route the loop body into the collapsed
acc.loop. Emit specific not-yet-implemented diagnostics for the
collapse-less-than and collapse-greater-than control-count cases, and a
-Wportability warning for this non-standard extension.
Collapse of mismatched control cases will require a little more invasive
change, so I will submit that as a follow up PR if it is okay, if
desired I could fix the lowering for those two cases now.
Commit: a07f90ba94938e61f81612bb00b568cb4503f3d4
https://github.com/llvm/llvm-project/commit/a07f90ba94938e61f81612bb00b568cb4503f3d4
Author: Bryson Miller <bryson at efficient.computer>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/name-collision/a/test.py
A llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/name-collision/b/test.py
M llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/per-test-coverage-by-lit-cfg.py
M llvm/utils/lit/tests/Inputs/per-test-coverage/per-test-coverage.py
M llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py
M llvm/utils/lit/tests/per-test-coverage.py
Log Message:
-----------
[lit] Avoid profraw filename collisions with --per-test-coverage (#203998)
Per-test-coverage derived the `LLVM_PROFILE_FILE` name from the test's
basename with its extension removed, so siblings that share a basename
but differ by directory or extension (e.g. foo.c and foo.cpp in one
directory) wrote into the same profraw file and raced on it.
This PR builds the name from the full path in the suite and adds the
`%p` and `%m` placeholders so a test that runs several instrumented
binaries gets a distinct file per process and per binary, even across
exec chains or recycled process ids.
Commit: e4211480b6a2647b8e3010b9669d4844542f65f3
https://github.com/llvm/llvm-project/commit/e4211480b6a2647b8e3010b9669d4844542f65f3
Author: Brendon Cahoon <Brendon.Cahoon at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/div.ll
M llvm/test/Analysis/CostModel/AMDGPU/extractelement.ll
M llvm/test/Analysis/CostModel/AMDGPU/insertelement.ll
M llvm/test/Analysis/CostModel/AMDGPU/rem.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/vectorize-i8.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-chain-to-shuffles.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/no-scalarize-vector-extract.ll
Log Message:
-----------
[AMDGPU] Refine i8 extractelement cost model (#203932)
Expand the cases when i8 extract elements are free. The extract elements
should be free when they are part of a sequence that extract multiple
consecutive elements the size of a register. This change enables the
SLPVectorizer to keep extract elements over more costly shufflevectors.
This PR also undoes a previous change that made insert element free, but
those require sequences of shift/or instructions so shouldn't be free.
Commit: 50e13e9d807d32980a909aca442b928e597876ff
https://github.com/llvm/llvm-project/commit/50e13e9d807d32980a909aca442b928e597876ff
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-global-addr.mlir
Log Message:
-----------
[flang][cuda] Avoid runtime copies for scalar constant host reads (#204193)
Fix CUDA Fortran lowering for host reads from scalar module variables
with the `constant` attribute.
Host code can read and write CUDA constants, while kernels read the
device constant symbol. Flang keeps a host-visible value for scalar
constant host accesses and uses a device symbol for kernels.
After preserving the host declaration, scalar read-backs such as `x = c`
could still be lowered as device-to-host runtime copies, passing a host
pointer as the CUDA source. This change lowers those read-backs as
regular host load/store operations, while keeping the runtime update for
host-to-device assignments.
Commit: b2cb99971fb498a7ff458b3a1a4a4edf3c3bafd3
https://github.com/llvm/llvm-project/commit/b2cb99971fb498a7ff458b3a1a4a4edf3c3bafd3
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Use the unmap function on MemMap object. (#204001)
The current call does a unmap(MemMap), but the rest of the code is doing
MemMap.unmap(XXX), so follow that pattern.
Commit: 2916c779f63b6391669cd87421aca000e1418247
https://github.com/llvm/llvm-project/commit/2916c779f63b6391669cd87421aca000e1418247
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/unittests/Basic/DiagnosticTest.cpp
M llvm/lib/Support/SpecialCaseList.cpp
M llvm/unittests/Support/SpecialCaseListTest.cpp
Log Message:
-----------
Make sanitizer special case list slash-agnostic (#149886)
This changes the glob matcher for the sanitizer special case format so
that it treats `/` as matching both forward and back slashes.
When dealing with cross-compiles or build systems that don't normalize
slashes, it's possible to run into file paths with inconsistent
slashiness, e.g. `../..\v8/include\v8-internal.h` when [building
chromium](https://g-issues.chromium.org/issues/425364464).
We can match this using the current syntax using this ugly kludge:
`src:*{/,\\}v8{/,\\}*`. However, since the format is explicitly for
listing file paths, it makes sense to treat `/` as denoting a path
separator rather than a literal forward slash. This allows us to write
the much more natural form `src:*/v8/*` and have it work on any
platform.
This is technically a behavior change, but it seems very unlikely to
come up in practice. It will only make a difference if a user has a
system where they want to catch `a/b` but not `a\b`. Even in the worst
case, they can still regain the previous behavior by escaping the slash
character in their pattern: `src:a\/b`.
Note: this is not default behavior yet. To activate use `#!special-case-list-v4` in
the first line of the special case list file.
---------
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: 9434d4ab865319c443826c2eb408329d0011dc71
https://github.com/llvm/llvm-project/commit/9434d4ab865319c443826c2eb408329d0011dc71
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
Reland "[clang][ssaf] Track target triple in TU and LU summaries" (#204218)
This commit introduces the following changes:
- Add `TargetTriple` field to `TUSummary`, `LUSummary`, and their encodings.
- Frontend captures the triple from `CompilerInstance::getTarget()` when extracting a TU summary.
- JSON format reads/writes a `target_triple` field at the root of each summary; reader rejects strings not in `llvm::Triple::normalize` form.
- All TU/LU JSON test inputs/outputs and unit tests updated to include the new field.
- `TargetParser` is added to `LLVM_LINK_COMPONENTS` for `clangScalableStaticAnalysisFrameworkCore`, which provides `Triple::normalize` and `Triple(string&&)` constructor that the `JSONFormat` sources reference.
`clang-ssaf-linker` uses a hardcoded triple for the link unit; surfacing the triple through the tool will be handled in a follow-up PR.
rdar://179403011
Commit: 930a46d2379914172f9e9e5e108510aa43fb7934
https://github.com/llvm/llvm-project/commit/930a46d2379914172f9e9e5e108510aa43fb7934
Author: Dakkshesh <64984008+beakthoven at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A clang/include/clang/Basic/BuiltinsAVR.def
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Basic/Targets/AVR.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
A clang/lib/CodeGen/TargetBuiltins/AVR.cpp
M clang/test/CodeGen/avr/avr-builtins.c
A clang/test/Preprocessor/avr-builtins.c
Log Message:
-----------
[clang][AVR] Add basic AVR builtin functions (#203214)
Adds support for AVR specific builtin functions as defined in:
https://gcc.gnu.org/onlinedocs/gcc/AVR-Built-in-Functions.html
The simpler builtins have been implemented: nop, sei, cli, sleep, wdr,
swap. And they are lowered to their llvm.avr.* intrinsics.
---------
Signed-off-by: Dakkshesh <beakthoven at gmail.com>
Commit: 2dfdd094d084e258934cc1e89be8a09fb59cdfa1
https://github.com/llvm/llvm-project/commit/2dfdd094d084e258934cc1e89be8a09fb59cdfa1
Author: Rashmi Mudduluru <r_mudduluru at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
A clang/test/Analysis/malloc-sizeof-fp.cpp
Log Message:
-----------
[clang][StaticAnalyzer] Reduce MallocSizeofChecker false positives for layout-compatible types (#200253)
When one operand is a record type and the other is a non-record type,
treat them as compatible if they share the same size and the record's
alignment satisfies the scalar's alignment. This suppresses warnings for
patterns like `malloc(sizeof(std::atomic<int32_t>))` assigned to an
`int32_t *` (or a wrapper struct with an identical layout), while still
flagging genuinely mismatched types such as `long` vs `double` or
unrelated struct pairs.
rdar://177553628
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 77fe8dc5c970fb46092c3abed59e2fb66529ec4a
https://github.com/llvm/llvm-project/commit/77fe8dc5c970fb46092c3abed59e2fb66529ec4a
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/resolve130.f90
A flang/test/Semantics/resolve131.f90
Log Message:
-----------
[flang][semantics] Allow forward-typed PARAMETER constants under IMPLICIT NONE (#203398)
Under IMPLICIT NONE, flang rejected a named constant defined by a
PARAMETER statement whose explicit type declaration appears later in the
same specification part:
implicit none
parameter(n=4096)
integer n ! error: No explicit type declared for 'n'
end
Accept it as an extension, reusing the existing ForwardRefImplicitNone
language feature that already permits forward references to dummy
arguments and COMMON variables under IMPLICIT NONE(TYPE). The behavior
is accepted silently by default and emits a portability warning under
-pedantic.
Assisted-by: AI
Commit: 3a7f3fd87aadf4d27a5faebd1231a1188e45a2c0
https://github.com/llvm/llvm-project/commit/3a7f3fd87aadf4d27a5faebd1231a1188e45a2c0
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/rotated-strided-loads.ll
Log Message:
-----------
[SLP] Add test demonstrating bug in widened strided store logic (#204012)
See #204011
Commit: dcd41b43f0613057591ae2ba63679c65e18145bf
https://github.com/llvm/llvm-project/commit/dcd41b43f0613057591ae2ba63679c65e18145bf
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/test/CodeGen/X86/atomic-load-store.ll
Log Message:
-----------
[X86] Extend alignedstore PatFrag to cover atomic_store (#197861)
Smaller FP vectors (`<N x half>`, `<N x bfloat>`) are left to the DAG
widen path on subtargets without native FP16/BF16 support; the
v8f16/v8bf16 bitconvert variants added to the Atomic Store Split
commit's patterns let the
widened path collapse to a single instruction on AVX+ targets.
Store-side counterpart to #148899 (and now
https://github.com/llvm/llvm-project/pull/199520). Stacked on top of
https://github.com/llvm/llvm-project/pull/201980; and below of
https://github.com/llvm/llvm-project/pull/201566.
Commit: 1b4d46370a1a56be51c2067e7978863b1a992c1f
https://github.com/llvm/llvm-project/commit/1b4d46370a1a56be51c2067e7978863b1a992c1f
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/test/ExecutionEngine/MCJIT/frem.ll
M llvm/tools/lli/CMakeLists.txt
Log Message:
-----------
[MCJIT] Fix frem.ll test failure with LLVM_ENABLE_RPMALLOC on Windows (#200319)
When compiled with `LLVM_ENABLE_RPMALLOC`, `lli.exe` links statically to
the runtime. With `LLVM_EXPORT_SYMBOLS_FOR_PLUGINS` enabled, `lli.exe`
exports a subset of symbols from the runtime library, but not all. In
particular, `printf()` is exported from the application binary, but
`fflush()` and `exit()` are not. For a JITted module, unresolved
external symbols are loaded either from the application or dynamic
libraries, in this case, from `msvcrt.dll`. The `MCJIT/frem.ll` test
attempts to flush the output, but because the functions resolve to
different CRT instances, the output data is lost.
The patch avoids the test failure by disabling exporting symbols from
`lli.exe` when it is linked with the static runtime library.
Commit: 698648fb72e6973a62bf1004287dedd94fd01807
https://github.com/llvm/llvm-project/commit/698648fb72e6973a62bf1004287dedd94fd01807
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Implement UnscheduledPreds API (#201240)
Mirroring UnscheduledSuccs, this patch adds an UnscheduledPreds DAG node
counter that counts how many predecessors are not scheduled yet.
It also renames the existing ready() to readyBottomUp() to help us
differentiate between the two variants that are now available.
Commit: b3d0487ef16050a63e522bc7e96cc4233b6e7b70
https://github.com/llvm/llvm-project/commit/b3d0487ef16050a63e522bc7e96cc4233b6e7b70
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
Log Message:
-----------
[AMDGPU] NFC: Obviously show isVALU includes LDSDMA instructions (#203548)
In https://reviews.llvm.org/D124472 we started labelling LDSDMA as VALU
-- this was due to SPG stating that these instructions act as both
memory + VALU instructions.
This is buried in the isVALU methods - I'd argue that most users without
knowledge of this characteristic would not expect this behavior, and
looking at the implementation of these methods, there is nothing that
would suggest this behavior. This PR forces users to confront this
characteristic and decide if that is what they want to do for their
usecase.
I've personally seen at least two bugs in upstream code caused by this,
and have seen it cause problems a dozen + times in downstream code / in
WIP things.
Commit: e8b2205b90e021d3239880739d3c54f1ccae4d3f
https://github.com/llvm/llvm-project/commit/e8b2205b90e021d3239880739d3c54f1ccae4d3f
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/vgpr-excess-threshold-percent-invalid.ll
A llvm/test/CodeGen/AMDGPU/vgpr-excess-threshold-percent.ll
Log Message:
-----------
[AMDGPU] Add flag to control VGPR pressure limits (#203797)
The RP trackers don't accurately measure the RA problem, and can
underestimate the number of registers required. Currently, for VGPR
pressure, we account for these inaccuracies using VGPRLimitBias, and
ErrorMargin. These are used to reduce the VGPRCriticalLimit /
VGPRExcessLimit . During scheduling, we check RP against these limits,
and if we start to see RP exceeding these limits, we will trigger RP
reduction heuristics (when deciding which instructions to schedule
next). Thus VGPRLimitBias + ErrorMargin effectively reduce the amount of
allowable RP during scheduling, as a means to compensate for RP tracker
inaccuracies. Currently, ErrorMargin is set to 3, and VGPRLimitBias is
set to 0.
However, the degree of inaccuracy tends to scale with the number of
registers we have available for allocation. In other words, the RP
trackers inaccuracy is better expressed as a percent of the register
budget, rather than some literal value. This PR adds some functionality
to express this inaccuracy compensation is a percent - and exposes a
flag which is useful for debug purposes. This correction only effects
the Excess/Critical limit and does not adjust things like MinOCcupancy,
or our spill estimates -- it only effects the guiding heuristics used
during scheduling instead of also impacting the meta heuristics used
when evaluating schedules. I can make arguments that it should also
impact meta heuristics, but that would be changing the current semantics
of the limit correction mechanisms. I thought it best to leave that as a
separate PR if we want to go that route.
Commit: e9faee6052d35e13bae95fda3fcbe40ed36d2e35
https://github.com/llvm/llvm-project/commit/e9faee6052d35e13bae95fda3fcbe40ed36d2e35
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb][test] Skip watchpoint and expression tests on WebAssembly (#204235)
WebAssembly has no watchpoint support (Process/wasm reports no
watchpoints; the stop reason comes back as a plain signal) and cannot
JIT or interpret expressions (ProcessWasm sets CanJIT to false). Teach
the existing per-platform category checks about wasm so the whole
"watchpoint" and "expression" categories are skipped, rather than
decorating each test individually.
Commit: 0677ebe8623790fea2f4b91258ae0167f8255d12
https://github.com/llvm/llvm-project/commit/0677ebe8623790fea2f4b91258ae0167f8255d12
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use getSingleUser to improve code (NFC) (#203882)
Commit: c8d735d6753c75095c840ff6363e704a44aa96b9
https://github.com/llvm/llvm-project/commit/c8d735d6753c75095c840ff6363e704a44aa96b9
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M libcxx/include/__numeric/accumulate.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/inner_product.h
M libcxx/include/__numeric/pstl.h
M libcxx/include/__numeric/reduce.h
M libcxx/include/__numeric/transform_reduce.h
R libcxx/test/libcxx/numerics/nodiscard.verify.cpp
A libcxx/test/libcxx/numerics/numeric.ops/nodiscard.verify.cpp
M libcxx/test/libcxx/utilities/bit/nodiscard.verify.cpp
Log Message:
-----------
[libc++][numeric] Applied `[[nodiscard]]` to `<numeric>` (#202770)
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
Applied `[[nodiscard]]` to the remaining functions.
Towards: https://github.com/llvm/llvm-project/issues/172124
This PR also eliminates
libcxx/test/libcxx/numerics/nodiscard.verify.cpp, which was misplaced
and contained unrelated tests. These tests were moved to where they
belong. This refactoring is included in this PR as the change is also
related to `<numeric>`.
Reference:
- https://eel.is/c++draft/numeric.ops.overview
- https://eel.is/c++draft/numeric.ops
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 1915af8a196863d604eb1c58cf99e64a0ec58153
https://github.com/llvm/llvm-project/commit/1915af8a196863d604eb1c58cf99e64a0ec58153
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
A llvm/test/MC/AMDGPU/amdgcn_target_directive_from_eflags.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx1250.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx950.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-raw.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
AMDGPU: Teach disassembler to produce target id directives (#203979)
Inspect the binary's e_flags to reproduce the .amdgcn_target directive.
This is a step towards round-trip disassembly without depending
on command line state specifying the subtarget. I wasn't sure
where to put the emission to ensure it is always emitted. I
also do not know why it's OK to just write to outs(), but that's
what the other directives here were doing.
Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
Commit: 4fd2a5cb17c55975ebb4c23f0b90e20621e9a744
https://github.com/llvm/llvm-project/commit/4fd2a5cb17c55975ebb4c23f0b90e20621e9a744
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/BinaryFormat/Magic.cpp
M llvm/unittests/BinaryFormat/TestFileMagic.cpp
Log Message:
-----------
[BinaryFormat] Fix UBSan negative-shift in identify_magic Mach-O path (#204122)
`identify_magic()` read the Mach-O filetype field at offset 12 by
left-shifting four bytes of the input StringRef:
```
type = Magic[12] << 24 | Magic[13] << 12 | Magic[14] << 8 | Magic[15];
```
`StringRef::operator[]` returns a `signed char`. When a header byte has
its
high bit set (e.g. 0xFA == -6 after promotion to int), the expression
"-6 << 24" is undefined behavior; even positive bytes like 0xFF promote
to a value whose "<< 24" overflows a signed int. UBSan trapped this on a
crafted input found by lldb-target-fuzzer:
```
Magic.cpp:177:26: runtime error: left shift of negative value -6
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
libFuzzer: deadly signal
```
Reached via `SBDebugger::CreateTarget` ->
`ObjectFile::GetModuleSpecifications`
-> `identify_magic` on a 17-byte file starting with the reverse-endian
Mach-O magic (CF FA ED FE).
Read the four bytes through `llvm::support::endian::read{32be,32le}`
instead. The helpers operate on unsigned bytes, so there is no signed
promotion and no left-shift UB; the byte-order choice matches the
header's documented layout (native magic FE ED FA C{E,F} => filetype
stored big-endian; reverse magic CE/CF FA ED FE => little-endian).
As a side effect this also corrects a latent typo in the hand-rolled
read: the second byte was shifted by 12 instead of 16. The bug was
masked in practice because real Mach-O filetype values fit in the
low-order byte, so the high bytes were zero.
Endian.h was already included and `llvm::support::endian` was already
imported with "using namespace" at the top of the file, so no extra
includes are needed.
Reproducer:
target-fuzzer-testcases/crash-1b8df752f6b9c0b0ff6ae36e9fd1db3c6ea73b6d
17 bytes: cf fa ed fe 03 ff ff ff ff 03 ff ff ff ff cf fa fe
Before: UBSan abort at Magic.cpp:177.
After: ./bin/lldb-target-fuzzer <repro> -> "Executed ... in 44 ms", exit
0.
Commit: 3aea0a064a8649c8068373407609b896915fd7fb
https://github.com/llvm/llvm-project/commit/3aea0a064a8649c8068373407609b896915fd7fb
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 930a46d23799 (#204244)
Commit: 6e8c2dcbae543084eb7bbb087a6a5e9d4cecb05a
https://github.com/llvm/llvm-project/commit/6e8c2dcbae543084eb7bbb087a6a5e9d4cecb05a
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
R clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
R clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
Revert "Reland "[clang][ssaf] Track target triple in TU and LU summaries"" (#204236)
Reverts llvm/llvm-project#204218
Fails amdgpu buildbots
Commit: 6b52ab266ad28f5af38832ec4e34eafc93aa2e8e
https://github.com/llvm/llvm-project/commit/6b52ab266ad28f5af38832ec4e34eafc93aa2e8e
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
Log Message:
-----------
[RISC-V] Rename GPRCMem operand to BasePtrC. NFC
This is in preparation for https://github.com/llvm/llvm-project/pull/177073
where these operands can refer to either a GPR or YGPR depending on the
current HwMode.
Pull Request: https://github.com/llvm/llvm-project/pull/204241
Commit: 9006a2c15182498f61919caa917ca16f847e4622
https://github.com/llvm/llvm-project/commit/9006a2c15182498f61919caa917ca16f847e4622
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rv64c-invalid.s
M llvm/test/MC/RISCV/rvc-hints-invalid.s
M llvm/test/MC/RISCV/xqcibm-invalid.s
Log Message:
-----------
[RISC-V][MC] Improve the diagnostic for invalid compressed register number
Instead of a generic `invalid operand for instruction`, print
`register must be a GPR from x8 to x15` instead.
Pull Request: https://github.com/llvm/llvm-project/pull/204237
Commit: 790dee311f4f5f770a92d152a6bc1e289c47bebf
https://github.com/llvm/llvm-project/commit/790dee311f4f5f770a92d152a6bc1e289c47bebf
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
A clang/test/Analysis/Scalable/PointerFlow/multi-dim-pointer-flow-constraint.test
Log Message:
-----------
[SSAF][WPA] Add a lit test for the WPA improvement of #198889 (#204018)
This commit adds a lit test, which is an example of the issue solved by
#198889 and was discovered independently when applying the analysis to a
real project.
rdar://179754164
Commit: e4432714743a4501edf0ffc67facd56dc075a7a3
https://github.com/llvm/llvm-project/commit/e4432714743a4501edf0ffc67facd56dc075a7a3
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/objc-constant-literals.m
Log Message:
-----------
[Driver] Re-enable -fobjc-constant-literals by default (#204208)
This reverts 4d154f6ea5eb ([Driver] Disable -fobjc-constant-literals by
default (#195000)), which was a temporary measure to unblock a project
that the original constant-literal change (#185130) broke.
For background on the feature and the discussion that led to disabling
and then re-enabling it, see
https://github.com/llvm/llvm-project/pull/185130.
rdar://179823193
Commit: 0b0e0b4a3c02f7217cec22776868e8e0a5ed9f3f
https://github.com/llvm/llvm-project/commit/0b0e0b4a3c02f7217cec22776868e8e0a5ed9f3f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/test/API/commands/target/create-deps/TestTargetCreateDeps.py
M lldb/test/API/functionalities/always-run-threads/TestAlwaysRunThreadNames.py
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/lang/c/anonymous/TestAnonymous.py
M lldb/test/API/lang/c/blocks/TestBlocks.py
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
M lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
M lldb/test/API/lang/c/enum_types/TestEnumTypes.py
M lldb/test/API/lang/c/fpeval/TestFPEval.py
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
M lldb/test/API/lang/c/modules/TestCModules.py
M lldb/test/API/lang/c/register_variables/test.c
M lldb/test/API/lang/c/sizeof/TestCSizeof.py
M lldb/test/API/lang/c/struct_types/TestStructTypes.py
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
Log Message:
-----------
[lldb][test] Skip unsupported tests on WebAssembly (#204245)
Mark more tests that rely on features unavailable on wasm32-wasip1 (or
in LLDB's Wasm support): expression evaluation (skipIfWasm), shared
libraries (skipIfTargetDoesNotSupportSharedLibraries), threads
(skipIfTargetDoesNotSupportThreads), and llvm-strip --keep-symbol, which
the Wasm object format doesn't support. Where a test also has supported,
passing cases, the decorator is applied per method.
The "expression" category is already skipped for Wasm, but that only
covers commands/expression/*, where the category is set by a
"categories" file. The tests in this PR live elsewhere and merely use
expression evaluation incidentally, so they aren't in that category and
need skipIfWasm directly.
Commit: e6a049021d2f46bae5d8df22d5e447cca62bbd98
https://github.com/llvm/llvm-project/commit/e6a049021d2f46bae5d8df22d5e447cca62bbd98
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
Log Message:
-----------
[clang-format] Stop inserting blank line in disabled region (#201995)
Previously, a blank got inserted before the `// clang-format off`
comment with the `SeparateDefinitionBlocks` option set.
Fixes #106983 and #146317.
Commit: ac131eb48890abd2ae286f31541d497bb272ee44
https://github.com/llvm/llvm-project/commit/ac131eb48890abd2ae286f31541d497bb272ee44
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGenCXX/cxx20-nttp-object-layout.cpp
Log Message:
-----------
[Clang][CodeGen] Fix C++20 NTTP object field indexing (#204174)
C++20 allows a class object to be used as a non-type template
parameter. For example, a template can take an object of a struct like
`{ char A; long long B; char C; char First[2]; char Second[2]; }`.
That struct has padding before `B`. The constant emitter can represent
the value with an ordinary LLVM struct and let LLVM provide that padding
implicitly. Normal record CodeGen instead uses the memory type for the
record, which may contain explicit padding fields so C++ fields have
stable LLVM field numbers.
The bytes are laid out the same, but the LLVM field numbers are not.
For the normal padded record type, `First` has one field index. For the
compact constant type, that same index names a later field. Clang was
computing the field index for the padded record type, then applying it
to the compact template parameter object type. As a result, reading
`First` could read from the bytes for `Second` instead.
Return the template parameter object address using the normal memory
type for the record. This makes the field index apply to the type it
was computed for, so field access uses the same layout as an ordinary
object. The constant data itself stays the same.
Commit: f2d2d98fc866474b87e2fdc20ee5d6dd3dcdbe56
https://github.com/llvm/llvm-project/commit/f2d2d98fc866474b87e2fdc20ee5d6dd3dcdbe56
Author: Fabian Parzefall <fabian.parzefall at mailbox.org>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M bolt/runtime/instr.cpp
A bolt/test/runtime/setup-race.cpp
Log Message:
-----------
[BOLT] Delay indirect call pointer setup (#204229)
There is a race in the instrumentation runtime during setup. The setup
initializes the function pointers for indirect call instrumentation
before the indirect call counters array. If the application spawns a
background thread through a constructor (as does jemalloc), the
background thread has a chance to derefence that uninitialized array
pointer. Defer initialization of these function pointers to prevent this
race.
Fixes #198181.
Co-authored-by: Fabian Parzefall <parzefall at meta.com>
Commit: 212ae443a544e99f2a465cd9ee14dab096abd852
https://github.com/llvm/llvm-project/commit/212ae443a544e99f2a465cd9ee14dab096abd852
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
Log Message:
-----------
AMDGPU: Add TargetParser to disassembler dependencies (#204250)
Should fix build failure after #203979, but should be reverted
in #204150
Commit: 5639b33d7567bf648f27418b126f5f6f6292b730
https://github.com/llvm/llvm-project/commit/5639b33d7567bf648f27418b126f5f6f6292b730
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Log Message:
-----------
[scudo] For a realloc that shrinks, retag the extra. (#204031)
When MTE is enabled and an allocations is reallocated from a large size
to a smaller size, zero tag the rest of the allocation. Before this
change only a single granule after the new size was zero tagged. This
adds extra security and use after realloc protection if code would have
tried to read/write into the old size, past the new size.
Commit: 2208263ee893e3713b1c7f650817565a7431478b
https://github.com/llvm/llvm-project/commit/2208263ee893e3713b1c7f650817565a7431478b
Author: jimingham <jingham at apple.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
A lldb/examples/python/delayed_enable.py
Log Message:
-----------
Add a useful command to the python examples & "lldb.utils" (#204251)
When debugging GUI programs where you have a bunch of breakpoints set
that you only want to have trigger when in the middle of some UI
interaction (a drag and drop for example) but not before, you need a way
to have the breakpoints disabled till a certain point, then re-enabled.
But since you are in the middle of the interaction, you can't interact
with the debugger to do that.
This little command disables your breakpoints, continues if you were
stopped, waits for a prescribed interval, then re-enables them.
Commit: 9ededda752f390692ef3bff847a2abb0b8cc80ea
https://github.com/llvm/llvm-project/commit/9ededda752f390692ef3bff847a2abb0b8cc80ea
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
Log Message:
-----------
[HLSL] Codegen for passing cbuffer structs as function args (#203961)
Constant buffer structs are in `hlsl_constant` address space and have a
different layout than structs in default address space. They need to be
copied element-by-element and not by `memcpy`.
This change adds a check for the `hlsl_constant` address space to the
code path that avoids materializing a temporary copy for simple
`CK_LValueToRValue ` casts. This makes sure the constant buffer structs
is copied element-by-element to a temporary before being passed to a
function.
Commit: 08527565f21a404b5ed925faf40f01b515326f7c
https://github.com/llvm/llvm-project/commit/08527565f21a404b5ed925faf40f01b515326f7c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M lldb/test/API/commands/platform/process/list/TestProcessList.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
M lldb/test/API/commands/register/register_command/TestRegisters.py
M lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py
M lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py
M lldb/test/API/functionalities/rerun_and_expr/TestRerunAndExpr.py
M lldb/test/API/functionalities/rerun_and_expr_dylib/TestRerunAndExprDylib.py
M lldb/test/API/lang/c/libc_calls/TestLibcCalls.py
M lldb/test/API/lang/cpp/abi_tag_structors/TestAbiTagStructors.py
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
M lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
M lldb/test/API/lang/cpp/namespace_conflicts/TestNamespaceConflicts.py
M lldb/test/API/lang/cpp/operators/TestCppOperators.py
M lldb/test/API/lang/cpp/printf/TestPrintf.py
M lldb/test/API/lang/cpp/static_members/TestCPPStaticMembers.py
M lldb/test/API/lang/cpp/symbols/TestSymbols.py
M lldb/test/API/lang/cpp/template-diagnostic-hint/TestTemplateDiagnosticHint.py
M lldb/test/API/lang/cpp/template-function/TestTemplateFunctions.py
M lldb/test/API/lang/cpp/this/TestCPPThis.py
M lldb/test/API/lang/cpp/unique-types4/TestUniqueTypes4.py
M lldb/test/API/python_api/hello_world/TestHelloWorld.py
Log Message:
-----------
[lldb][test] Skip even more unsupported tests on WebAssembly (#204255)
A second pass over the full API suite for tests that depend on features
unavailable on wasm32-wasip1 or in LLDB's Wasm support:
- Expression evaluation (skipIfWasm) for the C++ tests that the
"expression" category doesn't cover, since that category only applies to
commands/expression/*.
- Attaching to a running process (skipIfWasm). These tests have the
harness spawn the inferior as a host process and then attach, but a
.wasm module isn't a native executable, so exec'ing it fails with
ENOEXEC ("Exec format error"). The wasm module only runs inside the
runtime (e.g. iwasm) that LLDB launches, so there is no host process to
attach to.
Where a test also has supported, passing cases, the decorator is applied
per method.
Commit: 8bea2ff77716f38575ea71eb38318ae19adad0d6
https://github.com/llvm/llvm-project/commit/8bea2ff77716f38575ea71eb38318ae19adad0d6
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Frontend/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/ScalableStaticAnalysisFramework/Tool/CMakeLists.txt
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
M clang/tools/clang-ssaf-analyzer/CMakeLists.txt
M clang/tools/clang-ssaf-format/CMakeLists.txt
M clang/tools/clang-ssaf-linker/CMakeLists.txt
M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
Reland "[clang][ssaf] Track target triple in TU and LU summaries. #204027" (#204259)
This commit introduces the following changes:
- Add `TargetTriple` field to `TUSummary`, `LUSummary`, and their encodings.
- Frontend captures the triple from `CompilerInstance::getTarget()` when extracting a TU summary.
- JSON format reads/writes a `target_triple` field at the root of each summary; reader rejects strings not in `llvm::Triple::normalize` form.
- All TU/LU JSON test inputs/outputs and unit tests updated to include the new field.
`clang-ssaf-linker` uses a hardcoded triple value for the link unit; surfacing the triple through the tool will be handled in a follow-up PR.
rdar://179403011
Commit: edc5f477d3ccddd3b100603de3d4522627985e87
https://github.com/llvm/llvm-project/commit/edc5f477d3ccddd3b100603de3d4522627985e87
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel][AVR] Fix 930a46d2379914172f9e9e5e108510aa43fb7934 (#204264)
Add AVR to the intrinsics list
Commit: 4ca9a58546c6a1c070f1fc9079da46b340047632
https://github.com/llvm/llvm-project/commit/4ca9a58546c6a1c070f1fc9079da46b340047632
Author: hev <wangrui at loongson.cn>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/vhaddw.ll
A llvm/test/CodeGen/LoongArch/lasx/vhsubw.ll
A llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
A llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll
Log Message:
-----------
[LoongArch][NFC] Add horizontal widening add/sub tests (#201487)
Commit: ad9ecc4739d136ac6818d6d439751556402b5134
https://github.com/llvm/llvm-project/commit/ad9ecc4739d136ac6818d6d439751556402b5134
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M libcxx/docs/ABIGuarantees.rst
M libcxx/include/__configuration/abi.h
M libcxx/include/deque
A libcxx/test/libcxx/containers/sequences/deque/lower_deque_block_size.default.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/lower_deque_block_size.lower.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
M libcxx/utils/libcxx/test/features/libcxx_macros.py
Log Message:
-----------
[libcxx] Configuration option to lower deque block size (#198348)
Commit: 58c4e5dff75df1ea849d4b4b2fdc5510e50e16c6
https://github.com/llvm/llvm-project/commit/58c4e5dff75df1ea849d4b4b2fdc5510e50e16c6
Author: hev <wangrui at loongson.cn>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/vhaddw.ll
M llvm/test/CodeGen/LoongArch/lasx/vhsubw.ll
M llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
M llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll
Log Message:
-----------
[LoongArch] Add DAG combine for horizontal widening add/sub (#201488)
Add a DAG combine to recognize horizontal widening add/subtract patterns
and lower them to the corresponding LSX/LASX instructions.
The following pattern is matched for both signed and unsigned variants:
```
ADD/SUB(SEXT/ZEXT(BUILD_VECTOR(extract_elt(vj, 1), extract_elt(vj, 3), ...)),
SEXT/ZEXT(BUILD_VECTOR(extract_elt(vk, 0), extract_elt(vk, 2), ...)))
```
This covers the following instructions:
```
LSX: VHADDW.H.B, VHADDW.W.H, VHADDW.D.W
VHADDW.HU.BU, VHADDW.WU.HU, VHADDW.DU.WU
VHSUBW.H.B, VHSUBW.W.H, VHSUBW.D.W
VHSUBW.HU.BU, VHSUBW.WU.HU, VHSUBW.DU.WU
LASX: XVHADDW.H.B, XVHADDW.W.H, XVHADDW.D.W
XVHADDW.HU.BU, XVHADDW.WU.HU, XVHADDW.DU.WU
XVHSUBW.H.B, XVHSUBW.W.H, XVHSUBW.D.W
XVHSUBW.HU.BU, XVHSUBW.WU.HU, XVHSUBW.DU.WU
```
The Q_D variants (VHADDW.Q.D, VHSUBW.Q.D and their unsigned
counterparts) are not handled here because the result type v1i128 is not
yet legalized in the backend.
Commit: 054c8f4082efa2e050861f998e2fbb881b2ad17e
https://github.com/llvm/llvm-project/commit/054c8f4082efa2e050861f998e2fbb881b2ad17e
Author: Yuan Suo <suoyuan666 at s5n.xyz>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/test/Sema/LifetimeSafety/safety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Add additional test for buildOriginFlowChain (#204124)
These are test case improvements suggested in previous PRs.
The `simpleparen` case originates from
https://github.com/llvm/llvm-project/pull/199345#discussion_r3343186258.
Additional unit test improvements were suggested in
https://github.com/llvm/llvm-project/pull/196075#discussion_r3274899024.
---------
Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>
Commit: f67bdab61ab2c131a7c14a1cce226be80dbad4db
https://github.com/llvm/llvm-project/commit/f67bdab61ab2c131a7c14a1cce226be80dbad4db
Author: Haowei <haowei at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[clang][driver] Fix flang frontend resolution for symlinked clang driver (#204253)
When clang is built as a symlink to the llvm multicall binary, the
driver resolves the executable path to 'llvm', making D.Name 'llvm'
instead of 'clang'.
This broke the detection of 'clang --driver-mode=flang' in Flang.cpp,
causing the driver to try to run 'llvm -fc1' instead of looking up
'flang', after change in #200438 was landed.
Fix this by checking D.getPrependArg() in addition to D.Name to identify
if we are acting as clang. Also use D.IsFlangMode() for simpler and more
robust detection of the driver mode.
Commit: f50d67d368fc0c6039e40aee283c52060dd66df4
https://github.com/llvm/llvm-project/commit/f50d67d368fc0c6039e40aee283c52060dd66df4
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
Log Message:
-----------
[AMDGPU][GISel] Clean trailing Imms from RegBankLegalize rules. NFC (#204195)
Commit: 847dbc3ce54c6b2bab77622768812364c868797b
https://github.com/llvm/llvm-project/commit/847dbc3ce54c6b2bab77622768812364c868797b
Author: hev <wangrui at loongson.cn>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/vsllwil.ll
A llvm/test/CodeGen/LoongArch/lsx/vsllwil.ll
Log Message:
-----------
[LoongArch][NFC] Add widening shift-left tests (#202601)
Commit: 9d788fe187d8b1f1f9f0cf0a1783c0994549cd15
https://github.com/llvm/llvm-project/commit/9d788fe187d8b1f1f9f0cf0a1783c0994549cd15
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/llvm-project-overlay/llvm/utils/lit/tests/BUILD.bazel
Log Message:
-----------
[bazel] Use --incompatible_default_to_explicit_init_py (#204275)
After #203998, the `per-test-coverage-by-lit-cfg.py` test is failing in
Bazel. It seems to be due to automatic `__init__.py` generation.
With some extra logs:
```
# .---command stdout------------
# | -- Testing: 5 tests, 1 workers --
# | FAIL: per-test-coverage-by-lit-cfg :: name-collision/__init__.py (1 of 5)
# | ******************** TEST 'per-test-coverage-by-lit-cfg :: name-collision/__init__.py' FAILED ********************
...
# | # .---command stderr------------
# | # | error: no check strings found with prefix 'CHECK:'
# | # `-----------------------------
```
I am not sure exactly the best way to deal with this, but
`--incompatible_default_to_explicit_init_py` disables this behavior and
makes the test pass. I also found some other excluded tests that now
pass, some of which have a similar directory structure, so those may
have the same underlying root cause.
Commit: 37881c63a952d554ab69d8ac31f8d1037b032c59
https://github.com/llvm/llvm-project/commit/37881c63a952d554ab69d8ac31f8d1037b032c59
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
Log Message:
-----------
[llvm] Replace unordered_{map,set} with Dense{Map,Set} in local maps (#204277)
std::unordered_map is slow. Replace maps and sets without a
pointer-stability requirement to DenseMap/DenseSet.
Extracted from #202222
Commit: e57dfa3d1ff53b08311417104fe144f82f7b591b
https://github.com/llvm/llvm-project/commit/e57dfa3d1ff53b08311417104fe144f82f7b591b
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/RDFGraph.h
M llvm/include/llvm/CodeGen/RDFLiveness.h
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
Log Message:
-----------
[RDF] Replace unordered_map with DenseMap. NFC (#204280)
std::unordered_map is slow. Switch DefStackMap and RefMap to DenseMap.
erase-while-iterating loops become DenseMap::remove_if.
Commit: 641f2daef21a4ceb173321a94e064c333c753257
https://github.com/llvm/llvm-project/commit/641f2daef21a4ceb173321a94e064c333c753257
Author: hev <wangrui at loongson.cn>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/vsllwil.ll
M llvm/test/CodeGen/LoongArch/lsx/vsllwil.ll
Log Message:
-----------
[LoongArch] Add DAG combine for widening shift-left (#202602)
Add DAG combines to recognize vector widening left-shift idioms and
lower them to VSLLWIL instructions.
The following pattern is matched for both signed and unsigned variants:
```
SEXT/ZEXT(Low-Half-Lanes(vec)) << Imm
```
This covers the following instructions:
```
LSX: VSLLWIL.H.B, VSLLWIL.W.H, VSLLWIL.D.W
VSLLWIL.HU.BU, VSLLWIL.WU.HU, VSLLWIL.DU.WU
LASX: XVSLLWIL.H.B, XVSLLWIL.W.H, XVSLLWIL.D.W
XVSLLWIL.HU.BU, XVSLLWIL.WU.HU, XVSLLWIL.DU.WU
```
Commit: 16d22173dbb1d3e77cfed5bbcc2aca1157350d25
https://github.com/llvm/llvm-project/commit/16d22173dbb1d3e77cfed5bbcc2aca1157350d25
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Basic/OpenCLOptions.h
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Driver/opencl.cl
M clang/test/Driver/unknown-std.cl
M clang/test/Preprocessor/predefined-macros.c
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Log Message:
-----------
[Clang][OpenCL] Add OpenCL 3.1 language version (#204043)
OpenCL 3.1 was recently added to spec in
https://github.com/KhronosGroup/OpenCL-Docs/commit/9fff1a87a975
This PR adds version 3.1 to clang support, including frontend flag
`-std=cl3.1` (and its alias `-std=CL3.1`).
Updated release note.
A few extensions are promoted to 3.1 core. They'll be handled in
follow-up PRs.
Assisted-by: Claude Sonnet 4.6
Commit: 4a3052bd23438b6d6bb9ef561f8b447224d8ea01
https://github.com/llvm/llvm-project/commit/4a3052bd23438b6d6bb9ef561f8b447224d8ea01
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode][NFC] Fix Pointer::operator<< for non-block pointers (#204156)
Some of those functions can only be called on block pointers.
Commit: 734d5690bc6e6425961d346c218292f4c6dcf011
https://github.com/llvm/llvm-project/commit/734d5690bc6e6425961d346c218292f4c6dcf011
Author: Lukas Sommer <lukas.sommer at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
A llvm/test/CodeGen/AMDGPU/rename-independent-subregs-unused-lanes.ll
M llvm/test/CodeGen/AMDGPU/rename-independent-subregs.mir
Log Message:
-----------
[Codegen] Avoid duplicate subranges for unused lanes (#204091)
Splitting registers in `RenameIndependentSubregs` requires inserting
`IMPLICIT_DEF` to ensure definition of the new register on all paths.
The existing logic for handling unused lanes would create duplicate
subranges if multiple predecessor blocks exist, causing the machine
verifier to fail.
This change ensures that only a single subrange is created for the
unused lanes which is then updated with additional segments in the
following iterations.
This fixes https://github.com/llvm/llvm-project/issues/197733.
---------
Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>
Commit: 9112f8f8e396c7ebf719b62be3023034082ebf55
https://github.com/llvm/llvm-project/commit/9112f8f8e396c7ebf719b62be3023034082ebf55
Author: Berke Ates <berke at ates.ch>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR] Adopt HasAncestor trait in omp.workshare.loop_wrapper and emitc.get_field (#197911)
Following #195447 which added the `HasAncestor` trait, replace the
ancestor-existence checks in two ops:
- `omp.workshare.loop_wrapper`
- `emitc.get_field`
Commit: 75b7809248cca443085c1c3fb572ae38add4c500
https://github.com/llvm/llvm-project/commit/75b7809248cca443085c1c3fb572ae38add4c500
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Consistently use `isBottomFrame()` (#204167)
Instead of checking for `getDepth() == 0`.
Commit: 8ac287ff07fc4545821b6085655cb3c711fdd659
https://github.com/llvm/llvm-project/commit/8ac287ff07fc4545821b6085655cb3c711fdd659
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-16 (Tue, 16 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV] Add pnsrl(i)/pnsra(i) patterns. (#204198)
Commit: 3746f3e4d6129124e80ec93f22cab174e03ba2f7
https://github.com/llvm/llvm-project/commit/3746f3e4d6129124e80ec93f22cab174e03ba2f7
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/SCCIterator.h
M llvm/include/llvm/CGData/OutlinedHashTree.h
M llvm/include/llvm/CGData/StableFunctionMap.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Transforms/IPO/GlobalDCE.h
M llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
M llvm/include/llvm/XRay/InstrumentationMap.h
M llvm/lib/CGData/OutlinedHashTree.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/Target/BPF/BTFDebug.h
M llvm/lib/Transforms/IPO/GlobalDCE.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/tools/llvm-xray/func-id-helper.h
Log Message:
-----------
[llvm] Replace unordered_{map,set} with Dense{Map,Set} (#202222)
std::unordered_map is slow. The remaining uses are pointer stability,
key spanning the full value range, or huge pair<key,value>. After
PR #201281 DenseMap no longer reserves sentinel keys, so more of these
maps can switch.
Aided by Claude Opus 4.8
Commit: caab00248488f14d91ec31fd7ccb8f331d485657
https://github.com/llvm/llvm-project/commit/caab00248488f14d91ec31fd7ccb8f331d485657
Author: Adrian Kuegel <akuegel at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M utils/bazel/configure.bzl
Log Message:
-----------
[bazel] Guard usage of repo_metadata (#204302)
Older Bazel versions don't have this attribute yet.
Commit: ca07de42aa11307d2f54036d7097e3caad5961ff
https://github.com/llvm/llvm-project/commit/ca07de42aa11307d2f54036d7097e3caad5961ff
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/IR/Value.cpp
A llvm/test/Transforms/InferAlignment/bitcast.ll
Log Message:
-----------
[IR] Only follow ptr/ptr-vector sources in stripAndAccumulateConstantOffsets bitcasts (#203356)
stripAndAccumulateConstantOffsets used to walk through every bitcast
operand. If the operand was not a pointer (e.g. a same-sized byte type
such as b64 reinterpreted as ptr), the walk could continue and violate
the invariant that the stripped value remains ptr or ptr-vector.
Align with stripPointerCastsAndOffsets: only look through bitcasts whose
source type is a pointer or pointer vector; keep addrspacecast as its
own case.
This commit is needed in PR #177908, and fixes issue
https://github.com/llvm/llvm-project/issues/203695.
Assisted by Cursor
Commit: fcf197f9452154b1a0968f6cb0795a3371e31f1d
https://github.com/llvm/llvm-project/commit/fcf197f9452154b1a0968f6cb0795a3371e31f1d
Author: Fangrui Song <i at maskray.me>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
Log Message:
-----------
UnicodeNameMappingGenerator: Replace unordered_{map,set} with DenseMap/SmallPtrSet. NFC (#204303)
Commit: 2964323a936c79d05c024252eb688b9151f66d3c
https://github.com/llvm/llvm-project/commit/2964323a936c79d05c024252eb688b9151f66d3c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.cpp
A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.def
A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[RFC][AMDGPU][InsertWaitCnt] Move WaitEventType into separate HWEvent header (#202886)
I propose to move `WaitEventType` into its own header to start a new
component of the back-end targeted at analyzing and treating hardware
events
fired by instructions. Right now this just moves code around and renames
things
(NFCI) but over time, we should generalize the events so they can be
reused
by other passes instead of being hyper-specialized for InsertWaitCnt.
Commit: 2cd778c2064c98980215f4a93c3036b7fe3722a3
https://github.com/llvm/llvm-project/commit/2cd778c2064c98980215f4a93c3036b7fe3722a3
Author: Qixi <tjx2361869673 at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
Log Message:
-----------
[clangd] Replay macro definitions from preamble for clang-tidy checks (#202495)
Clang-tidy checkers observe preprocessor events via PPCallbacks. When
using a preamble, macro definitions in the preamble region of the main
file are not replayed during the main-file build, causing checkers like
bugprone-reserved-identifier to miss them.
This patch extends ReplayPreamble::replay() to also replay MacroDefined
events for macros defined directly in the preamble region of the open
file, similar to how InclusionDirective events are already replayed.
Fixes: https://github.com/clangd/clangd/issues/2501
Commit: d74caa40ec86ceb2c3e6e18d45adeab8fb40b4a4
https://github.com/llvm/llvm-project/commit/d74caa40ec86ceb2c3e6e18d45adeab8fb40b4a4
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
Log Message:
-----------
[mlir][spirv] Fix crash on 0-D vectors in vector unrolling (#203291)
`getTargetShape` and `getNativeVectorShape` called `getShape().back()`
without checking for rank-0 vectors, whose shape is empty. This crashed
when the SPIR-V vector unrolling pass processed a function returning a
0-D vector (e.g. `vector<f32>`) or a 0-D elementwise op.
0-D vectors have no dimension to unroll along and are not SPIR-V vector
types, so bail out and leave them unchanged in both paths.
Fixes https://github.com/llvm/llvm-project/issues/203220
Commit: 09a51b2818e2ff8d0a6f43c3c7468df71a5d2098
https://github.com/llvm/llvm-project/commit/09a51b2818e2ff8d0a6f43c3c7468df71a5d2098
Author: Weronika Lewandowska <weronika.lewandowska at intel.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/include/omptarget.h
M offload/liboffload/CMakeLists.txt
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/common/include/ErrorReporting.h
M offload/plugins-nextgen/common/include/GlobalHandler.h
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/plugins-nextgen/common/src/RecordReplay.cpp
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/tools/CMakeLists.txt
Log Message:
-----------
[offload] Add Windows offload support (#187006)
Commit: c872ac1d0d07ca7df5cc09f4218e175029c4c001
https://github.com/llvm/llvm-project/commit/c872ac1d0d07ca7df5cc09f4218e175029c4c001
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUHWEvents.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHWEvents.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][InsertWaitCnts] Move HWEvent analysis code (#202887)
Building up on the previous RFC, if it is accepted:
Move the code that maps a MachineInstr to HWEventSet to a separate file.
This should be NFC.
Commit: 38f121e88adb4b450d116c2786086ccd160cef81
https://github.com/llvm/llvm-project/commit/38f121e88adb4b450d116c2786086ccd160cef81
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Fix duplicate error messages in expect_expr/var_path (#202310)
The error message field for expect_* methods always prints the value
object, so there is no need to specify a custom error message that then
just prints the object too.
This fixes the duplicate value object printout on test failures.
Commit: d9dcc11478f5d255db26b8080a86d8eca9fab16e
https://github.com/llvm/llvm-project/commit/d9dcc11478f5d255db26b8080a86d8eca9fab16e
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M flang/include/flang/Lower/CustomIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/MIFCommon.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
Log Message:
-----------
[flang][NFC] remove libFortranEvaluate from Optimizer libraries (#204222)
Replace usages of `AbstractConverter` inside IntrinsicCall.cpp by a
structure that propagates the required option to avoid bringing
libFortranEvaluate as a dependency of libFortranOptimizer while the
Optimizer is not using evalute::Expr or other front-end data structure
at all.
Also remove headers whose include have crept-in and that were never
removed while not required.
Commit: 7e69b169965d78dbd5c2343ce4aa89eeb9fda131
https://github.com/llvm/llvm-project/commit/7e69b169965d78dbd5c2343ce4aa89eeb9fda131
Author: robertvirany <robertvirany at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/smax-icmp.ll
M llvm/test/Transforms/InstCombine/smin-icmp.ll
M llvm/test/Transforms/InstCombine/umax-icmp.ll
M llvm/test/Transforms/InstCombine/umin-icmp.ll
Log Message:
-----------
[InstCombine] Fold X == Identity ? Y : min/max(X, Y) (#202748)
Fixes #202576
Fold:
```llvm
select (X == -1), Y, umin(X, Y) -> umin(X, Y)
select (X == 0), Y, umax(X, Y) -> umax(X, Y)
select (X == SignedMax), Y, smin(X, Y) -> smin(X, Y)
select (X == SignedMax), Y, smax(Y, X) -> smax(X, Y)
```
Snd the inverted/commuted forms.
AI note: I used AI to help me read through the codebase and write the
tests.
Commit: de84e7ccc602fe2ef8b886a9b095c80d110f61a0
https://github.com/llvm/llvm-project/commit/de84e7ccc602fe2ef8b886a9b095c80d110f61a0
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
M llvm/lib/Target/Mips/MipsRegisterInfo.td
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/Mips/MipsScheduleGeneric.td
M llvm/lib/Target/Mips/MipsScheduleI6400.td
M llvm/lib/Target/Mips/MipsScheduleP5600.td
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
Log Message:
-----------
[MIPS] soft-promote `f16` also when using `+msa` (#204158)
Fixes https://github.com/llvm/llvm-project/issues/202808
Re-lands https://github.com/llvm/llvm-project/pull/203065
Make use of the default soft-promote mechanism for f16, rather than an
ad-hoc approach making f16 storage-only.
In theory you could leave it at that, but I added custom implementations
to make use of the instructions for `FP16_TO_FP` and `FP_TO_FP16`, and
manually apply the "fptoui to fptosi trick" which generates shorter
code.
I've now tested that, in combination with
https://github.com/llvm/llvm-project/pull/203390, this PR is able to
build and run the rust `std` test suite, which exercises both `f16` and
vectors a bunch. The tests all pass under `qemu` as well.
The last commit fixes an integer overflow bug that triggered UBSan and
led to an earlier revert of these changes.
Commit: 045ec52e630d7246e3f94d3e93e4fd8638863098
https://github.com/llvm/llvm-project/commit/045ec52e630d7246e3f94d3e93e4fd8638863098
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/test/API/lit.cfg.py
Log Message:
-----------
[lldb][test] Only calculate LLDB python path once (#201327)
We spend about 70ms each dotest invocation recalculating the path where
the LLDB module is. This patch changes this so that dotest calculates
this path once and passes it to every dotest invocation.
As a fallback, we still support inferring the location from LLDB as
before, but I would propose we drop this support in the future.
Commit: b59f9651cecfe0f3a33035846b991a9968ee26c5
https://github.com/llvm/llvm-project/commit/b59f9651cecfe0f3a33035846b991a9968ee26c5
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
Log Message:
-----------
[lldb][test] Cleanup and modernize TestHiddenIvars.py (#202023)
This is simple rewrite of the test. The patch improves three things:
* It replaces old expect tests with the new expect_* variants that no
longer rely on substring matching.
* It unifies the strip/non-stripped checks as we actually produce
identical SBValues in both cases (by fetching data from the Objective-C
runtime).
* It builds this test with a shared build directory. Our stripping logic
generates a new stripped binary in a subdirectory and doesn't touch the
shared build files. This also halves the test runtime to 6s.
Commit: 7d92d40dcf8e748a5185eb589fcfe6f30fca89a3
https://github.com/llvm/llvm-project/commit/7d92d40dcf8e748a5185eb589fcfe6f30fca89a3
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-pro-fp-valid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add row_gather operator (#202895)
Adds support for the row_gather operator defined by the TOSA
specification, see https://github.com/arm/tosa-specification/pull/60.
This includes:
- Operator definition
- Verification logic for the operator
- Output shape inference for the operator
- Validation checks to ensure compliance with the TOSA specification
including profile compliance and level checks.
- Canonicalization to replace row_gather with gather when row_count is
statically known to be 1.
It does not yet cover support for MXFP types. This will be added once
block scaled types are supported.
Commit: 8c3d2e9454636dd5284b572f4727b15874fc00b0
https://github.com/llvm/llvm-project/commit/8c3d2e9454636dd5284b572f4727b15874fc00b0
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/docs/Passes.rst
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
Log Message:
-----------
[Passes] Remove deadarghaX0r pass (#204310)
This was a pass internally used by bugpoint. Bugpoint has been removed,
so remove the pass as well.
Commit: 6f73bc282f9c446673b2a5eb439bf2005b54d076
https://github.com/llvm/llvm-project/commit/6f73bc282f9c446673b2a5eb439bf2005b54d076
Author: David Spickett <david.spickett at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Support/Parallel.cpp
Log Message:
-----------
[llvm] Fix unused function warning in Parallel (#204114)
When llvm is built without threading support:
<...>/llvm-project/llvm/lib/Support/Parallel.cpp:230:13: warning: unused
function 'isNested' [-Wunused-function]
230 | static bool isNested() {
| ^~~~~~~~
The function is only used once, so I've put the code into the caller,
which is itself guarded with `#if LLVM_ENABLE_THREADS`.
Function added in 8daaa26efdda3802f73367d844b267bda3f84cbe / #189293.
Commit: 55ea1823580283c0a5b03477d85070309dc1a2d1
https://github.com/llvm/llvm-project/commit/55ea1823580283c0a5b03477d85070309dc1a2d1
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
A llvm/test/Transforms/FunctionSpecialization/interposable.ll
Log Message:
-----------
[FuncSpec] Do not specialize interposable functions (#204314)
We cannot specialize interposable functions, because the definition we
see may not be prevailing one. The prevailing definition can have
arbitrary different behavior.
We *can* still specialize inexact definitions like linkonce_odr, similar
to inlining.
Commit: b9f8eee4a871d7cb47fb2679959b3fe799a58a17
https://github.com/llvm/llvm-project/commit/b9f8eee4a871d7cb47fb2679959b3fe799a58a17
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
Log Message:
-----------
[DirectX][ObjectYAML][NFC] Remove unused function (#204019)
A small follow-up for #202761.
`updateSize()` function added there is a rebase artifact. It is never
actually used. This change removes it.
Commit: 0dda20ca15569a0fd1078db9e6b7560c43f69638
https://github.com/llvm/llvm-project/commit/0dda20ca15569a0fd1078db9e6b7560c43f69638
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
A llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/nondetermisitic-widening-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll
Log Message:
-----------
[LV] Add initial cost model for VPScalarIVSteps (#203347)
This PR currently only adds a cost model for integer types in
non-replicating regions in order to limit the scope of impact.
We can also support replicating regions, but that requires
looking for a recipe with an underlying value in the same
region in order to get a BasicBlock to pass in to the
getPredBlockCostDivisor function. This can be done in a future
PR.
Commit: 4995c6e59e7cc263f2fd001e4e417f0dab6eade1
https://github.com/llvm/llvm-project/commit/4995c6e59e7cc263f2fd001e4e417f0dab6eade1
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
Log Message:
-----------
[LifetimeSafety] Mark lifetime safety LangOptions as `Benign` (#204316)
Without this, we cannot load modules built without lifetime safety.
Analysis options are in general benign and does not effect AST
construction.
See doc:
```cpp
/// For ASTs produced with different option value, signifies their level of
/// compatibility.
enum class CompatibilityKind {
/// Does affect the construction of the AST in a way that does prevent
/// module interoperability.
NotCompatible,
/// Does affect the construction of the AST in a way that doesn't prevent
/// interoperability (that is, the value can be different between an
/// explicit module and the user of that module).
Compatible,
/// Does not affect the construction of the AST in any way (that is, the
/// value can be different between an implicit module and the user of that
/// module).
Benign,
};
```
Commit: ec7235ea9a4fe54871db06c296d94563ef28af9a
https://github.com/llvm/llvm-project/commit/ec7235ea9a4fe54871db06c296d94563ef28af9a
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
A clang/test/CodeGenCXX/noreturn-init-stmt.cpp
Log Message:
-----------
[clang][CodeGen] Fix crash on if/switch init-statement ending in noreturn (#201047)
EmitStmt may `ClearInsertionPoint()` to mark dead code, EmitDecl is not
prepared to handle it. Fix by `EnsureInsertPoint()` in transition from
EmitStmt to EmitDecl. If/Switch body may contain a label which makes
them not dead.
Fixes #115514.
Commit: 1bea22811762ed354f62a6efe4018ae18eca23fe
https://github.com/llvm/llvm-project/commit/1bea22811762ed354f62a6efe4018ae18eca23fe
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getentropy.cpp
M libc/src/unistd/linux/link.cpp
Log Message:
-----------
[libc][NFC] Migrate unistd entrypoints to syscall wrappers (#204176)
Migrated link, ftruncate, and getentropy entrypoints to use their
corresponding syscall wrappers instead of direct syscall_impl calls.
Updated CMake dependencies accordingly.
Assisted-by: Automated tooling, human reviewed.
Commit: 68c947fc7f7182a4fae54533a10e392036efadc2
https://github.com/llvm/llvm-project/commit/68c947fc7f7182a4fae54533a10e392036efadc2
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[NFC][AMDGPU][InsertWaitCnts] Move some simple functions into Utils (#202936)
Move really trivial functions into helpers to declutter InsertWaitCnt a
bit more.
I had to move HardwareLimits into a different header but it's only used
in InsertWaitCnt so it doesn't matter.
Commit: 21f3248310b6507e79081a2e0fc2b6067bed77bc
https://github.com/llvm/llvm-project/commit/21f3248310b6507e79081a2e0fc2b6067bed77bc
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
R llvm/test/CodeGen/AMDGPU/waitcnt-debug.mir
Log Message:
-----------
[RFC][AMDGPU] Remove DebugCounter-based WaitCnt debugging (#202937)
It's 8 years old, only used by a handful of tests, and has not been
updated
in a while except for maintenance as far as I can see.
I don't mind keeping it in if there are users of it, but right now it
looks like a dead feature. If we want some more elaborate waitcnt
debugging,
we should have a modern, generic system that works on any waitcnt, not
something specific to 3 GFX9 counters.
Commit: 1f9f4f874fc376647bf988c3ed9ceeb2f79d7db3
https://github.com/llvm/llvm-project/commit/1f9f4f874fc376647bf988c3ed9ceeb2f79d7db3
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/test/API/api/listeners/main.c
M lldb/test/API/commands/expression/ir-interpreter/main.c
M lldb/test/API/commands/expression/radar_9673664/main.c
M lldb/test/API/commands/expression/top-level/dummy.cpp
M lldb/test/API/commands/expression/weak_symbols/main.c
M lldb/test/API/functionalities/asan/main.c
M lldb/test/API/functionalities/memory-region/main.cpp
M lldb/test/API/functionalities/object-file/bin/hello.c
M lldb/test/API/functionalities/object-file/bin/hello.cpp
M lldb/test/API/functionalities/process_save_core_minidump/main.cpp
M lldb/test/API/functionalities/step-vrs-interrupt/main.cpp
M lldb/test/API/functionalities/thread/create_after_attach/main.cpp
M lldb/test/API/functionalities/tsan/thread_leak/main.c
M lldb/test/API/lang/c/const_variables/TestConstVariables.py
M lldb/test/API/lang/c/const_variables/main.c
M lldb/test/API/macosx/profile_vrs_detach/main.c
M lldb/test/API/python_api/breakpoint/main.c
M lldb/test/API/python_api/process/address-masks/main.c
M lldb/test/API/python_api/unified_section_list/main.cpp
M lldb/test/API/tools/lldb-dap/cancel/main.c
M lldb/test/API/tools/lldb-dap/eventStatistic/main.cpp
M lldb/test/API/tools/lldb-dap/locations/main.cpp
M lldb/test/API/tools/lldb-dap/restart/main.c
M lldb/test/API/tools/lldb-dap/send-event/main.c
M lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/main.cpp
M lldb/test/API/tools/lldb-dap/startDebugging/main.c
M lldb/test/API/tools/lldb-dap/terminated-event/main.cpp
M lldb/test/API/tools/lldb-dap/unknown/main.c
Log Message:
-----------
[lldb] Remove several system header includes from tests (#204072)
System includes slow down test compilation and create unnecessary
dependencies on system header code.
This patch removes system headers from tests that do not test their
functionality. For the most part, this just removes the dummy 'printf'
we had in many tests.
Commit: f8fea595913a8d06034cf87d3aa691c0d2a80be3
https://github.com/llvm/llvm-project/commit/f8fea595913a8d06034cf87d3aa691c0d2a80be3
Author: Wenju He <wenju.he at intel.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/Basic/LangOptions.cpp
Log Message:
-----------
[Clang][NFC] Change if-else to switch for OpenCL/HLSL version mapping (#204288)
Address https://github.com/llvm/llvm-project/pull/204043#discussion_r3419702862
Commit: d5918cec5dfb81921c081134d7f516f2adb1ae0f
https://github.com/llvm/llvm-project/commit/d5918cec5dfb81921c081134d7f516f2adb1ae0f
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/mem2reg.mlir
Log Message:
-----------
Revert "[flang][mem2reg] promote memory slots through declares" (#204332)
Reverts llvm/llvm-project#196975
This patch is causing regressions on some of our downstream testing. I
am not sure the logic here is directly to blame, but I'd rather revert
and investigate for now.
Commit: f63d8d67a3ff11d06607f2f0cfedfd88d877e9de
https://github.com/llvm/llvm-project/commit/f63d8d67a3ff11d06607f2f0cfedfd88d877e9de
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/prlimit.h
M libc/src/sys/resource/linux/CMakeLists.txt
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
Log Message:
-----------
[libc][NFC] wrap prlimit64 and refactor getrlimit/setrlimit (#204306)
Assisted-by: Automated tooling, human reviewed.
Commit: b160d1d6e14c74a18b4a3043a210872cd27b6842
https://github.com/llvm/llvm-project/commit/b160d1d6e14c74a18b4a3043a210872cd27b6842
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegionInfo.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MachineRegionInfo.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/X86/machine-region-info.mir
Log Message:
-----------
[CodeGen][NewPM] Port machine-region-info to new pass manager (#203848)
- Make `MachineRegionInfo` movable, like `RegionInfo`.
- Add printer pass.
Commit: 12b775409b1a0c238c3c1c5c0c270d0af23a1852
https://github.com/llvm/llvm-project/commit/12b775409b1a0c238c3c1c5c0c270d0af23a1852
Author: Max Graey <maxgraey at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/include/mlir/Target/Wasm/WasmBinaryEncoding.h
M mlir/lib/Target/Wasm/TranslateFromWasm.cpp
A mlir/test/Target/Wasm/inputs/nearest.yaml.wasm
A mlir/test/Target/Wasm/inputs/trunc_si.yaml.wasm
A mlir/test/Target/Wasm/inputs/trunc_ui.yaml.wasm
A mlir/test/Target/Wasm/nearest.mlir
A mlir/test/Target/Wasm/trunc_si.mlir
A mlir/test/Target/Wasm/trunc_ui.mlir
Log Message:
-----------
[MLIR][WasmSSA] Add f32/f64.nearest and trapped float to int trunc operations (#193873)
- `f32.nearest` (wasmssa.nearest)
- `f64.nearest` (wasmssa.nearest)
- `i32.trunc_f32_s` (wasmssa.trunc_si)
- `i32.trunc_f64_s` (wasmssa.trunc_si)
- `i64.trunc_f32_s` (wasmssa.trunc_si)
- `i64.trunc_f64_s` (wasmssa.trunc_si)
- `i32.trunc_f32_u` (wasmssa.trunc_ui)
- `i32.trunc_f64_u` (wasmssa.trunc_ui)
- `i64.trunc_f32_u` (wasmssa.trunc_ui)
- `i64.trunc_f64_u` (wasmssa.trunc_ui)
Commit: d7e30d2170ef03d503b69a5bef0734f6a585d5e3
https://github.com/llvm/llvm-project/commit/d7e30d2170ef03d503b69a5bef0734f6a585d5e3
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/InlineAsmPrepare.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SystemZ/SystemZTDC.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[IRBuilder] Refactor for intrinsics const-folding (NFC) (#202738)
In preparation to const-fold intrinsic calls, refactor the IRBuilder
API, generalizing it to return possibly constant-folded values.
Commit: 22e1561c6fa6ab4937936113eed0c5cb037a102b
https://github.com/llvm/llvm-project/commit/22e1561c6fa6ab4937936113eed0c5cb037a102b
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaConvertIntegerTypeToSignless.cpp
M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
Log Message:
-----------
[mlir][tosa] Preserve raw const data in signless conversion (#204324)
Use DenseElementsAttr::getFromRawBuffer when rebuilding tosa.const
attributes in TosaConvertIntegerTypeToSignless. The previous
DenseElementsAttr::get(type, ArrayRef<char>) call interpreted raw bytes
as i8 elements, which asserted for integer constants wider than 8 bits.
Add regression coverage for ui16, ui32, and ui48 constants.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 41aed9b83e64c8e929da31fe3eb33e48351960d6
https://github.com/llvm/llvm-project/commit/41aed9b83e64c8e929da31fe3eb33e48351960d6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
M llvm/test/Transforms/GVN/debugloc-load-select.ll
M llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
M llvm/test/Transforms/GVN/load-through-select-dbg.ll
M llvm/test/Transforms/GVN/opaque-ptr.ll
M llvm/test/Transforms/GVN/pr69301.ll
Log Message:
-----------
[GVN][NFC] Use InsertPt in MaterializeAdjustedValue (#204335)
Commit: ddad3ca6c80c8e9963257f7c1b4561fd2459efce
https://github.com/llvm/llvm-project/commit/ddad3ca6c80c8e9963257f7c1b4561fd2459efce
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/subtraction.c
A clang/test/CodeGen/AArch64/neon/widen.c
Log Message:
-----------
[CIR][AArch64] Lower NEON Widen && Widening subtraction intrinsics (#204088)
## summary
This is a part of : https://github.com/llvm/llvm-project/issues/185382
follow up of : https://github.com/llvm/llvm-project/pull/202857
Lower part of Widen and Widening subtraction intrinsics
### why implement two sets of intrinsics in one PR?
Widening subtraction depends on the widen intrinsics during lowering, so
I implemented them in the same PR.
Commit: 564e83191cc5686429cefe69aff81c2aeb268f5a
https://github.com/llvm/llvm-project/commit/564e83191cc5686429cefe69aff81c2aeb268f5a
Author: Weibo He <NewSigma at 163.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
A clang/test/SemaCUDA/pr200545.cu
Log Message:
-----------
[clang][Sema][CUDA] Restrict immediate template resolution to host-device functions (#200662)
Since overload resolution gives higher priority to `__host__` and
`__device__` attributes, HD functions may favor template candidates even
when a non‑template candidate would be a perfect match. This patch
resolves templates eagerly only for HD functions, not for all code
compiled with `-x cuda`, thus preventing valid host code from being
rejected.
Close #200545
Commit: a1c3370d58b9c0a3d5b75cadff6d1b9c2449bf58
https://github.com/llvm/llvm-project/commit/a1c3370d58b9c0a3d5b75cadff6d1b9c2449bf58
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
M llvm/test/Transforms/GVN/debugloc-load-select.ll
M llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
M llvm/test/Transforms/GVN/load-through-select-dbg.ll
M llvm/test/Transforms/GVN/opaque-ptr.ll
M llvm/test/Transforms/GVN/pr69301.ll
Log Message:
-----------
[GVN] Regenerate check lines (NFC) (#204341)
Test check lines have been regenerated while enabling MemorySSA as well.
Commit: 81c35c7a0f5a0de73481474e3e7bad0599779d1f
https://github.com/llvm/llvm-project/commit/81c35c7a0f5a0de73481474e3e7bad0599779d1f
Author: Harry Ramsey <harry.ramsey at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/sve2-sli-sri.ll
M llvm/test/CodeGen/AArch64/sve2-sra.ll
Log Message:
-----------
[AArch64][SVE] Enable known bits for predicated shifts (#200347)
Allow SelectionDAG to query target known-bits information for scalable
vector nodes, and known-bits cases for SVE predicated SHL, SRL and SRA
nodes.
This enables DAG combines to prove disjointness for ORs involving
scalable vector shifts, enabling USRA/SSRA instruction selection.
Commit: 2395e65f2f6f8a7bce2adeebd52bf2142a4c6853
https://github.com/llvm/llvm-project/commit/2395e65f2f6f8a7bce2adeebd52bf2142a4c6853
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
Log Message:
-----------
[X86] Attempt to fold SHUF128(concat(x,y),concat(z,w),0x44) -> concat(x,z) (#204340)
Trying to yak shave the regressions on #201271 led me here - I really
want this to be done generically as a canonicalization inside
combineX86ShufflesRecursively, but hit some issues with the widening
code that is still causing trouble for #45319
Commit: 60ad6ed5dfd225db07f96eb7bbfbf2f8f2f3a8c4
https://github.com/llvm/llvm-project/commit/60ad6ed5dfd225db07f96eb7bbfbf2f8f2f3a8c4
Author: Diego Novillo <dnovillo at nvidia.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGenHLSL/preserve-interface-dce.hlsl
A clang/test/CodeGenHLSL/preserve-interface.hlsl
A clang/test/Driver/dxc_fspv_preserve_interface.hlsl
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/preserve-interface-dce.ll
A llvm/test/CodeGen/SPIRV/preserve-interface.ll
Log Message:
-----------
Reapply "[clang][SPIR-V] Implement -fspv-preserve-interface (#196404)" (#204249)
This reverts commit 6746898d2bfc086947d86715e065f8dbf74e9690.
[clang][SPIR-V] Re-land -fspv-preserve-interface (#196404)
This had been reverted in #202558 due to a missing symbol
(llvm::removeFromUsedLists). That symbol is now available in main.
@jmmartinez @jplehr could you please review?
I did not need to modify the original PR #196404 . As I described in
https://github.com/llvm/llvm-project/pull/196404#issuecomment-4661219367,
the build failure on `main` was not due to it.
Tested locally. Will watch the bots once the PR is created.
Commit: 8f7b80b178a69b717838565723d34e26fda9fd63
https://github.com/llvm/llvm-project/commit/8f7b80b178a69b717838565723d34e26fda9fd63
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
Log Message:
-----------
[Loads][LAA] Properly handle multiple deref assumptions (#204083)
The current code uses a `DerefRK = std::max(DerefRK, RK)` pattern, which
mostly "works" by accident. The maximum here is based on RK.ArgValue,
which will be 0 on initialization and then (incorrectly) set to 1 for
variable dereferenceable assumptions, or N for constant ones. So if we
have a single variable dereferenceable assumption, this ends up working.
If we have multiple, or there are also constant assumptions, or we fix
the incorrect ArgValue initialization, this breaks down.
Fix this by individually inspecting the RK values. Do the checks for
each one until we have both align and dereferenceable proven. For the
LAA case, add all the applicable dereferenceable assumptions to the umax
expression.
Commit: 894c21432024c05583aafee9add41cb4978a6f7b
https://github.com/llvm/llvm-project/commit/894c21432024c05583aafee9add41cb4978a6f7b
Author: Aleksandar Spasojevic <aleksandar.spasojevic at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
A llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns-wave64.ll
M llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
Log Message:
-----------
[AMDGPU][InstCombine] Fold identity wave shuffle to its source (#204121)
The constant-shuffle matcher emitted a self-targeting update_dpp
(quad_perm 0xe4) for an identity shuffle instead of eliminating it.
Return the source value when every lane reads itself so the intrinsic
folds away.
Add a separate wave64 test file that drives the matcher with the full
wave64 thread ID (mbcnt.hi(mbcnt.lo)), covering quad_perm and other DPP
forms plus identity folding.
Commit: 041262ddff11fab6b84e3542596d0d8a5b593bd2
https://github.com/llvm/llvm-project/commit/041262ddff11fab6b84e3542596d0d8a5b593bd2
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp.ll
A llvm/test/CodeGen/NVPTX/float-to-arbitrary-fp.ll
A llvm/test/CodeGen/X86/float-to-arbitrary-fp-error.ll
A llvm/test/CodeGen/X86/float-to-arbitrary-fp.ll
Log Message:
-----------
[SelectionDAG] Add expansion for llvm.convert.to.arbitrary.fp (#193595)
The expansion converts a native IEEE float to an arbitrary-precision FP
format, returning the result as an integer, following this algorithm:
1. Bitcast the source float to an integer and extract sign, exponent,
and mantissa bit fields via masks and shifts.
2. Classify the input (zero/denormal/normal/Inf/NaN).
3. Normalize the source via FFREXP.
4. Normal path: adjust the exponent bias from source to destination
format and truncate the mantissa with rounding (supports
NearestTiesToEven, TowardZero, TowardPositive, TowardNegative,
NearestTiesToAway).
5. Denormal destination path: when the biased destination exponent is <=
0, shift the mantissa right to produce a denormalized result with
rounding.
6. Handle mantissa overflow from rounding and exponent overflow. Produce
Inf or saturate to max finite, depending on format and saturation flag.
7. Build special-value results (canonical qNaN, signed Inf, signed zero)
adapted to the destination format's non-finite behavior (IEEE754,
NanOnly, FiniteOnly).
8. Final selection in priority order: NaN > Inf > Zero > Overflow >
Normal/Denorm.
Currently only conversions to OCP floats are covered, in LLVM terms
these are: Float8E5M2, Float8E4M3FN, Float6E3M2FN, Float6E2M3FN,
Float4E2M1FN.
OCP spec:
https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf
E2E testing on X86 done with an assistance of Claude Code Opus 4.6.
Commit: 9befd0bfe6ee7acd21eec581037bea91cf95b9ba
https://github.com/llvm/llvm-project/commit/9befd0bfe6ee7acd21eec581037bea91cf95b9ba
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/masked-divrem.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[LLVM][Intrinsics] Add scalar-only and vector-only overload types (#204138)
Add integer/fp overload types that allow only scalar or only vector
types, and adopt them in some existing intrinsics.
Fixed ValueTracking unit test to not exercise invalid vp reduce
intrinsics as they now fail to parse (as opposed to fail to validate).
See
https://discourse.llvm.org/t/rfc-minor-change-in-overloaded-types-for-intrinsics/90880
Commit: 64b11dbaf97b8b094b2836ae92db30b732f4a069
https://github.com/llvm/llvm-project/commit/64b11dbaf97b8b094b2836ae92db30b732f4a069
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A libcxx/docs/Status/Cxx26.rst
A libcxx/docs/Status/Cxx26Issues.csv
A libcxx/docs/Status/Cxx26Papers.csv
A libcxx/docs/Status/Cxx29.rst
A libcxx/docs/Status/Cxx29Issues.csv
A libcxx/docs/Status/Cxx29Papers.csv
R libcxx/docs/Status/Cxx2c.rst
R libcxx/docs/Status/Cxx2cIssues.csv
R libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/index.rst
M libcxx/utils/conformance
Log Message:
-----------
[libc++] Add WG21 issues and papers voted in Brno (#204191)
All papers were targeting C++29, so I created new CSV tracking files. A
few papers were forwarded by CWG in plenary but have library wording, so
they are included here. I believe at least some of them will be *nothing
to do*, but should still be included for completeness.
Minor drive-bys:
- rename Cxx2c to Cxx26
- synchronize RST notes from CSVs to Github issues
Assisted by Claude
Commit: c10d23a190ca64fe3d93c7e22989ff1d3f5f918a
https://github.com/llvm/llvm-project/commit/c10d23a190ca64fe3d93c7e22989ff1d3f5f918a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAPSessionManager.cpp
M lldb/tools/lldb-dap/EventHelper.cpp
Log Message:
-----------
[lldb-dap] subscribe to target events at the broadcaster-manager level (#201866)
https://github.com/llvm/llvm-project/pull/200133 added
`wait_for_module_events()` assertions to `TestDAP_attachCommands.py` and
`TestDAP_launch_extra_launch_commands.py`. However, `SetTarget` is
called after the `Run*Commands`, so this fails on Windows, because it
loads modules early during the process startup. The module-load events
are not listened to.
This patch moves the event subscription to
`DAPSessionManager::GetEventThreadForDebugger` and uses
`StartListeningForEventClass` so any target created in this debugger
automatically gets the listener attached. This is the same pattern we
already use for `SBThread` events.
This is a follow up to https://github.com/llvm/llvm-project/pull/201796
which skipped the tests.
rdar://179923440
Commit: f87ac0815c08866bc9ec60fc31fe082cdb21bab0
https://github.com/llvm/llvm-project/commit/f87ac0815c08866bc9ec60fc31fe082cdb21bab0
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][Windows] use pipes when no terminal dimensions are sent (#203562)
Plumb `eLaunchFlagUsePipes` from the lldb-dap client through the
gdb-remote protocol to lldb-server so the server's LaunchProcess can
choose between ConPTY and anonymous pipes for inferior stdio.
This is needed for LLDB DAP in `internalConsole` mode.
Fixes `TestDAP_launch_args.py`, `TestDAP_launch_basic.py`, and
`TestDAP_launch_shellExpandArguments_disabled.py` on Windows under
`LLDB_USE_LLDB_SERVER=1`.
rdar://178725958
Commit: 431c300137c9b6b1f481eb3347ec49e3c52a1596
https://github.com/llvm/llvm-project/commit/431c300137c9b6b1f481eb3347ec49e3c52a1596
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M libc/src/string/memory_utils/arm/inline_memset.h
Log Message:
-----------
[ARM][Libc] Fix ARM big-endian low-end inline_memset byte fills (#198777)
Fix inline_memset_arm_low_end to use the splatted 32-bit fill value for
all byte stores. This ensures that all stores, including unaligned and
trailing byte fills, write the requested repeated byte value on
big-endian ARM.
The low-end ARM memset path already builds value32 as value 0x01010101U
for aligned word/block stores, but its byte-wise prefix and tail
handling still passed the raw 8-bit value * widened to uint32_t. Use
value32 for the byte-wise alignment prefix and final tail loop as well.
This makes the low-end path endian-safe and consistent with
inline_memset_arm_mid_end, fixing incorrect NUL/truncated output in
printf-family formatting and direct memset tests on big-endian ARM
no-unaligned-access targets.
Commit: 8c63db09597a34e526709dd05e58c89294e73b14
https://github.com/llvm/llvm-project/commit/8c63db09597a34e526709dd05e58c89294e73b14
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[AssumeBundleQueries] Use correct default value for dereferenceable (#203943)
Dereferenceable with a non-constant argument should be treated like
dereferenceable(0), not dereferenceable(1).
Commit: 2257f9221a4c398a1ba8d50aca3d2241dfb8acb7
https://github.com/llvm/llvm-project/commit/2257f9221a4c398a1ba8d50aca3d2241dfb8acb7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
M llvm/test/CodeGen/X86/haddsub-shuf.ll
M llvm/test/CodeGen/X86/pr81136.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
Log Message:
-----------
[DAG] SimplifyDemandedVectorElts - always attempt SimplifyMultipleUseDemandedVectorElts call for ISD::EXTRACT_SUBVECTOR (#204351)
The ISD::EXTRACT_SUBVECTOR case was only calling
SimplifyMultipleUseDemandedVectorElts if its own DemandedElts mask
wasn't full - but that's irrelevant as the source vector DemandedElts
mask is the one that matters, and that should always be partial.
Noticed while working on regressions with #201271
Commit: b15335200c0350e0486f3dcd9885da0b627d1e50
https://github.com/llvm/llvm-project/commit/b15335200c0350e0486f3dcd9885da0b627d1e50
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M offload/test/lit.cfg
Log Message:
-----------
[OpenMP] Limit HSA core dumps for OpenMP test suite (#204352)
Summary:
These will print extra information, which makes it difficult to match on
the `libomptarget` output in exceptional cases like in the sanitizer
checks.
Commit: 4081d00456b62adfffbc6d489ee489f5a69ad891
https://github.com/llvm/llvm-project/commit/4081d00456b62adfffbc6d489ee489f5a69ad891
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M libc/include/llvm-libc-macros/linux/sys-resource-macros.h
M libc/src/unistd/linux/sysconf.cpp
M libc/test/src/unistd/sysconf_test.cpp
Log Message:
-----------
[libc] Clean up sysconf implementation and tests (#204130)
Refactored sysconf.cpp to use a switch-case block instead of an if-else
chain. Delegated the logic for existing options to helper functions
(get_page_size, get_nprocessors_conf, get_nprocessors_onln) in an
anonymous namespace to reduce cognitive complexity.
Updated file headers in sysconf.cpp and sysconf_test.cpp to the standard
three-section format.
Fix RLIM_INFINITY to work on both 32- and 64-bit systems.
Modernized suffix literals in sysconf_test.cpp.
Assisted-by: Automated tooling, human reviewed.
Commit: 3fee6e5ab45d1d352f995ae4eafa5106a0c5fc0d
https://github.com/llvm/llvm-project/commit/3fee6e5ab45d1d352f995ae4eafa5106a0c5fc0d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A flang/test/Driver/fakeflang.F
M flang/tools/CMakeLists.txt
A flang/tools/fakeflang/CMakeLists.txt
A flang/tools/fakeflang/ensure_flang_exists.cmake
A flang/tools/fakeflang/fakeflang.cpp
M flang/tools/flang-driver/CMakeLists.txt
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/runtimes/CMakeLists.txt
M runtimes/cmake/config-Fortran.cmake
Log Message:
-----------
[Flang] Add mock flang driver (#203481)
Add a mock driver to pass CMake's compiler introspection for
CMake_Fortran_COMPILER. It's purpose is to not having to build the full
flang compiler for the runtimes-configure phase in
bootstrapping-runtimes builds, but only when the Fortran compiler is
actually needed (e.g. flang-rt-mod, libomp-mod).
To detect LLVMFlang, CMake executes
```
${CMAKE_Fortran_COMPILER} -v -c -target=... CMakeFortranCompilerId.F
```
and expects a new file to appear in the working directory. This would
usually be an object file (e.g. ELF), but it doesn't matter for CMake as
it parses it for the preprocessor result of CMakeFortranCompilerId.F
which would appear as string literals in the binary file (CMake cannot
execute the file because it might be cross-compiling). Just passing it
through the preprocessor yields the same result. The most relevant
preprocessor definition is __flang__ which leads to
CMAKE_Fortran_COMPILER_ID="LLVMFlang".
This is more robust than #198205:
1. It does not rely on `CMake_Fortran_COMPILER_FORCED` which the CMake
manual documents as [Do not
use](https://cmake.org/cmake/help/latest/module/CMakeForceCompiler.html),
nor the undocumented `CMAKE_Fortran_COMPILER_ID_RUN`.
2. Incremental builds are more robust, there should be no risk of the
make program (ninja/make) mistakenly interpreting the empty/mock
executable as the up-to-date build artifact. Creating the shim/empty
flang executable is done in the outer bootstrapping built (rather than
in the inner runtimes build); having control over both rules that create
bin/flang allows this.
Also fixes the problem that check-flang-rt/check-openmp [do not trigger
(re-)building
flang](https://github.com/llvm/llvm-project/pull/198205#pullrequestreview-4412291879).
I think it should fix intermittend failures of the premerge-CI such as
https://github.com/llvm/llvm-project/actions/runs/27389890881/job/80947804137?pr=203400.
Design considerations:
* This relies on the way how CMake currently introspects the compiler.
However, I expect it to stay "look into the produced files" in the
foreseable future and will also not rely on runtime string concatenation
because debug builds may not ptimize them into a single string constant.
That is, there are reasons CMake can only rely on the preprocessor. The
Fortran standard does not mandate a preprocessor, yet CMake relies on
it.
* There is one situation where incremental builds to not completely
work: deleting bin/flang manually and then building runtimes-configure
will not recreate either bin/flang. No impact if runtimes-configure was
actually run before because in that case CMake has already cached the
CMAKE_Fortran_COMPILER inspection result.
* ninja does not allow two rules to create the same file (one to create
bin/flang only if it is missing and another that replaces it with the
full flang), one of the build artifacts must be undeclared. That could
be the full flang would only be created explicitly with a separate
`flang-eager` target (flang itself have the output
`bin/flang-<version>`, `bin/flang` is the symlink to it), but that would
require more intrusive changes.
Commit: 1acbbfb32765829cfc837aaa6e354af44e7fed61
https://github.com/llvm/llvm-project/commit/1acbbfb32765829cfc837aaa6e354af44e7fed61
Author: lntue <lntue at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[llvm] Fix APFloat::exp for 32-bit x86 when dealing with signaling NaNs. (#204274)
Currently APFloat::exp uses convertToFloat and convertToDouble which
might silence sNaN on 32-bit x86. Add `APFloat::isSignaling` check explicitly.
Commit: 18b27e71c4276b186ad834d1a792f8e8d92993dd
https://github.com/llvm/llvm-project/commit/18b27e71c4276b186ad834d1a792f8e8d92993dd
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/zos-err-options.c
Log Message:
-----------
[SystemZ][z/OS] Mark the -msoft-float option as unsupported on z/OS (#204209)
This patch unsupports the -msoft-float option for z/OS
Commit: c64ec3766d72ab552957827b5a96cc50ed6c7182
https://github.com/llvm/llvm-project/commit/c64ec3766d72ab552957827b5a96cc50ed6c7182
Author: macurtis-amd <macurtis at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/test/CodeGen/AMDGPU/buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir
Log Message:
-----------
[AMDGPU] Fix checkVALUHazardsHelper distance accounting on branchy CFG (#203770)
#197267's `checkVALUHazardsHelper` rewrite walked predecessors with an
always-false predicate and accumulated wait-state distance in a single
counter shared across recursively visited blocks. On branchy control
flow that counter sums sibling-path distances, so window - distance goes
negative and the protective S_NOP is dropped.
This fix restores independent per-window `getWaitStatesSince` scans,
which return the minimum distance to a matching producer across
predecessor paths.
It also splits the pre-gfx940 and gfx940-family paths for readability
while preserving #197267's sgpr-soffset window rules.
Co-authored-by: Larry Meadows <Lawrence.Meadows at amd.com>
---------
Co-authored-by: Larry Meadows <Lawrence.Meadows at amd.com>
Commit: 97df9d1c253ac078a388267f7c8268f78b0af837
https://github.com/llvm/llvm-project/commit/97df9d1c253ac078a388267f7c8268f78b0af837
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 1bea228 (#204326)
This fixes 1bea22811762ed354f62a6efe4018ae18eca23fe.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: d08ca31f486034cf43a71de780be7d030e227873
https://github.com/llvm/llvm-project/commit/d08ca31f486034cf43a71de780be7d030e227873
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_finish.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_step_out.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-script-nodes.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/valid-parse.test
Log Message:
-----------
[Dexter] Add !then node (#202546)
In order to exercise more control over stepping in Dexter tests, this
patch adds the `!then` node which can be used to step out of a function
or exit the current test. Unlike expect nodes, !then nodes appear as
direct singular children of a state node:
!where {lines: 10}: !then finish
The two currently available commands are "step_out" and "finish".
step_out performs a debugger "step out" command, skipping over all
!wheres in the current frame and not stepping into any lower !wheres.
The finish command ends the debugger session immediately after finishing
the current step.
Commit: 3e04cdb3e977951679cfffdbb602cebc5925c4e7
https://github.com/llvm/llvm-project/commit/3e04cdb3e977951679cfffdbb602cebc5925c4e7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M offload/ci/openmp-offload-amdgpu-libc-runtime.py
Log Message:
-----------
[AMDGPU] Add compiler-rt checks for the GPU runtime (#204358)
Summary:
This test suite includes UBSAN and builtin tests. These are invoked and
tested in the same way as the libc tests.
Commit: 05ad0b5bc504575fc5711c9090f6161597d9e790
https://github.com/llvm/llvm-project/commit/05ad0b5bc504575fc5711c9090f6161597d9e790
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/div.ll
Log Message:
-----------
[InstCombine] Sink IDiv to Select's arm when another is 1 (#203478)
And the divisor is neither 0 nor poison. For sdiv, limit divisor to
constant to avoid signed overflow concern.
Verified by alive tool: https://alive2.llvm.org/ce/z/ao3ffi
Assisted-by: Claude Sonnet 4.6
Commit: 24f4fbf89d7e1c6e7b00efde469adb0a8c529cd2
https://github.com/llvm/llvm-project/commit/24f4fbf89d7e1c6e7b00efde469adb0a8c529cd2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M offload/ci/openmp-offload-amdgpu-libc-runtime.py
Log Message:
-----------
Revert "[AMDGPU] Add compiler-rt checks for the GPU runtime" (#204370)
Reverts llvm/llvm-project#204358
Commit: e12ce86b96bd008d9adf682005c00e133c7daf5b
https://github.com/llvm/llvm-project/commit/e12ce86b96bd008d9adf682005c00e133c7daf5b
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][gdb-remote] Send argv[0] in remote target's separator style on launch (#204134)
When lldb launches an inferior on a remote stub via the A or vRun
packet, `ProcessGDBRemote::DoLaunch` currently sends the executable path
through `FileSpec::GetPath(denormalize=true)`. That uses the FileSpec's
`m_style`, which is the lldb client host's native style by default, not
the remote target's. So a Windows lldb client launching on a POSIX
remote sent the path with backslashes, so the remote tried to launch a
file that didn't exist.
The fix re-normalizes the `FileSpec` with the target's triple before
denormalizing, so path uses the remote's native separators. This is only
done when the target's OS is actually known. When it isn't, we keep the
historical host-native behavior, since tests and callers that only set
arch (e.g. QLaunchArch:x86_64 with no qHostInfo OS) have always relied
on the old default.
This fixes `TestNoLocalFile` on Windows with `LLDB_USE_LLDB_SERVER=1`.
rdar://179932755
Commit: 980e9487c6291a6c377a13b6a775205237f29bae
https://github.com/llvm/llvm-project/commit/980e9487c6291a6c377a13b6a775205237f29bae
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/AArch64/clmul-fixed.ll
A llvm/test/Analysis/CostModel/AArch64/clmul-scalable.ll
M llvm/test/Analysis/CostModel/AArch64/clmul.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
Log Message:
-----------
[AArch64] Update Cost model for CLMUL (#202965)
CLMUL now has custom backend lowering and the efficiency of its lowering
is heavily dependant on available flags. This patch aligns the cost
model from the generic costs to the realistic costs.
Commit: 51f54bbae9cb7c3e216418d743c32f0120b8e78d
https://github.com/llvm/llvm-project/commit/51f54bbae9cb7c3e216418d743c32f0120b8e78d
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/dxc_debug.hlsl
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll
M llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll
Log Message:
-----------
[Driver][DirectX] Add `-Zss` and `-Zsb` flags (#203960)
Add flags that control whether the shader hash is computed with or
without including debug info (from ILDB or DXIL part).
Commit: 14877f950a12e5681d06f2866f05bbfd8d65a0be
https://github.com/llvm/llvm-project/commit/14877f950a12e5681d06f2866f05bbfd8d65a0be
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/Type.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang][AST] Attributed Type Deduplication Logic Cleanup (#204263)
https://github.com/llvm/llvm-project/pull/200961 implemented
`AttributedType` deduplication using the attributes' arguments. This PR
addresses the post-commit feedback.
The reason to have `llvm_unreachable("profile not implemented for this
type");` in the body of `profileAttrArg` for non-supported attribute
types is that none of the attributes that currently instantiate this
method are type attributes. The methods that are instantiated and not
supported are all for decl attributes. Leaving the body out will lead to
compilation failures, but the method's body should never be executed. If
an unsupported attribute type happens to execute this code path, the
failure should be loud and clear.
Commit: b07436f1ef4b3ea0a7981e97700fd44fc9fb3d8a
https://github.com/llvm/llvm-project/commit/b07436f1ef4b3ea0a7981e97700fd44fc9fb3d8a
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Fix f63d8d67a3ff11d06607f2f0cfedfd88d877e9de (#204372)
Add target for prlimit + add to deps
Commit: 0926a1b59e042afbad1a895aa4e429b68ad6fec0
https://github.com/llvm/llvm-project/commit/0926a1b59e042afbad1a895aa4e429b68ad6fec0
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
Log Message:
-----------
[gn] port dcda5e1719a5e (#204373)
Commit: 16f040867465f25bc48954f9725c1355caf6236f
https://github.com/llvm/llvm-project/commit/16f040867465f25bc48954f9725c1355caf6236f
Author: Nico Weber <thakis at chromium.org>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port 2964323a936c (#204374)
Commit: d3983310a4a65683d63ab6ab5af1a9bfde737128
https://github.com/llvm/llvm-project/commit/d3983310a4a65683d63ab6ab5af1a9bfde737128
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/unittests/CMakeLists.txt
Log Message:
-----------
[lldb][unittests] Add LLDB_UNITTEST_STRIP_DEBUG_INFO to cut unittest link time (#203274)
Add an opt-in cache option (default OFF). When ON, every target declared
via `add_lldb_unittest` links without per-target debug info and
dead-strips:
- **MSVC**: `/DEBUG:NONE + /INCREMENTAL:NO + /OPT:REF + /OPT:ICF`
- **clang/gcc**: `-g0 + LINKER:--strip-debug` (or `LINKER:-S` on macOS).
This drastically speeds up linking the unittests executable when
building with debug info on Windows.
Commit: 0176227cffbada32744b28eff72482b742e1bae9
https://github.com/llvm/llvm-project/commit/0176227cffbada32744b28eff72482b742e1bae9
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Log Message:
-----------
[SimplifyCFG] Use context instruction in foldBranchToCommonDest() (#203516)
When determining whether instructions can be speculate, pass the
terminator of the predecessor as the context instruction.
Only do this for the single predecessor case, otherwise we'd have to
perform one query per predecessor. The multi-predecessor case is
excluded by the default cost model anyway.
Commit: d76dd878dd32cd20f0de61b89b085600f7adbcde
https://github.com/llvm/llvm-project/commit/d76dd878dd32cd20f0de61b89b085600f7adbcde
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
Log Message:
-----------
[lldb] Fix LLDB_BUILD_FRAMEWORK with the dynamic script interpreters (#204265)
When using LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS (the default on Darwin
as of #204015), the PluginManager loads at runtime by scanning the
directory that holds liblldb. A framework build moves liblldb into
LLDB.framework, but the plugins were only emitted into lib/ and never
copied into the bundle, so they were never found.
Add lldb_add_scriptinterpreter_plugin_to_framework(), called from the
Python and Lua plugin CMakeLists, which copies the plugin next to the
framework binary and appends an rpath so it can resolve liblldb from
inside the bundle. The copy uses the plugin's unversioned name because
PluginManager derives the initializer symbol from it (a versioned copy
would load but never register). Non-framework builds are unaffected.
Commit: 5fcb285e3c85eef40398b9a28d5a418b1a048e40
https://github.com/llvm/llvm-project/commit/5fcb285e3c85eef40398b9a28d5a418b1a048e40
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/test/Conversion/XeGPUToXeVM/loadstore_matrix.mlir
Log Message:
-----------
[MLIR][XeGPU] Fix load_matrix lowering for non-LLVM element types (#203629)
LoadStoreMatrixToXeVMPattern built the llvm.load result from the raw op
result element type. For element types without a direct LLVM
representation (e.g. f8E8M0FNU) this produced an illegal op: 'llvm.load'
op result #0 must be LLVM type with size, but got 'f8E8M0FNU'.
Derive the load result type from the type converter instead. This maps
such element types to an integer storage type of the same bit width,
collapses single-element vectors to a scalar, and flattens multi-element
vectors. The store path already used the converted operand and is
unchanged; the XeVM type converter's materialization casts bridge the
loaded value back to the original vector type for downstream consumers.
Add load_matrix regression tests for f8E8M0FNU (scalar and vector).
Commit: 22d769819cd72ad0298c7d7c2e035564776932e1
https://github.com/llvm/llvm-project/commit/22d769819cd72ad0298c7d7c2e035564776932e1
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
Log Message:
-----------
[MLIR][GPUToXeVMPipeline] Expand MX scaling ops before XeVM conversion (#203632)
arith.scaling_extf/scaling_truncf were never lowered by the
gpu-lower-to-xevm pipeline, so micro-scaling (MX) GEMM kernels kept
these ops (and their narrow-float operands) live all the way to LLVM
translation.
Run arith-expand before the XeVM/LLVM conversions to break
scaling_extf/scaling_truncf into extf/truncf + mulf and to expand
f8E8M0FNU casts into integer bit manipulation. f4E2M1FN expansion is
intentionally left disabled: its casts are lowered by the XeVM
conversions (xevm.extf), whereas f8E8M0FNU is not handled there and must
be expanded here. The generic f4E2M1FN expansion would otherwise emit i4
vector arithmetic that the XeVM backend cannot legalize.
Commit: 96127e6a8c4dfb80caa5018a9300b3ed5a7b28aa
https://github.com/llvm/llvm-project/commit/96127e6a8c4dfb80caa5018a9300b3ed5a7b28aa
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Fix pessimistic max block count sizing on AMDGPU (#204242)
Summary:
For whatever reason, HSA copied the questionable choices that OpenCL
made and represents its launch parameters in a threads * blocks grid.
The problem is that you then combine this with an `int32_t` interface,
so you have 31 bits to represent your launch. We were then
pessimistically stating that your launch always had 1024 threads, which
left us with 2^21. This is only about two million which people do all
the time, and this caused us to perform weird clamping in OpenMP. The
effect was that tests like ompx_saxpy_mixed.c was hitting that clamp and
returning wrong results.
Also fix the sanitizer tests failing because of HSA core dumps.
Commit: 5a5d0fb1e471b3a1e842aee1f993e885c8d19713
https://github.com/llvm/llvm-project/commit/5a5d0fb1e471b3a1e842aee1f993e885c8d19713
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
A llvm/test/Transforms/PhaseOrdering/unswitch-nontrivial-cold-func.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-loop-guard.ll
M polly/test/Support/pipelineposition.ll
Log Message:
-----------
[SimpleLoopUnswitch] Generalize the notion of trivial unswitching (#193989)
For a loop like this
```
for (int j = 0; j < M; j++) {
if (N <= 0) continue; // invariant guard branches to latch
for (int i = 0; i < N; i++)
A[i] = B[i] + 1;
}
```
Since none of the successors of the guard branch of the inner loop are
outside the loop `j`, unswitching treats this as a non-trivial branch.
In reality, this is a perfect loop nest. If the condition of the guard
of `i` loop is false, there is nothing to do and so if we unswitch this
branch, the loop does not need to be versioned. This matches the
requirements of a trivial unswitch. This patch extends trivial loop
unswitching to catch cases like this.
The patch changes the loop guard so that instead of branching to the
latch of the outer loop, it exits the loop. This allows the existing code
for trivial unswitching to perform the transformation. The change in the
loop guard will happen only if all conditions for unswitching are met.
Commit: c625725b06987f05e8742df291da082a964dab03
https://github.com/llvm/llvm-project/commit/c625725b06987f05e8742df291da082a964dab03
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/test/CodeGen/NVPTX/packed-aggr.ll
Log Message:
-----------
[NVPTX] Properly emit narrow ptrtoint in aggregate initializers. (#201217)
If you have a 64-bit pointer and use ptrtoint to convert it to an i32,
that's supposed to return the low 32 bits of the pointer.
But if you use a narrowing ptrtoint inside a global aggregate
initializer, we currently don't mask the bytes. For this IR:
@g = addrspace(1) global i32 0
@s = addrspace(1) global { i32, i32 }
{ i32 ptrtoint (ptr addrspace(1) @g to i32), i32 0xdeadbeef }
on nvptx64 we emitted
.u64 s[1] = {g};
i.e. we emitted the full 64-bit address of `@g`, and entirely dropped
the
trailing i32 (0xdeadbeef).
I'm not sure why anyone would want to do this, but it is an explicitly
supported feature, so I suppose we might as well do it correctly.
Commit: f77ca4872537f200d36f0a33732f692cdc1b473c
https://github.com/llvm/llvm-project/commit/f77ca4872537f200d36f0a33732f692cdc1b473c
Author: Quanye Yang <quanyemostima at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/analysis-unknown-opcode-did-you-mean.test
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
Log Message:
-----------
[llvm-exegesis] Add did-you-mean hint for unknown opcodes (#203463)
Fixes #203199
When skipping a benchmark entry with an unknown opcode name, suggest the
nearest matching opcode if the edit distance is <= 1 (similar to
OptTable::findNearest).
Example:
```text
warning: skipping benchmark entry: No opcode with name 'VADDPDYrrr' - did you mean 'VADDPDYrr' ?
```
And Tested with:
- `llvm-lit
llvm/test/tools/llvm-exegesis/X86/analysis-unknown-opcode-did-you-mean.test`
- `llvm-lit
llvm/test/tools/llvm-exegesis/X86/analysis-skip-unknown-opcode.test`
---------
Signed-off-by: quanyeyang <quanyemostima at gmail.com>
Commit: b949373c0542fc95f4db969d5b2c4ad3d2d8971c
https://github.com/llvm/llvm-project/commit/b949373c0542fc95f4db969d5b2c4ad3d2d8971c
Author: Michael Karcher <github at michael-karcher.net>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrAtomics.td
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/test/CodeGen/M68k/Atomics/load-store.ll
M llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
M llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
M llvm/test/CodeGen/M68k/Control/cmp.ll
M llvm/test/CodeGen/M68k/is-pcrel-register-operand-legal.mir
Log Message:
-----------
[M68k] Do not allow addressing modes k and q as MOVE targets (llvm#200826) (#201653)
This is intended as a fix for #200826 by removing PC-relative address
modes from the m68k MOVE patterns. It also affects MOVEM, and the
"atomic store" pattern that maps to the respective MOVE instruction as
well. This patch is based on the big patch authored by Gemini at
https://github.com/llvm/llvm-project/issues/181481#issuecomment-4476933700
, but as has been carefully trimmed to just address one single issue,
and every change has been verified to make sense. Gemini also restricted
the list of source addressing modes for MOVEM to the valid destination
addressing modes, which is not required according to the Motorola
specification.
Commit: 12d560d4278803be7a91fdcf17e82ac4ad12ff49
https://github.com/llvm/llvm-project/commit/12d560d4278803be7a91fdcf17e82ac4ad12ff49
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/divrem24-assume.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdivrem24.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
Log Message:
-----------
[AMDGPU] Remove unnecessary and broken sign/zero-extension (#203436)
When expanding div/rem by using floating-point operations,
sign/zero-extending the result from the calculated DivBits input width
to 32-bits is unnecessary. CreateFPToSI or CreateFPToUI is called with a
32-bit int type so the conversion instruction will already produce a
result with the desired width.
Also it is incorrect. For signed-division `DIVBITS_MAX_NEG/-1`, the
result should be `-DIVBITS_MAX_NEG` a positive value. Sign-extension
will incorrectly return a negative result. For example, for DivBits=4,
`-8/-1 = 8`, but adding code to do a 28-bit sign-extension will
incorrectly return `-8`.
Tested in https://github.com/llvm/llvm-test-suite/pull/423.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: d84819d39e3103f92ad9b375cea7864280f3325c
https://github.com/llvm/llvm-project/commit/d84819d39e3103f92ad9b375cea7864280f3325c
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
Log Message:
-----------
[NVPTX] Fix build break from #201217 (#204380)
#201217 added a third `SymbolSize` argument to `AggBuffer::addSymbol()`
but missed one call site, which was added by 98160521cb72 after the PR
branch was cut. Pass `AllocSize` like the sibling calls do.
Commit: cbd76dcfa81e58dbaca01dcef561429cb59da20f
https://github.com/llvm/llvm-project/commit/cbd76dcfa81e58dbaca01dcef561429cb59da20f
Author: Raphael Isemann <rise at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/Host.mm
Log Message:
-----------
[lldb] Fix race in macOS's FindProcessesImpl (#204109)
Our current FindProcessImpl has a TOCTOU bug where we first query the
buffer size we should provide via sysctl and then later pass a buffer
with that size to be filled. If the list of processes grows larger than
the buffer we pass, then our current implementation fails by returning
an empty list of processes. This race only happens rarely in practice as
we pad the buffer size with 10 additional entries to account for some
process growth.
This patch replaces this logic by a backoff loop that retries fetching
the process list if our buffer is too small (sysctl tells us if this is
the case by setting ENOMEM). This new implementation can only fail in
the system consistently spawns thousands of new processes between
each retry.
This should fix the actual root-cause for the random failures in
TestSimulator.py
Commit: 4a9cb1f4e04683f84da60a4d3d60547af324f40a
https://github.com/llvm/llvm-project/commit/4a9cb1f4e04683f84da60a4d3d60547af324f40a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
A libcxx/docs/PostMeetingProcedure.rst
M libcxx/docs/index.rst
Log Message:
-----------
[libc++] Document post-WG21-meeting conformance update procedure (#204357)
This patch adds a section in the documentation to explain the procedure
to follow after a WG21 meeting to properly track papers. This should
clear out some confusion about how this process happens and who should
be responsible for doing it.
Commit: ce53940bdaa0272c40fec2914f67a18091d0a902
https://github.com/llvm/llvm-project/commit/ce53940bdaa0272c40fec2914f67a18091d0a902
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/test/CodeGen/Generic/GlobalISel/irtranslator-byte-type.ll
Log Message:
-----------
Revert "[IRTranslator] Precommit tests for bitcasts of the byte type #203638 (#204378)
This reverts commit 7e5bc4c7bd23e390cdb0b08f807968ea256b0df2 as the
MachineVerifier identifies 'bad machine code'.
Commit: 1ed7b780dad381b0cddc02a93124b09fab9280f4
https://github.com/llvm/llvm-project/commit/1ed7b780dad381b0cddc02a93124b09fab9280f4
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/test/Transforms/HotColdSplit/X86/do-not-split.ll
M llvm/test/Transforms/HotColdSplit/addr-taken.ll
M llvm/test/Transforms/HotColdSplit/issue-197982.ll
R llvm/test/Transforms/HotColdSplit/mark-the-whole-func-cold.ll
M llvm/test/Transforms/HotColdSplit/minsize.ll
Log Message:
-----------
[HotColdSplit] Do not add cold attribute to unchanged functions (#204003)
Commit: d4b22fba2cedf7d6d7ce332837129a857f987a77
https://github.com/llvm/llvm-project/commit/d4b22fba2cedf7d6d7ce332837129a857f987a77
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/include/clang/Basic/AArch64CodeGenUtils.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[AArch64] Compact scalable-vector intrinsic maps (#202618)
SVE and SME code generation only reads BuiltinID, LLVMIntrinsic, and
TypeModifier from its generated intrinsic maps. Store those fields in a
16-byte ARMScalableVectorIntrinsicInfo instead of the 32-byte
ARMVectorIntrinsicInfo used by NEON and SISD code generation. Update
both the classic and CIR consumers.
On an LLVM 22.1.7 arm64 release build, stripped standalone clang shrinks
from 115,097,192 to 114,816,456 bytes, saving 280,736 bytes (0.244%).
Work towards #202616
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: f5685ebc37a3c4973aef37d807177133ccdb5693
https://github.com/llvm/llvm-project/commit/f5685ebc37a3c4973aef37d807177133ccdb5693
Author: Kees Cook <kees at kernel.org>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/ELF/lto-discard.s
Log Message:
-----------
[MC][AsmParser] Check .lto_discard before parsing the assignment (#204025)
I was deeply stumped, so I asked an LLM to help me track down this Linux
kernel build failure:
https://lore.kernel.org/all/202606122021.pA9TozrA-lkp@intel.com/
The bug only surfaced for Full LTO with 2+ TUs because that is when the
LTO merger emits ".lto_discard SYM" between two duplicated module-asm
blocks; ThinLTO compiles each module separately so the merged-asm
pattern does not arise, and a single TU has nothing to discard. Hit in
practice by the Linux kernel via -fsanitize=kcfi: every TU that
address-takes an externally-defined function emits the same ".weak X;
.set X, HASH" pair via module asm, so any >1-TU kcfi build with Full LTO
failed to link with "undefined symbol" against the kcfi type id.
parseAssignment checked discardLTOSymbol after
parseAssignmentExpression, which is too late for the common "preserve
first, discard later" pattern that the LLVM LTO library emits when
multiple bitcode inputs each carry the same weak symbol definition
through file-scope inline asm. For that pattern, the first ".set SYM, V"
makes SYM a redefinable variable; when the second (post-".lto_discard
SYM") ".set SYM, V" reaches parseAssignmentExpression, it sees an
existing redefinable symbol, calls cloneSymbol, and marks the original
SYM as temporary -- which excludes it from the emitted symbol table. The
subsequent discardLTOSymbol check then returns true and skips the
assignment, leaving the symbol table pointing at an empty unassigned
clone while the value we were supposed to preserve has just been
dropped.
Move the discardLTOSymbol check to the top of parseAssignment so a
discarded assignment never reaches parseAssignmentExpression; just
consume tokens to end-of-statement and return.
Extend llvm/test/MC/ELF/lto-discard.s with a second RUN line that drives
the integrated assembler directly (-filetype=obj) and inspects the ELF
symbol table via llvm-readelf, covering the "preserve first, discard
later" pattern that the existing text-only RUN line did not exercise.
Assisted-by: Claude Opus 4.7 (1M context)
Commit: cafd16fc6e5e1556fd9962c8b2e4b4a6719dc68a
https://github.com/llvm/llvm-project/commit/cafd16fc6e5e1556fd9962c8b2e4b4a6719dc68a
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][AST] Adding Release Note for Attributed Type Dedupe Fix (#204384)
https://github.com/llvm/llvm-project/pull/200961 fixed a regression that
could lead to significant increase in pcm/pch sizes and load time. This
PR adds a release note.
Commit: d6cf7888148ece8e938e29f9b164ae0b036f4191
https://github.com/llvm/llvm-project/commit/d6cf7888148ece8e938e29f9b164ae0b036f4191
Author: FathimaHaris <156105585+FathimaHaris at users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/mul.ll
Log Message:
-----------
[InstCombine] Fold constant shift/mul into select arms for mul instruction (#196872)
Fixes llvm#190907
Extends the optimization reported to cover four symmetric
patterns where one operand of a multiplication is a constant shift or
multiply, and the other is a select with constant arms.
Instead of keeping the outer shl/mul, the constant is pushed into the
select arms:
```
(shl X, C1) * (select cond, C2, C3) --> X * (select cond, C2<<C1, C3<<C1)
(mul X, C1) * (select cond, C2, C3) --> X * (select cond, C2*C1, C3*C1)
```
(Also handles their commuted forms )
Alive2 Proof :https://alive2.llvm.org/ce/z/dwTXJw
Commit: 5b40d54f264db8796ed8dce561e4f895cf8d5f89
https://github.com/llvm/llvm-project/commit/5b40d54f264db8796ed8dce561e4f895cf8d5f89
Author: Vadmeme <32437728+Vadmeme at users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/PassBuilderBindings.cpp
M llvm/unittests/Passes/PassBuilderBindings/CMakeLists.txt
M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp
Log Message:
-----------
[LLVM] Register static pass plugins in LLVMRunPasses C-API (#196754)
LLVMRunPasses and LLVMRunPassesOnFunction create their own PassBuilder,
but did not register statically linked pass plugin callbacks from
Extension.def. This made C API pipelines fail to parse passes provided
by statically linked plugins, even when the same plugins were available
to opt and LTO.
Register the static extension callbacks after constructing the
PassBuilder, matching opt's NewPMDriver behavior.
Add coverage using the Bye plugin when it is linked into tools.
---------
Co-authored-by: Vadmeme <invalid at example.com>
Commit: a5e1d3f38794476b4684faa5f59d60667b8a2dc0
https://github.com/llvm/llvm-project/commit/a5e1d3f38794476b4684faa5f59d60667b8a2dc0
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
Log Message:
-----------
[Matrix][HLSL] Fix transpose matrix layout bugs (#202486)
This change will resolve https://github.com/llvm/wg-hlsl/issues/305
It is a two-part change. First, we had a bug. The transpose builtin was
previously only considering the Src for RowMajor when we also need to
consider the Dst RowMajor.
The second issue was the return stmt needs us to re-type the call with
the sugared typed. We only want to do this for what I am calling Layout
Adapting Matrix Builtins ie transpose and matrix multiply builtins.
Assisted by Claude Opus 4.8
Commit: 36ee948895a617e8cb8cf99fd01977cd70b7a575
https://github.com/llvm/llvm-project/commit/36ee948895a617e8cb8cf99fd01977cd70b7a575
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
Log Message:
-----------
[MLIR][XeGPU] Update layout for simple_mxfp_gemm_dequantizeB_F4.mlir (#203636)
Update layout to proper values to enable lowering of the test case on
CRI with gpu to xevm lowering pipeline.
Commit: 2c6d88c76525675841b62cd87322e50f52bde25b
https://github.com/llvm/llvm-project/commit/2c6d88c76525675841b62cd87322e50f52bde25b
Author: Josh Stone <jistone at redhat.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[docs] Remove myself from security response (#203061)
I haven't really been active in this group, so I think it's best for me
to voluntarily leave. My affiliations are still covered by others, and
anyway I think cross-cutting issues (e.g. with Rust) should pull in
those orgs rather than relying on direct membership.
Commit: 6f50d09799f284b4c258415b3dd1ef0e9be07f3d
https://github.com/llvm/llvm-project/commit/6f50d09799f284b4c258415b3dd1ef0e9be07f3d
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
Log Message:
-----------
[llvm-objcopy][DirectX][NFC] Reuse isProgramPart() in DXContainerObjcopy (#204032)
#201423 introduced a helper function to determine if a given
DXContainer part name is DXIL or ILDB (i.e. a program part).
Reuse it everywhere.
Commit: 829007b657eb0f628112bba071c1c7b9e78bcd45
https://github.com/llvm/llvm-project/commit/829007b657eb0f628112bba071c1c7b9e78bcd45
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
Log Message:
-----------
[DirectX][NFC] Use addSection to create SRCI in DXContainerGlobals (#204028)
A tiny follow-up for #202761.
Use `addSection()` helper function to create a global for SRCI part.
Commit: ebb9d0eecb1905c7a339c3b97b5ddde182c2d8f1
https://github.com/llvm/llvm-project/commit/ebb9d0eecb1905c7a339c3b97b5ddde182c2d8f1
Author: Usman Nadeem <mnadeem at qti.qualcomm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
Reapply "[DFAJumpThreading] Enable DFAJumpThread by default." (#169183)
Reapply: https://github.com/llvm/llvm-project/pull/157646 by reverting:
https://github.com/llvm/llvm-project/pull/167352
Commit: 3aa3bc6e63e9ec8be5f5857bc030e042f15ab8b6
https://github.com/llvm/llvm-project/commit/3aa3bc6e63e9ec8be5f5857bc030e042f15ab8b6
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 5b40d54 (#204389)
This fixes 5b40d54f264db8796ed8dce561e4f895cf8d5f89.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 1679bcc600e75e1e46c0d7ad2394f934a0d4ab74
https://github.com/llvm/llvm-project/commit/1679bcc600e75e1e46c0d7ad2394f934a0d4ab74
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/examples/darwin/heap_find/heap.py
Log Message:
-----------
[lldb] Adjust ptr_refs utility for arm64e (#204258)
The ptr_refs utility is a useful way to find where a pointer may be used
on Darwin platforms. It supports searching on the stack, the heap, and
in segments. The definitions of malloc_introspection_t and malloc_zone_t
needed to be adjusted for arm64e. This matches the malloc header shipped
in the the malloc headers shipped in Apple's SDKs.
With this, TestPtrRefs.py and TestPtrRefsObjC.py now pass.
Commit: f89afac6e30079fad379d5ab6d4bd0b00c3f3775
https://github.com/llvm/llvm-project/commit/f89afac6e30079fad379d5ab6d4bd0b00c3f3775
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/include/lldb/Utility/ProcessInfo.h
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Utility/ProcessInfo.cpp
M lldb/unittests/Utility/ProcessInfoTest.cpp
Log Message:
-----------
[lldb][NFC] Remove const char * from ProcessInfo interface (#204268)
My primary reason for doing this is so that I can refactor FileSpec's
interface to stop using ConstStrings. But more generally StringRef is
sufficient for ProcessInfo's needs. Any spot that actually needs an
actual `const char *` can create one from the StringRef.
Commit: 42634048c6768891487be239c0ceb409b09da39f
https://github.com/llvm/llvm-project/commit/42634048c6768891487be239c0ceb409b09da39f
Author: Alex Langford <alangford at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/InjectPointerSigningFixups.cpp
A lldb/test/API/commands/expression/ptrauth-weak-symbols/Makefile
A lldb/test/API/commands/expression/ptrauth-weak-symbols/TestPtrauthWeakSymbols.py
A lldb/test/API/commands/expression/ptrauth-weak-symbols/dylib.c
A lldb/test/API/commands/expression/ptrauth-weak-symbols/dylib.h
A lldb/test/API/commands/expression/ptrauth-weak-symbols/main.c
A lldb/test/API/commands/expression/ptrauth-weak-symbols/module.modulemap
Log Message:
-----------
[lldb] Support weakly imported symbols with arm64e (#202728)
The use of weakly imported symbols may introduce inline CPAs into
functions in the form of instruction operands. For example, from
TestWeakSymbols.py, we may see IR that looks like this:
```
%cmp = icmp ne ptr ptrauth (ptr @_Z20absent_weak_functionv, i32 0), null
```
which corresponds to this C line:
```
if (&absent_weak_function != null) {
```
Similar to walking global initializers, LLDB must also walk all
instructions looking for CPAs in instruction operands and handle them
accordingly.
I've renamed functions and structs to distinguish between these two
scenarios.
Commit: 0eb257578697efd4ac05f1cf1f9d0c5c4ef5d53f
https://github.com/llvm/llvm-project/commit/0eb257578697efd4ac05f1cf1f9d0c5c4ef5d53f
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[CodeGen] Pass the correct VT into hasMultipleConditionRegisters (#204375)
hasMultipleConditionRegisters expects the type of the condition value.
Fix shouldNormalizeToSelectSequence to pass this in instead of the type
of the result of a select.
In practice this makes no observable difference yet. AArch64 is the only
target that uses the VT passed into hasMultipleConditionRegisters and it
only checks whether or not it is a scalable vector type.
Commit: 02d6e17313f7b2f89d08fe90a58ec7ac1936d69d
https://github.com/llvm/llvm-project/commit/02d6e17313f7b2f89d08fe90a58ec7ac1936d69d
Author: Ian Anderson <iana at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/test/Driver/clang-offload-bundler-multi-compress.c
Log Message:
-----------
[clang][test][darwin] Driver/clang-offload-bundler-multi-compress.c fails on macOS (#204026)
Driver/clang-offload-bundler-multi-compress.c isn't supported on Darwin,
but neglected to list the macosx target.
Commit: d9492b6da3da97f9cc7f3cd24432e7e16c1f5e1a
https://github.com/llvm/llvm-project/commit/d9492b6da3da97f9cc7f3cd24432e7e16c1f5e1a
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/GenericUniformityInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[Uniformity] Introduce isUniform/DivergentTerminator naming. NFC. (#204343)
Rename the overloads of isUniformAtDef/isDivergentAtDef that take an
InstructionT (instead of a ValueT) to
isUniformTerminator/isDivergentTerminator to make it clear that they
should only be used for terminator instructions, and assert this. Call
sites passing in a non-terminator instruction now resolve to the ValueT
overloads instead.
Commit: 61f3ed17074fada91e4b03f3db6e0c042f47df97
https://github.com/llvm/llvm-project/commit/61f3ed17074fada91e4b03f3db6e0c042f47df97
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.6.1 (#204411)
Commit: 6dc69f666ae992388dd2c63d8abadd458b3ac9de
https://github.com/llvm/llvm-project/commit/6dc69f666ae992388dd2c63d8abadd458b3ac9de
Author: theSK2005 <73001618+theSK2005 at users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
Log Message:
-----------
[AMDGPU] Added SRAMECC feature for gfx1250/1251 (#203313)
Added SRAMECC feature in TargetParser.def for gfx1250/1251 to
properly reflect hardware spec
Commit: fea57a97b45b1a15f6229ed9a416fb51a604456c
https://github.com/llvm/llvm-project/commit/fea57a97b45b1a15f6229ed9a416fb51a604456c
Author: jimingham <jingham at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/bindings/interface/SBTargetDocstrings.i
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Target/Language.h
M lldb/source/API/SBTarget.cpp
M lldb/source/Target/Language.cpp
A lldb/test/API/python_api/persistent_decls/Makefile
A lldb/test/API/python_api/persistent_decls/TestPersistentDecls.py
A lldb/test/API/python_api/persistent_decls/main.c
Log Message:
-----------
Add the ability to look up persistent types and variables defined in the expression parser through the SB API's. (#203128)
In responding to the question here:
https://discourse.llvm.org/t/creating-nested-synthetic-children/90997/3
it became clear that getting the persistent variable/type results from
the expression parser was much harder than it needed to be. I filed a
couple issues for this:
https://github.com/llvm/llvm-project/issues/201952
https://github.com/llvm/llvm-project/issues/201949
though after thinking about this a bit more, I decided to go with
dedicated API for getting Persistent Expression variables & types. We
don't allow redefinitions of persistent variables and types within the
same Target, so a "FirstType" API didn't make sense, nor did one
returning a list of types or values.
Plus, this will be easier to discover.
Commit: a2f4a1cabb083337ccb17c77cafb36d94c1ef52b
https://github.com/llvm/llvm-project/commit/a2f4a1cabb083337ccb17c77cafb36d94c1ef52b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
Log Message:
-----------
[VPlan] Also expand SCEVUDivExpr in expandSCEVExpr. (#203093)
Add support for expanding SCEVUDivExpr to VPInstructions, completing the
set of SCEV expression kinds that can be fully expanded without falling
back to SCEVExpander.
PR: https://github.com/llvm/llvm-project/pull/203093
Commit: 1774af87364d62b329344a646984c59322e35a42
https://github.com/llvm/llvm-project/commit/1774af87364d62b329344a646984c59322e35a42
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M .gitignore
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
A clang/test/Sema/LifetimeSafety/safety-c.c
A clang/test/Sema/attr-lifetime-capture-by.c
A clang/test/Sema/attr-lifetimebound.c
Log Message:
-----------
[LifetimeSafety] Support C Language in LifetimeSafety (#203270)
There are a few constraints that make supporting C a bit cumbersome:
* C assignment expressions are rvalues, unlike C++ assignment
expressions. The analysis has to account for the different origin shape
of the assignment result by stripping an origin from `LHSExpr`.
* Function addresses in C do not need lifetime tracking. Taking `&f`
should not create origins because functions do not have local object
lifetime (unlike in C++).
* GNU C permits `void*` subscripting/pointer arithmetic. Expressions
like `bytes[0]` (where `bytes` is `void*`) have type `void` and do not
produce an addressable object with origins, even though `void*` itself
can carry pointer origins.
* Some C subscripts, such as vector subscripts, are not GLValues, so
they do not have storage origins to track.
* `va_arg(ap, array_type)` is undefined behavior, so we skip it instead
of trying to model origins for it.
* C does not have a spelling for `[[gsl::Owner]]` / `[[gsl::Pointer]]`,
so C support is limited to pointer/object cases that can be represented
in C and `__attribute__((lifetimebound))`.
What validation I performed:
* Ran a crash-smoke test over C files in the LLVM tree with
`-Wlifetime-safety`. It finished without crashes after the fixes.
* Generated a C-only subset of `warn-lifetime-safety.cpp` and compiled
it with `-Wlifetime-safety`, to reuse existing pointer-flow coverage in
C mode.
* Built the Linux kernel (with `allmodconfig` build) and got a few
warnings. So firstly there are a few uninteresting true positives that
are intentional in the tests, and our checker catches them. (this is the
majority, approximately 90% of all warnings come from these intentional
leaky tests). There were also a few conservative warnings where the
analysis does not prove the relevant path condition, so they look like
expected false positives rather than C support issues. And our analysis
also got 1 correctly!
Closes #203213
Assisted-by: GPT-5.5 for writing bash scripts to perform validation.
Commit: 6bf6e39d3b07b2f7c6e83d1274deea15105f1b87
https://github.com/llvm/llvm-project/commit/6bf6e39d3b07b2f7c6e83d1274deea15105f1b87
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_resource_macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/unistd.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/sysinfo.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/sysconf.cpp
M libc/test/src/unistd/sysconf_test.cpp
Log Message:
-----------
[libc] Implement _SC_ARG_MAX, _SC_OPEN_MAX, and _SC_PHYS_PAGES (#204364)
This commit adds the sysinfo syscall wrapper and implements the
_SC_ARG_MAX, _SC_OPEN_MAX, and _SC_PHYS_PAGES options in sysconf.
- Added sysinfo inline syscall wrapper.
- Implemented _SC_ARG_MAX, _SC_OPEN_MAX, and _SC_PHYS_PAGES.
- Added integration tests.
Commit: 81072db8dd57c8a9b276708a35b33c3bbd3dbfc8
https://github.com/llvm/llvm-project/commit/81072db8dd57c8a9b276708a35b33c3bbd3dbfc8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M libcxx/docs/PostMeetingProcedure.rst
M libcxx/utils/conformance
Log Message:
-----------
[libc++] Create issues in batch in libcxx/utils/conformance (#204428)
Also improve the output as a drive-by. Creating issues in batch makes it
easier to automate the creation of these issues.
Assisted by Claude, tweaked and reviewed by hand
Commit: c11a0993281f0e14ef0ce87e391f66bf7b335488
https://github.com/llvm/llvm-project/commit/c11a0993281f0e14ef0ce87e391f66bf7b335488
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/LifetimeSafety/dangling-global.cpp
M clang/test/Sema/LifetimeSafety/safety.cpp
Log Message:
-----------
[LifetimeSafety] Propagate loans through the comma operator (#204379)
VisitBinaryOperator had no comma case, so a comma expression carried
none of its right operand's loans and a borrow used via a comma result
(e.g. `g = (f(), p)`) was silently dropped. Flow the RHS's origin into
the result.
Assisted-by: Claude Opus 4.8
Commit: 9db7cd5709d22dfbae75a85867b6eb6e5c3e0c76
https://github.com/llvm/llvm-project/commit/9db7cd5709d22dfbae75a85867b6eb6e5c3e0c76
Author: Kazu Hirata <kazu at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
M llvm/unittests/ProfileData/SampleProfTest.cpp
Log Message:
-----------
[ProfileData] Add traits for on-disk function offset hash table (NFC) (#202110)
This patch introduces serialization helper classes (traits) for the
on-disk chained hash table that will be used to index function offsets
in the SecFuncOffsetTable section:
- FuncOffsetHashTableWriterInfo (in SampleProfWriter.h) for writing.
- FuncOffsetHashTableInfo (in SampleProfReader.h) for reading.
These traits map a 64-bit function name GUID to a 32-bit byte offset
pointing into the SecLBRProfile section. This index structure is
intended to replace the flat layout of the SecFuncOffsetTable section
in the upcoming v104 format. This will allow the compiler to query the
offset of a function sample without having to parse the entire
SecFuncOffsetTable section at startup.
While these two trait classes share identical boilerplate for type
definitions and key comparison, they are kept separate to maintain
clean interface separation between the reader and writer headers. We
also choose not to define a shared base class in SampleProf.h to keep
that common header free of serialization-specific details.
An isolated unit test is added to verify serialization and
deserialization.
This is Phase 1 of the RFC: Faster Sample Profile Loading.
RFC:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/4
Commit: 9d26a1990af20c3773b13f6df72332ceb51daa90
https://github.com/llvm/llvm-project/commit/9d26a1990af20c3773b13f6df72332ceb51daa90
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/WASI.rules
Log Message:
-----------
[lldb][test] Don't export all symbols when building Wasm test inferiors (#204426)
WASI.rules linked test inferiors with -Wl,--export-all and the
reactor-style -Wl,--no-entry. I cargo-culted them and neither flag is
needed as our test inferiors all have a main and crt1 provided _start.
The --export-all flag was also harmful: for a no-argument main(),
wasi-libc renames the user's main to __original_main and emits a small
`main` trampoline. The --export-all flag caused that trampoline to an
exported `main` symbol, so `break main` resolved to two locations.
Drop both flags but keep --allow-undefined for inferiors that reference
runtime-provided symbols.
Commit: 5eeaf89ea923a1b0df30cdfcaf015d0b7766f008
https://github.com/llvm/llvm-project/commit/5eeaf89ea923a1b0df30cdfcaf015d0b7766f008
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/assume-cache-update.ll
Log Message:
-----------
[InstCombine] Register manually created assumes in the AssumptionCache. (#204416)
Instructions inserted via Result->insertInto() bypassing the IRBuilder
inserter that would otherwise register new @llvm.assume calls in the
AssumptionCache.
Register the assume when inserting such a Result, mirroring what the
IRBuilder inserter does.
PR: https://github.com/llvm/llvm-project/pull/204416
Commit: 500fc937b0f9f9dad99d0e9bfc46cf3b8706a0cf
https://github.com/llvm/llvm-project/commit/500fc937b0f9f9dad99d0e9bfc46cf3b8706a0cf
Author: lntue <lntue at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/hypot.h
Log Message:
-----------
[libc][math] Implement fast path for double precision hypot function. (#204292)
Compute `hypot(x, y) = sqrt(x^2 + y^2)` in double-double with relative
errors < 2^-102.
Using the approximation:
```
a = maximum_mag(x, y);
b = minimum_mag(x, y);
(hi, lo) ~ a^2 + b^2;
r_hi = sqrt(hi);
r_lo = (a + b - r_hi^2) * (0.5 / r_hi)
------
r_hi + r_lo ~ sqrt(x^2 + y^2).
```
Performance benchmark with CORE-MATH:
Before the patch:
```
$ ./perf.sh hypot --llvm
GNU libc version: 2.42
GNU libc release: stable
-- CORE-MATH reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 23.183 + 0.311 clc/call; Median-Min = 0.319 clc/call; Max = 23.620 clc/call;
-- System LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 14.218 + 0.299 clc/call; Median-Min = 0.193 clc/call; Max = 15.240 clc/call;
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 204.764 + 0.593 clc/call; Median-Min = 0.576 clc/call; Max = 206.057 clc/call;
```
After the patch without FMA:
```
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 26.920 + 0.063 clc/call; Median-Min = 0.048 clc/call; Max = 27.139 clc/call;
```
After the patch with FMA:
```
-- LIBC reciprocal throughput --
[####################] 100 %
Ntrial = 20 ; Min = 15.180 + 0.189 clc/call; Median-Min = 0.178 clc/call; Max = 15.461 clc/call;
```
Commit: 25836aff3d21e3eddbf62ef30d409e62308a1dea
https://github.com/llvm/llvm-project/commit/25836aff3d21e3eddbf62ef30d409e62308a1dea
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/test/CodeGen/NVPTX/packed-aggr.ll
Log Message:
-----------
Revert `[NVPTX] Properly emit narrow ptrtoint in aggregate initializers. (#201217)` (#204418)
Revert c625725b06987f05e8742df291da082a964dab03 (#201217) along with
build fix d84819d39e3103f92ad9b375cea7864280f3325c (#204380) due to test
failures in global-ordering.ll mentioned here:
https://github.com/llvm/llvm-project/pull/201217#issuecomment-4734212548
Commit: cddebef5a9cefe4006fa54129a99f650a9c03d29
https://github.com/llvm/llvm-project/commit/cddebef5a9cefe4006fa54129a99f650a9c03d29
Author: Arda Serdar Pektezol <arda at pektezol.dev>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Analysis/CtxProfAnalysis.cpp
A llvm/test/Analysis/CtxProfAnalysis/flatten-prethinlink-requires-guid-metadata.ll
Log Message:
-----------
[CtxProf] emit fatal usage error when flatten-prethinlink runs without guid metadata (#194383)
`ctx-prof-flatten-prethinlink` can call `AssignGUIDPass::getGUID()` on
defined functions even when the GUID metadata is missing. In that case,
LLVM currently asserts on missing `!guid` metadata.
Replace the assertion with `reportFatalUsageError()` so the pass fails
with a clear user-facing error, and add a regression test for invoking
only `ctx-prof-flatten-prethinlink`.
Fixes #194185
Commit: 2f6dedc94c649dfb46c7d9e21a8ec45db51c1424
https://github.com/llvm/llvm-project/commit/2f6dedc94c649dfb46c7d9e21a8ec45db51c1424
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 6bf6e39 (#204429)
This fixes 6bf6e39d3b07b2f7c6e83d1274deea15105f1b87.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: a71ca081f6f716bcae756626b4c1592863afbdcd
https://github.com/llvm/llvm-project/commit/a71ca081f6f716bcae756626b4c1592863afbdcd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV][P-ext] Replace v4i8/v2i16 mul and v4i8 mulh patterns on RV32 with custom lowering. (#204382)
Instead of emitting 2 instructions from an isel pattern, custom lower to
PWMUL(S)(U)+SRL+TRUNC.
This only slightly reduces the number of isel patterns today, but we
will need the WMUL patterns for intrinsics. Exposing the SRL+TRUNC to
DAG combine may allow additional optimizations.
Assisted-by: Claude Sonnet 4.6
Commit: 39d83f90368f75fb17069946d952a07ea52c4ecf
https://github.com/llvm/llvm-project/commit/39d83f90368f75fb17069946d952a07ea52c4ecf
Author: David Green <david.green at arm.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/fmaximumnum-fminimumnum-select.ll
Log Message:
-----------
[AArch64] Fix swapped operands in tryFoldCselToFMaxMin (#203230)
These swapped operands will treat nan the wrong way, make sure we only
use the matching direction when converting to fminnm/fmaxnm.
Commit: 626cba7e467364603895dfcdb598e31cdd70a953
https://github.com/llvm/llvm-project/commit/626cba7e467364603895dfcdb598e31cdd70a953
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/get-active-lane-mask.ll
Log Message:
-----------
[NFC][LLVM] Tighten overload types for `@llvm.get.active.lane.mask` (#204356)
Change return type to `llvm_any_vector_int_ty` and the 2 argument types
to `llvm_any_scalar_int_ty`.
Commit: 8cf8aa030ed07b904c2b6dbd72947ec32f2ed1a6
https://github.com/llvm/llvm-project/commit/8cf8aa030ed07b904c2b6dbd72947ec32f2ed1a6
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/test/Analysis/MemorySSA/ptr-const-mem.ll
M llvm/test/CodeGen/AMDGPU/alloca.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
M llvm/test/CodeGen/AMDGPU/fence-barrier.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-bitcast-function.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-calling-conv.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-pointer-array.ll
M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
M llvm/test/Transforms/Attributor/memory_locations_gpu.ll
M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
M llvm/test/Transforms/EarlyCSE/AMDGPU/memrealtime.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/noop-ptrint-pair.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions.ll
M llvm/test/Transforms/LoopLoadElim/pr46854-adress-spaces.ll
M llvm/test/Transforms/LoopUnroll/AMDGPU/scev-mul-expansion-cost.ll
M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-for-private.ll
M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
M llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.ll
M llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll
M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/pr23975.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
Log Message:
-----------
AMDGPU/Tests: Remove redundant explicit data layouts from AMDGPU tests (#203447)
These all look like either cargo culting of outdated requirements or
test cases that were not fully reduced. Since the data layout evolves
over time with new address spaces being added, it seems good practice to
avoid hard-coding it in tests that don't need it.
Commit: a9b492db3d50683e446cd1a5c9ffaf4e92cb77a7
https://github.com/llvm/llvm-project/commit/a9b492db3d50683e446cd1a5c9ffaf4e92cb77a7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
R llvm/test/Verifier/intrinsic-bad-arg-type.ll
A llvm/test/Verifier/masked-load-store.ll
Log Message:
-----------
[NFC][LLVM] Drop redundant verifier checks for masked load/stores (#204359)
All current verifier checks for masked load/store intrinsics are
redundant as they are covered by the generic intrinsic signature
verification. Drop them.
Rename verifier `intrinsic-bad-arg-type.ll` lit test to
`masked-load-store.ll` and extend it to cover cases corresponding to the
dropped checks to verify that generic intrinsic signature verification
will still flag them.
Commit: 0afb39976dfa7520781ce63f615ec7befeba6f34
https://github.com/llvm/llvm-project/commit/0afb39976dfa7520781ce63f615ec7befeba6f34
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/PassBuilderBindings.cpp
M llvm/unittests/Passes/PassBuilderBindings/CMakeLists.txt
M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp
Log Message:
-----------
Revert "[LLVM] Register static pass plugins in LLVMRunPasses C-API" (#204410)
Reverts llvm/llvm-project#196754
Breaks bots, e.g.
https://lab.llvm.org/buildbot/#/builders/97/builds/14257
Commit: f6750f80df26f3116e513c631137ad723960ab74
https://github.com/llvm/llvm-project/commit/f6750f80df26f3116e513c631137ad723960ab74
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Fix 500fc937b0f9f9dad99d0e9bfc46cf3b8706a0cf (#204436)
Add deps
Commit: 140fc5aa2a0a754db87c68b2e3861c70dd94360b
https://github.com/llvm/llvm-project/commit/140fc5aa2a0a754db87c68b2e3861c70dd94360b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/Transforms/ExtractAddressComputations.cpp
M mlir/test/Dialect/MemRef/extract-address-computations.mlir
M mlir/test/lib/Dialect/Vector/CMakeLists.txt
Log Message:
-----------
[mlir][memref] Use access interfaces in address extraction (#198421)
Rework extract-address-computation patterns to use
IndexedAccessOpInterface for direct memref accesses and
VectorTransferOpInterface update hooks for transfer ops.
These rewrites are limited to operations that declare in-bounds indices
(so no vector.load currently) for now so that we always create valid
`memref.subview` opp.
As a consequence of this PR, the Memref dialect no longer depends on the
GPU and NVGPU dialects.
Note: if you used this pass downstream, you may need to start registering the external interface implementations for IndexedAccessOpInterface on the GPU, NVGPU, etc. dialects.
AI: Codex wrote the first draft, I simplified it a bunch and made sure
the names of internal functions made sense.
---------
Co-authored-by: Codex <codex at openai.com>
Commit: 5efef02b66419e9a9482c0546be912cbdb448681
https://github.com/llvm/llvm-project/commit/5efef02b66419e9a9482c0546be912cbdb448681
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
A clang/test/Driver/cl-deterministic.c
A clang/test/Preprocessor/init-datetime-macros-nowarns.c
A clang/test/Preprocessor/init-datetime-macros-warns.c
A clang/test/Preprocessor/init-datetime-macros.c
Log Message:
-----------
[clang-cl] Add cl compiler build deterministic options for compatibility. (#194779)
Added the following options to clang-cl:
* `/experimental:deterministic`
The original CL's option enables emitting of warnings on usage of
non-deterministic macros `__DATE__`, `__TIME__` and `__TIMESTAMP__` and
provides few additional operations to help produce a deterministic
output:
- sets .obj COFF header timestamp (offset 4) to a hash based on a path
to the source file.
- removes a host name from the hash gen for the anon namespace and
lambdas.
- zeroed PE timestamps, when passed to the linker.
- sets PDB Guid field to `{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}`.
- sets PDB Signature field to `1`.
Currently `clang-cl` does not use a hostname to generate the symbols
hash, also it does not produce PDB files, because of it the option only
implements the warning emission on the date/time macros (`-Wdate-time
option`) and sets COFF's timestamp to 0 (by using overlapped `/Brepro` /
`-mno-incremental_linker_compatible` options).
* `/Brepro`
The original CL's option does the following:
- defines `__DATE__`, `__TIME__`, and `__TIMESTAMP__` to the literal
string `"1"`.
- sets PE timestamps to 0, but does not affect .obj COFF's header
timestamp (still current timestamp).
- sets PCH unique IDs to content hash instead.
Currently `clang-cl` sets to 0 .obj and .exe timestamps by `/Brepro`
option. These changes keep it unmodified for compatibility and add the
extra macros definitions. `clang-cl` provides its own PCH format and
requires the different operations to make it reproducable.
* `/d1nodatetime`
Undefine the standard preprocessor macros `__DATE__`, `__TIME__` and
`__TIMESTAMP__`. This option allows redefinitions for these macros from
the command line.
Commit: ee890eb04639464cd523d1305c75a82628a6a8a6
https://github.com/llvm/llvm-project/commit/ee890eb04639464cd523d1305c75a82628a6a8a6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/geps-unsigned-predicates.ll
Log Message:
-----------
[ConstraintElim] Do not model negative nuw-only GEP offset as signed. (#203620)
decomposeGEP added the GEP's constant offset to the unsigned
decomposition using its signed value (getSExtValue()). For a GEP that
only carries nuw (without nusw/inbounds), the indices must be
interpreted as unsigned.
Alive2 Proof of mis-compile https://alive2.llvm.org/ce/z/7G8uE3
PR: https://github.com/llvm/llvm-project/pull/203620
Commit: 6e21a04a5a96b2a06f0b456813fd427d4e7a1227
https://github.com/llvm/llvm-project/commit/6e21a04a5a96b2a06f0b456813fd427d4e7a1227
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
A clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/Artifact.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-edges.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-id.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-empty.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-odd-count.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-epls.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-id.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-empty.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-odd-count.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/pairs.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/tags.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-lu-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-tu-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-wpa-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/unknown-type.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/mismatched-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/mismatched-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/mismatched-type.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
M clang/tools/clang-ssaf-format/SSAFFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
Log Message:
-----------
[clang][ssaf] Make TUSummary, LUSummary, and WPASuite JSON representations self-describing (#204409)
This commit introduces the following changes:
- Add a self-describing `"type"` field (`"TUSummary"`, `"LUSummary"`, or
`"WPASuite"`) to the root of every artifact JSON file written by
`JSONFormat`. Kind-specific readers (`readTUSummary`, `readLUSummary`,
`readWPASuite`, plus the encoding flavors) validate that the field is
present and matches the expected value.
- Introduce two variant aliases on `SerializationFormat`: `Artifact =
std::variant<TUSummary, LUSummary, WPASuite>` and `ArtifactEncoding =
std::variant<TUSummaryEncoding, LUSummaryEncoding>`. Each gets a generic
`read*/write*` pair that peeks the `type` field once and dispatches to
the matching reader/writer; the file is read and parsed only once per
call.
- Refactor every kind-specific reader into `read{Kind}` (loads file +
validates type) plus a private `read{Kind}FromObject(const Object&)`
helper. `readArtifact`/`readArtifactEncoding` reuse those helpers
directly, avoiding the file-and-parse-twice pattern.
- Default `clang-ssaf-format`'s `--type` to `auto`, which uses the
artifact APIs. Explicit `--type tu|lu|wpa` still forces the
kind-specific path; `--encoding` selects the encoding flavor in either
mode.
rdar://168179368
Commit: 6e4a7eef94416f51968c04909b6220ac96fca05f
https://github.com/llvm/llvm-project/commit/6e4a7eef94416f51968c04909b6220ac96fca05f
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/spirv-amd-toolchain.c
Log Message:
-----------
[HIP][SPIR-V] Enable SPIR-V backend by default (#198338)
Use -no-use-spirv-backend to get SPIR-V by llvm-spirv tool.
Commit: cebc501cf2f47f274384d5e71dab4ae2a429a9a3
https://github.com/llvm/llvm-project/commit/cebc501cf2f47f274384d5e71dab4ae2a429a9a3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
Log Message:
-----------
[RISCV][P-ext] Fold (PSRL/PSRA (trunc (PSRL X, C1)), C2) -> (trunc (PSRL/PSRA X, C1+C2)) (#204385)
when C1 equals the number of bits discarded by the truncate. This
matches an existing DAGCombine for ISD::SRA/SRL which doesn't get
a chance to fire before the inner PSRL is formed.
Assisted-by: Claude Sonnet 4.6
Commit: 9237b264dfc0ef910a08b4c18e5bc7628ffeb9d8
https://github.com/llvm/llvm-project/commit/9237b264dfc0ef910a08b4c18e5bc7628ffeb9d8
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerPDB.cpp
Log Message:
-----------
[DirectX] Fix IO sandbox violation in DXContainerPDB pass (#204461)
`DXContainerPDB::runOnModule` writes a PDB file to disk via
`PDBFileBuilder::commit`, which calls through `MSFBuilder::commit` ->
`FileOutputBuffer::create` -> `llvm::sys::fs::status()`. These are raw
filesystem APIs that trigger a fatal "IO sandbox violation" when the IO
sandbox is enabled.
The sandbox is enabled in `CC1Command::Execute` (Job.cpp) to enforce
that all filesystem access goes through the VFS. Since `PDBFileBuilder`
doesn't support VFS-based output, bypass the sandbox for the commit call
using `scopedDisable()`, matching the established pattern used in
`raw_ostream.cpp`, `VirtualFileSystem.cpp`, `BackendUtil.cpp`, and
others.
This crash occurs on any clang invocation targeting the DirectX backend
with PDB emission enabled, e.g.:
`Target: dxilv1.7-unknown-shadermodel6.7-library`
and was introduced with this commit:
https://github.com/llvm/llvm-project/pull/202762, which added the
`Builder.commit(DebugFileName, ...)` call that writes a PDB file via
raw filesystem APIs, which violates the IO sandbox.
Stack trace:
```
reportFatalInternalError("IO sandbox violation")
llvm::sys::fs::status()
FileOutputBuffer::create()
MSFBuilder::commit()
PDBFileBuilder::commit()
DXContainerPDB::runOnModule()
```
Assisted by: Github Copilot
Fixes: https://github.com/llvm/llvm-project/issues/204468
Commit: eb3c37f6e1e72ee83ae52021d142f845952d27a7
https://github.com/llvm/llvm-project/commit/eb3c37f6e1e72ee83ae52021d142f845952d27a7
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M lld/test/wasm/reloc-relative.s
M lld/wasm/InputChunks.cpp
M lld/wasm/InputFiles.cpp
M llvm/include/llvm/BinaryFormat/WasmRelocs.def
M llvm/lib/BinaryFormat/Wasm.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/test/MC/WebAssembly/reloc-relative.ll
Log Message:
-----------
[WebAssembly] Add support for R_WASM_MEMORY_ADDR_LOCREL_I64 relocation (#204055)
This relocation is needed for WASM64 to support location-relative memory
addresses, which are used e.g. in profile instrumentation (for
CounterPtr in __llvm_profile_data).
Without this, the compiler falls back to absolute relocations and drops
the subtraction, resulting in malformed profile data.
Fixes: https://github.com/emscripten-core/emscripten/issues/26865
Commit: 3663599225f8248e0ed0ae6702c7990a266492dd
https://github.com/llvm/llvm-project/commit/3663599225f8248e0ed0ae6702c7990a266492dd
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/wasm.ll
Log Message:
-----------
[WebAssembly] Default to 0 shadow offset for wasm64 ASan (#204437)
For Wasm64, ASan instrumentation was defaulting to a 16TB shadow offset,
while the runtime configures it to 0. Align them by defaulting to 0 for
all WebAssembly targets.
Commit: ecd4af4fbfb7f6d68e19b0cbf8087aa9c8ae8af4
https://github.com/llvm/llvm-project/commit/ecd4af4fbfb7f6d68e19b0cbf8087aa9c8ae8af4
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-06-17 (Wed, 17 Jun 2026)
Changed paths:
M .git-blame-ignore-revs
M .github/new-prs-labeler.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/docs.yml
M .gitignore
M bolt/docs/index.rst
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/runtime/instr.cpp
A bolt/test/AArch64/use-old-text-zero-padding.c
M bolt/test/X86/heatmap-preagg.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/perf_brstack.test
M bolt/test/perf2bolt/perf_test.test
A bolt/test/runtime/setup-race.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.cpp
M clang-tools-extra/clang-tidy/utils/FileExtensionsUtils.h
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/altera/unroll-loops.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
M clang/CMakeLists.txt
M clang/docs/ClangSYCLLinker.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/tools/dump_ast_matchers.py
M clang/include/clang/AST/CXXRecordDeclDefinitionBits.def
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/include/clang/Basic/AArch64CodeGenUtils.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
A clang/include/clang/Basic/BuiltinsAVR.def
M clang/include/clang/Basic/BuiltinsRISCV.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/HLSLIntrinsics.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandards.def
M clang/include/clang/Basic/OpenCLOptions.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
A clang/include/clang/CIR/Dialect/IR/CIROpenCLAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Interpreter/IncrementalExecutor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Options/OptionUtils.h
M clang/include/clang/Options/Options.td
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/EntityLinker.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/TUSummaryEncoding.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummary.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/EvaluationResult.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/InitMap.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Basic/Targets/AVR.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/lib/CIR/Dialect/IR/CIROpenCLAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/AMDGPU.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/NVPTX.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
M clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/lib/CodeGen/TargetBuiltins/AVR.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Options/OptionUtils.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
A clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/Artifact.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/LUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummary.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/TUSummaryEncoding.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
M clang/lib/ScalableStaticAnalysisFramework/Frontend/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
M clang/lib/ScalableStaticAnalysisFramework/Tool/CMakeLists.txt
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
A clang/test/APINotes/Inputs/Headers/WhereParametersMapElement.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersMethodWhereSequence.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersMissingName.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersParser.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersScalar.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersUnknownWhereKey.apinotes
A clang/test/APINotes/Inputs/Headers/WhereParametersWhereSequence.apinotes
A clang/test/APINotes/Inputs/WhereParametersConvertDiag/APINotes.apinotes
A clang/test/APINotes/Inputs/WhereParametersConvertDiag/WhereParametersConvertDiag.h
A clang/test/APINotes/where-parameters-convert-diags.cpp
A clang/test/APINotes/where-parameters-yaml.test
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
A clang/test/AST/ByteCode/codegen-cxx2a.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
A clang/test/AST/ByteCode/dynamic-cast.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/HLSL/ConstantBuffers-AST-error.hlsl
A clang/test/AST/HLSL/StructPassing-AST.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/matrix-constructors.hlsl
M clang/test/AST/HLSL/semantic-output-struct-shadow.hlsl
M clang/test/AST/HLSL/semantic-output-struct.hlsl
A clang/test/AST/tyloctype_alignment.cpp
M clang/test/AST/undocumented-attrs.cpp
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-edges.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-id.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-empty.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-no-key.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-odd-count.json
M clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result.json
M clang/test/Analysis/Scalable/PointerFlow/external-inline-function-in-multi-tu.test
A clang/test/Analysis/Scalable/PointerFlow/lref-to-rref-cast.test
A clang/test/Analysis/Scalable/PointerFlow/multi-dim-pointer-flow-constraint.test
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-element.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-bad-ptr-level.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/tu-summary.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-epls.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-id.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-empty.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-no-key.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-odd-count.json
M clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result.json
M clang/test/Analysis/Scalable/call-graph.cpp
A clang/test/Analysis/Scalable/cli-errors-compilation-unit-id.cpp
M clang/test/Analysis/Scalable/command-line-interface.cpp
M clang/test/Analysis/Scalable/downgradable-errors.cpp
M clang/test/Analysis/Scalable/extraction-works-alongside-compilation.cpp
M clang/test/Analysis/Scalable/help.cpp
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/pairs.json
M clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/tags.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-lu-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-tu-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/rt-wpa-empty.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/Inputs/unknown-type.json
A clang/test/Analysis/Scalable/ssaf-format/Artifact/round-trip.test
A clang/test/Analysis/Scalable/ssaf-format/Artifact/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-element.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/invalid-direct-callee-id.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-col.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-file.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def-line.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-def.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-direct-callees.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-pretty-name.json
M clang/test/Analysis/Scalable/ssaf-format/Inputs/CallGraph/missing-virtual-callees.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/linkage-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/lu-namespace-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/mismatched-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-lu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-target-triple.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/namespace-element-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-empty-namespace.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-multiple-namespace-elements.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-single-namespace-element.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/LUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-entry-missing-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/data-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity-id-in-data-map.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-entity.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/duplicate-summary-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-data-missing-entity-summary.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-suffix.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/entity-name-missing-usr.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-entry-missing-name.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/id-table-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/invalid-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-duplicate-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-id-not-uint64.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-invalid-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-linkage-missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-entry-missing-linkage.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-extra-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-missing-id.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/linkage-table-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/mismatched-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-data.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-id-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-kind.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-linkage-table.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-name.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-tu-namespace.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/missing-type.json
A clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/not-normalized-target-triple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-element-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-pairs-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-invalid-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-first-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-pairs-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/pairs-missing-second-field.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/read-entity-summary-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty-data-entry.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-link-unit.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-external.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-internal.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-multiple.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-linkage-none.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/Inputs/rt-two-summary-types.json
M clang/test/Analysis/Scalable/ssaf-format/TUSummary/top-level.test
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/mismatched-type.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-type.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
M clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-empty.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-multikey.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-ref.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-invalid-entity-id-value.json
M clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-missing-fields.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1+2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-1.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-2.json
M clang/test/Analysis/Scalable/ssaf-linker/Outputs/lu-empty.json
A clang/test/Analysis/malloc-sizeof-fp.cpp
A clang/test/Analysis/pthreadlock-notes.c
M clang/test/CIR/CodeGen/bind-temporary-lvalue.cpp
A clang/test/CIR/CodeGen/bitfield-postinc.cpp
A clang/test/CIR/CodeGen/const-array-floating-point.c
A clang/test/CIR/CodeGen/constexpr-ptr-offset.cpp
A clang/test/CIR/CodeGen/cxx-construct-lvalue.cpp
A clang/test/CIR/CodeGen/string-literal-high-bytes.c
M clang/test/CIR/CodeGen/ternary-throw.cpp
A clang/test/CIR/CodeGen/vector-convert-to-bool.c
M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
A clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
M clang/test/CIR/CodeGenOpenCL/vector.cl
M clang/test/CIR/IR/invalid-addrspace.cir
A clang/test/CIR/IR/invalid-bit.cir
A clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
A clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
A clang/test/CIR/Transforms/abi-lowering/indirect-return-sret.cir
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
A clang/test/CodeGen/AArch64/neon/add.c
M clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
M clang/test/CodeGen/AArch64/neon/fused-multiply.c
A clang/test/CodeGen/AArch64/neon/subtraction.c
A clang/test/CodeGen/AArch64/neon/widen.c
R clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
A clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M clang/test/CodeGen/X86/avx512f-builtins-constrained-cmp.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/avr/avr-builtins.c
A clang/test/CodeGen/ubsan-aggregate-null-align-bounds.c
R clang/test/CodeGen/ubsan-aggregate-null-align.c
A clang/test/CodeGenCXX/cxx20-nttp-object-layout.cpp
A clang/test/CodeGenCXX/noreturn-init-stmt.cpp
M clang/test/CodeGenHIP/offload-pgo-sections.hip
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
A clang/test/CodeGenHLSL/Inputs/a.hlsl
A clang/test/CodeGenHLSL/Inputs/b.hlsl
A clang/test/CodeGenHLSL/SysInputs/c.hlsl
A clang/test/CodeGenHLSL/builtins/QuadReadAcrossDiagonal.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/cbuffer_copy_layout.hlsl
M clang/test/CodeGenHLSL/debug/source-language.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata-disabled.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata-includes.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata-mailformed-command-line.hlsl
A clang/test/CodeGenHLSL/dx-source-metadata.hlsl
M clang/test/CodeGenHLSL/lit.local.cfg
M clang/test/CodeGenHLSL/matrix-layout-attr-overrides-default.hlsl
A clang/test/CodeGenHLSL/preserve-interface-dce.hlsl
A clang/test/CodeGenHLSL/preserve-interface.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
M clang/test/CodeGenHLSL/semantics/semantic-struct-2-output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
A clang/test/DebugInfo/Generic/attr-btf_type_tag-typedef-no-ptr.c
A clang/test/Driver/aarch64-hip12.c
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/amdgpu-xnack-sramecc-flags.c
A clang/test/Driver/cl-deterministic.c
M clang/test/Driver/clang-offload-bundler-multi-compress.c
M clang/test/Driver/dxc_debug.hlsl
A clang/test/Driver/dxc_fspv_preserve_interface.hlsl
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/hexagon-toolchain-picolibc.c
M clang/test/Driver/hip-include-path.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-profile-rocm-runtime.hip
M clang/test/Driver/hip-target-id.hip
M clang/test/Driver/hip-toolchain-features.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/objc-constant-literals.m
A clang/test/Driver/offload-darwin-host.hip
M clang/test/Driver/opencl.cl
A clang/test/Driver/openmp-Xopenmp-target-forward-args.c
A clang/test/Driver/print-enabled-extensions/aarch64-hip12.c
M clang/test/Driver/spirv-amd-toolchain.c
M clang/test/Driver/target-id.cl
M clang/test/Driver/unknown-std.cl
A clang/test/Driver/zos-err-options.c
M clang/test/Format/lit.local.cfg
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
A clang/test/OffloadTools/clang-sycl-linker/archive-extras.ll
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/link.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OffloadTools/clang-sycl-linker/triple.ll
A clang/test/OffloadTools/clang-sycl-linker/weak-symbols.ll
A clang/test/OpenMP/collapse_extern_ref_crash.cpp
A clang/test/ParserHLSL/hlsl_is_array_attr.hlsl
A clang/test/ParserHLSL/hlsl_is_array_attr_error.hlsl
A clang/test/ParserOpenACC/directive-scope-setup.cpp
R clang/test/ParserOpenACC/gh197858.cpp
A clang/test/Preprocessor/avr-builtins.c
A clang/test/Preprocessor/init-datetime-macros-nowarns.c
A clang/test/Preprocessor/init-datetime-macros-warns.c
A clang/test/Preprocessor/init-datetime-macros.c
M clang/test/Preprocessor/iwithprefix.c
M clang/test/Preprocessor/predefined-macros.c
M clang/test/Preprocessor/zos-target.c
A clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme2p3.c
A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve2p3___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve2p3.c
A clang/test/Sema/AArch64/arm_sve_streaming_only_sme_AND_sme2p3.c
R clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
A clang/test/Sema/LifetimeSafety/annotation-suggestions-fixits.cpp
A clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
A clang/test/Sema/LifetimeSafety/attr-lifetimebound-no-crash.cpp
A clang/test/Sema/LifetimeSafety/attr-lifetimebound.c
A clang/test/Sema/LifetimeSafety/capture-by.cpp
A clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
A clang/test/Sema/LifetimeSafety/dangling-field.cpp
A clang/test/Sema/LifetimeSafety/dangling-global.cpp
A clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
A clang/test/Sema/LifetimeSafety/invalidations.cpp
A clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
A clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
A clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-cross-tu.cpp
A clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp
A clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-macro.cpp
A clang/test/Sema/LifetimeSafety/missing-origin-stats.cpp
A clang/test/Sema/LifetimeSafety/nocfg-disabled.cpp
A clang/test/Sema/LifetimeSafety/nocfg.cpp
A clang/test/Sema/LifetimeSafety/noescape-violation.cpp
A clang/test/Sema/LifetimeSafety/safety-c.c
A clang/test/Sema/LifetimeSafety/safety.cpp
A clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
M clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
A clang/test/Sema/atomic-conversions-to-int.cpp
A clang/test/Sema/attr-lifetime-capture-by.c
R clang/test/Sema/attr-lifetimebound-no-crash.cpp
M clang/test/Sema/attr-lifetimebound.c
R clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
R clang/test/Sema/warn-lifetime-analysis-nocfg-disabled.cpp
R clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
R clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
R clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
R clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
R clang/test/Sema/warn-lifetime-safety-dataflow.cpp
R clang/test/Sema/warn-lifetime-safety-fixits.cpp
R clang/test/Sema/warn-lifetime-safety-invalidations.cpp
R clang/test/Sema/warn-lifetime-safety-lifetimebound.cpp
R clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
R clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
R clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-macro.cpp
R clang/test/Sema/warn-lifetime-safety-missing-origin-stats.cpp
R clang/test/Sema/warn-lifetime-safety-noescape.cpp
R clang/test/Sema/warn-lifetime-safety-suggestions.cpp
R clang/test/Sema/warn-lifetime-safety.cpp
A clang/test/SemaCUDA/pr200545.cu
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
A clang/test/SemaHLSL/BuiltIns/QuadReadAcrossDiagonal-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveBallot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/WaveActiveCountBits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot4add_i8packed-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot4add_u8packed-errors.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
M clang/test/SemaHLSL/Language/InitListAST.hlsl
M clang/test/SemaHLSL/Language/InitLists.hlsl
M clang/test/SemaHLSL/Resources/ConstantBuffers.hlsl
M clang/test/SemaHLSL/prohibit_pointer.hlsl
M clang/test/SemaOpenCL/amdgpu-attrs.cl
M clang/tools/clang-ssaf-analyzer/CMakeLists.txt
M clang/tools/clang-ssaf-format/CMakeLists.txt
M clang/tools/clang-ssaf-format/SSAFFormat.cpp
M clang/tools/clang-ssaf-linker/CMakeLists.txt
M clang/tools/clang-ssaf-linker/SSAFLinker.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/unittests/AST/ASTExprTest.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/CIR/ControlFlowTest.cpp
M clang/unittests/Driver/CMakeLists.txt
A clang/unittests/Driver/EscapedCommandLineTest.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
M clang/unittests/ScalableStaticAnalysisFramework/EntityLinkerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/LUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/TUSummaryTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/SummaryData/SummaryDataTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/www/cxx_status.html
M compiler-rt/lib/builtins/cpu_model/riscv/hwprobe.inc
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/xray/xray_hexagon.cpp
M compiler-rt/lib/xray/xray_trampoline_hexagon.S
M compiler-rt/test/fuzzer/features_dir.test
M compiler-rt/test/fuzzer/fork-sigusr.test
M compiler-rt/test/fuzzer/fork.test
M compiler-rt/test/fuzzer/fork_corpus_groups.test
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/fuzzer/merge-posix.test
M compiler-rt/test/fuzzer/merge-sigusr.test
M compiler-rt/test/fuzzer/sigint.test
M compiler-rt/test/fuzzer/sigusr.test
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ScriptDebuggerController.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/StepIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/dextIR/ValueIR.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/Metrics.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/RunMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/evaluation/StateMatch.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
M cross-project-tests/debuginfo-tests/dexter/dex/test_script/Script.py
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/debug_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_finish.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/debugging/then_step_out.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/evaluation/eval_list_aggregates.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/Inputs/header.h
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/invalid_label.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/offset.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/simple_labels.cpp
A cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/labels/source_root_dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/lit.local.cfg
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/invalid-script-nodes.test
M cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/parser/valid-parse.test
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M flang-rt/lib/runtime/__fortran_builtins.f90
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/CMakeLists.txt
M flang/docs/Extensions.md
M flang/docs/Intrinsics.md
M flang/docs/OpenACC-extensions.md
M flang/include/flang/Lower/CustomIntrinsicCall.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/OpenMP.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/MIFCommon.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Flags.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/lib/Optimizer/Transforms/MemoryUtils.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-do-forall.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Support/Flags.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Driver/compiler-options.f90
A flang/test/Driver/fakeflang.F
M flang/test/Driver/large-data-threshold.f90
M flang/test/Driver/offload-device.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Driver/supported-suffices/f03-suffix.f03
M flang/test/Driver/supported-suffices/f08-suffix.f08
M flang/test/Driver/version-loops.f90
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
M flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/mem2reg.mlir
A flang/test/Fir/memory-allocation-opt-do-concurrent.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Lower/Intrinsics/getarg.f90
A flang/test/Lower/Intrinsics/iargc.f90
A flang/test/Lower/OpenACC/Todo/acc-unstructured-combined-construct.f90
A flang/test/Lower/OpenACC/Todo/acc-unstructured-loop-construct.f90
M flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
A flang/test/Lower/OpenACC/acc-routine-bind-clone-signature.f90
A flang/test/Lower/OpenACC/acc-routine-bind-devtype-undeclared.f90
A flang/test/Lower/OpenACC/acc-routine-bind-gate-skip.f90
A flang/test/Lower/OpenACC/acc-routine-bind-string-undeclared.f90
A flang/test/Lower/OpenACC/acc-routine-bind-undeclared.f90
M flang/test/Lower/OpenACC/acc-unstructured.f90
A flang/test/Lower/OpenACC/do-concurrent-collapse.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map-2.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-parallel-do-simd-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-distribute-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-nested-distribute-private-adjustable-array.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/Todo/error.f90
R flang/test/Lower/OpenMP/Todo/firstprivate-target.f90
R flang/test/Lower/OpenMP/Todo/groupprivate.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
A flang/test/Lower/OpenMP/groupprivate-modfile.f90
A flang/test/Lower/OpenMP/groupprivate.f90
A flang/test/Lower/OpenMP/nothing.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target-scope.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/do_concurrent_loop_in_nested_block.f90
M flang/test/Lower/do_concurrent_reduce.f90
A flang/test/Parser/recovery09.f90
A flang/test/Semantics/OpenACC/acc-collapse-do-concurrent.f90
M flang/test/Semantics/OpenMP/declare-target-flags.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/symbol08.f90
A flang/test/Semantics/cuf-generic-literal-host.cuf
M flang/test/Semantics/cuf09.cuf
A flang/test/Semantics/cuf28.cuf
A flang/test/Semantics/io-implied-do01.f90
A flang/test/Semantics/resolve130.f90
A flang/test/Semantics/resolve131.f90
A flang/test/Semantics/test-iargc-getarg.f90
A flang/test/Transforms/external-name-interop-acc-routine-bind.fir
M flang/tools/CMakeLists.txt
A flang/tools/fakeflang/CMakeLists.txt
A flang/tools/fakeflang/ensure_flang_exists.cmake
A flang/tools/fakeflang/fakeflang.cpp
M flang/tools/flang-driver/CMakeLists.txt
M flang/tools/flang-driver/driver.cpp
M flang/unittests/Optimizer/CMakeLists.txt
A flang/unittests/Optimizer/OpenACC/FIROpenACCPointerLikeTypeInterfaceTest.cpp
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_resource_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_winsize.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/include/llvm-libc-macros/linux/sys-resource-macros.h
M libc/include/llvm-libc-macros/linux/unistd-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/struct_tm.h
A libc/include/llvm-libc-types/struct_winsize.h
A libc/include/llvm-libc-types/tm_gmtoff_t.h
M libc/include/math.yaml
M libc/include/netinet/in.yaml
M libc/include/stdlib.yaml
M libc/include/sys/ioctl.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
M libc/lib/CMakeLists.txt
M libc/shared/math.h
A libc/shared/math/cbrtf16.h
M libc/src/CMakeLists.txt
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/getcwd.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/prlimit.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sysinfo.h
M libc/src/__support/endian_internal.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cbrtf16.h
M libc/src/__support/math/hypot.h
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/raw_mutex.h
M libc/src/__support/threads/raw_rwlock.h
M libc/src/arpa/inet/ntohl.cpp
M libc/src/arpa/inet/ntohs.cpp
M libc/src/math/CMakeLists.txt
A libc/src/math/cbrtf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cbrtf16.cpp
A libc/src/netinet/CMakeLists.txt
A libc/src/netinet/in6addr_any.cpp
A libc/src/netinet/in6addr_any.h
A libc/src/netinet/in6addr_loopback.cpp
A libc/src/netinet/in6addr_loopback.h
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/mkstemp.cpp
A libc/src/stdlib/mkstemp.h
M libc/src/string/memory_utils/arm/inline_memset.h
M libc/src/sys/resource/linux/CMakeLists.txt
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/time/strftime_core/converter.h
M libc/src/time/time_utils.h
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/getentropy.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/test/integration/src/__support/threads/futex_requeue_test.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/endian_internal_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/RoundToIntegerTest.h
A libc/test/src/math/cbrtf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cbrtf16_test.cpp
M libc/test/src/netinet/CMakeLists.txt
M libc/test/src/netinet/in_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/mkstemp_test.cpp
M libc/test/src/sys/ioctl/linux/CMakeLists.txt
M libc/test/src/sys/ioctl/linux/ioctl_test.cpp
M libc/test/src/time/strftime_test.cpp
M libc/test/src/unistd/sysconf_test.cpp
M libclc/clc/lib/amdgpu/CMakeLists.txt
A libclc/clc/lib/amdgpu/math/clc_recip_fast.cl
A libclc/clc/lib/amdgpu/math/clc_recip_fast.inc
M libclc/clc/lib/generic/CMakeLists.txt
M libclc/clc/lib/generic/math/clc_acos.inc
M libclc/clc/lib/generic/math/clc_atan.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers_fp64.inc
M libcxx/docs/ABIGuarantees.rst
M libcxx/docs/FeatureTestMacroTable.rst
A libcxx/docs/PostMeetingProcedure.rst
M libcxx/docs/ReleaseNotes/23.rst
A libcxx/docs/Status/Cxx26.rst
A libcxx/docs/Status/Cxx26Issues.csv
A libcxx/docs/Status/Cxx26Papers.csv
A libcxx/docs/Status/Cxx29.rst
A libcxx/docs/Status/Cxx29Issues.csv
A libcxx/docs/Status/Cxx29Papers.csv
R libcxx/docs/Status/Cxx2c.rst
R libcxx/docs/Status/Cxx2cIssues.csv
R libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/index.rst
M libcxx/include/__configuration/abi.h
M libcxx/include/__locale
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__numeric/accumulate.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/inner_product.h
M libcxx/include/__numeric/pstl.h
M libcxx/include/__numeric/reduce.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/deque
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/version
M libcxx/src/locale.cpp
M libcxx/test/configs/ibm-libc++-shared.cfg.in
M libcxx/test/extensions/clang/clang_modules_include.gen.py
M libcxx/test/extensions/libcxx/libcpp_version.gen.py
M libcxx/test/extensions/libcxx/no_assert_include.gen.py
M libcxx/test/extensions/posix/xopen_source.gen.py
M libcxx/test/libcxx-03/clang_tidy.gen.py
M libcxx/test/libcxx-03/no_assert_include.gen.py
M libcxx/test/libcxx-03/system_reserved_names.gen.py
M libcxx/test/libcxx-03/transitive_includes.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/sequences/deque/lower_deque_block_size.default.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/lower_deque_block_size.lower.compile.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
R libcxx/test/libcxx/numerics/nodiscard.verify.cpp
A libcxx/test/libcxx/numerics/numeric.ops/nodiscard.verify.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/utilities/bit/nodiscard.verify.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.format.pass.cpp
M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.vformat.pass.cpp
M libcxx/test/std/double_include.gen.py
M libcxx/test/std/header_inclusions.gen.py
M libcxx/test/std/iterators/iterator.range/mandatory_inclusions.gen.py
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char16_t_char8_t.depr_in_cxx20.verify.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/codecvt_byname_char32_t_char8_t.depr_in_cxx20.verify.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t_char8_t.pass.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char16_t_char8_t.depr_in_cxx20.verify.cpp
A libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_char32_t_char8_t.depr_in_cxx20.verify.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_encoding.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_max_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_char8_t_unshift.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_always_noconv.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_encoding.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_in.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_max_length.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_out.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_char8_t_unshift.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t_char8_t.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t_char8_t.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/parse.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/and_then.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/or_else.pass.cpp
M libcxx/test/std/utilities/optional/optional.monadic/transform.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
M libcxx/test/std/utilities/optional/optional.syn/optional_in_place_t.verify.cpp
M libcxx/test/std/utilities/optional/optional.syn/optional_nullopt_t.verify.cpp
M libcxx/utils/conformance
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/Writer.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/ICF.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.h
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/SymbolTable.h
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/COFF/time-trace.s
R lld/test/ELF/Inputs/arm-long-thunk-converge.lds
M lld/test/ELF/aarch64-cortex-a53-843419-thunk-relocation-crash.s
M lld/test/ELF/aarch64-long-thunk-converge.s
M lld/test/ELF/aarch64-thunk-reuse2.s
M lld/test/ELF/arm-bl-v6-inrange.s
M lld/test/ELF/arm-bl-v6.s
M lld/test/ELF/arm-branch-undef-weak-plt-thunk.s
M lld/test/ELF/arm-fix-cortex-a8-thunk-align.s
M lld/test/ELF/arm-fix-cortex-a8-thunk.s
M lld/test/ELF/arm-fix-cortex-a8-toolarge.s
M lld/test/ELF/arm-force-pi-thunk.s
M lld/test/ELF/arm-long-thunk-converge.s
M lld/test/ELF/arm-thumb-condbranch-thunk.s
M lld/test/ELF/arm-thumb-mix-range-thunk-os.s
M lld/test/ELF/arm-thumb-plt-range-thunk-os.s
M lld/test/ELF/arm-thumb-range-thunk-os-no-ext.s
M lld/test/ELF/arm-thumb-range-thunk-os.s
M lld/test/ELF/arm-thumb-thunk-empty-pass.s
M lld/test/ELF/arm-thumb-thunk-v6m.s
M lld/test/ELF/arm-thunk-largesection.s
M lld/test/ELF/arm-thunk-linkerscript-dotexpr.s
M lld/test/ELF/arm-thunk-linkerscript-large.s
M lld/test/ELF/arm-thunk-linkerscript-orphan.s
M lld/test/ELF/arm-thunk-linkerscript-sort.s
M lld/test/ELF/arm-thunk-linkerscript.s
M lld/test/ELF/arm-thunk-many-passes.s
M lld/test/ELF/arm-thunk-multipass-plt.s
M lld/test/ELF/arm-thunk-multipass.s
M lld/test/ELF/arm-thunk-nosuitable.s
M lld/test/ELF/arm-thunk-re-add.s
M lld/test/ELF/arm-thunk-section-too-large.s
M lld/test/ELF/arm-thunk-toolargesection.s
M lld/test/ELF/keep-data-section-prefix.s
M lld/test/ELF/linkerscript/data-segment-relro.test
A lld/test/ELF/linkerscript/overlay-symbols.test
A lld/test/ELF/loongarch-pcadd-hi20.s
M lld/test/ELF/lto/thinlto-time-trace.ll
M lld/test/ELF/relro-non-contiguous-script-data.s
M lld/test/ELF/relro-non-contiguous.s
M lld/test/ELF/time-trace.s
A lld/test/MachO/bp-section-orderer-cold.s
A lld/test/MachO/cold-func-weak-merge.s
A lld/test/MachO/cold-func.s
M lld/test/MachO/map-file.s
M lld/test/MachO/read-workers-order-obj.s
M lld/test/MachO/read-workers-order.s
M lld/test/MachO/thinlto-time-trace.ll
M lld/test/MachO/time-trace.s
M lld/test/wasm/reloc-relative.s
M lld/wasm/InputChunks.cpp
M lld/wasm/InputFiles.cpp
M lldb/bindings/interface/SBTargetDocstrings.i
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/lldbgdbremote.md
M lldb/examples/darwin/heap_find/heap.py
A lldb/examples/python/delayed_enable.py
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/SearchFilter.h
M lldb/include/lldb/Core/Statusline.h
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/ProcessInfo.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/builders/builder.py
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
A lldb/packages/Python/lldbsuite/test/make/WASI.rules
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBFileSpec.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBLaunchInfo.cpp
M lldb/source/API/SBPlatform.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/SearchFilter.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Host/common/HostInfoBase.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ExpressionParser/Clang/InjectPointerSigningFixups.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
A lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/Symbol.cpp
M lldb/source/Symbol/Symtab.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/LanguageRuntime.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Utility/FileSpec.cpp
M lldb/source/Utility/ProcessInfo.cpp
M lldb/test/API/CMakeLists.txt
M lldb/test/API/api/listeners/main.c
M lldb/test/API/commands/expression/anonymous-struct/TestCallUserAnonTypedef.py
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/expression/dollar-in-variable/TestDollarInVariable.py
M lldb/test/API/commands/expression/ir-interpreter/main.c
A lldb/test/API/commands/expression/ptrauth-weak-symbols/Makefile
A lldb/test/API/commands/expression/ptrauth-weak-symbols/TestPtrauthWeakSymbols.py
A lldb/test/API/commands/expression/ptrauth-weak-symbols/dylib.c
A lldb/test/API/commands/expression/ptrauth-weak-symbols/dylib.h
A lldb/test/API/commands/expression/ptrauth-weak-symbols/main.c
A lldb/test/API/commands/expression/ptrauth-weak-symbols/module.modulemap
M lldb/test/API/commands/expression/radar_9673664/main.c
M lldb/test/API/commands/expression/top-level/dummy.cpp
M lldb/test/API/commands/expression/weak_symbols/main.c
M lldb/test/API/commands/platform/process/list/TestProcessList.py
M lldb/test/API/commands/process/attach/TestProcessAttach.py
M lldb/test/API/commands/register/register_command/TestRegisters.py
M lldb/test/API/commands/target/create-deps/TestTargetCreateDeps.py
M lldb/test/API/functionalities/always-run-threads/TestAlwaysRunThreadNames.py
M lldb/test/API/functionalities/asan/main.c
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/vector/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/vector/TestDataFormatterLibcxxVectorSimulator.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/vector/main.cpp
M lldb/test/API/functionalities/deleted-executable/TestDeletedExecutable.py
M lldb/test/API/functionalities/gdb_remote_client/TestPlatformKill.py
M lldb/test/API/functionalities/memory-region/main.cpp
M lldb/test/API/functionalities/object-file/bin/hello.c
M lldb/test/API/functionalities/object-file/bin/hello.cpp
M lldb/test/API/functionalities/process_save_core_minidump/main.cpp
M lldb/test/API/functionalities/rerun_and_expr/TestRerunAndExpr.py
M lldb/test/API/functionalities/rerun_and_expr_dylib/TestRerunAndExprDylib.py
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/step-vrs-interrupt/main.cpp
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/thread/create_after_attach/main.cpp
M lldb/test/API/functionalities/tsan/thread_leak/main.c
M lldb/test/API/lang/c/anonymous/TestAnonymous.py
M lldb/test/API/lang/c/blocks/TestBlocks.py
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
M lldb/test/API/lang/c/conflicting-symbol/TestConflictingSymbol.py
M lldb/test/API/lang/c/const_variables/TestConstVariables.py
M lldb/test/API/lang/c/const_variables/main.c
M lldb/test/API/lang/c/enum_types/TestEnumTypes.py
M lldb/test/API/lang/c/fpeval/TestFPEval.py
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
A lldb/test/API/lang/c/libc_calls/Makefile
A lldb/test/API/lang/c/libc_calls/TestLibcCalls.py
A lldb/test/API/lang/c/libc_calls/main.c
M lldb/test/API/lang/c/modules/TestCModules.py
M lldb/test/API/lang/c/register_variables/test.c
M lldb/test/API/lang/c/sizeof/TestCSizeof.py
M lldb/test/API/lang/c/struct_types/TestStructTypes.py
M lldb/test/API/lang/cpp/abi_tag_structors/TestAbiTagStructors.py
M lldb/test/API/lang/cpp/const_static_integral_member/TestConstStaticIntegralMember.py
M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
M lldb/test/API/lang/cpp/llvm-style/TestLLVMStyle.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
M lldb/test/API/lang/cpp/namespace_conflicts/TestNamespaceConflicts.py
M lldb/test/API/lang/cpp/operators/TestCppOperators.py
M lldb/test/API/lang/cpp/printf/TestPrintf.py
M lldb/test/API/lang/cpp/static_members/TestCPPStaticMembers.py
M lldb/test/API/lang/cpp/symbols/TestSymbols.py
M lldb/test/API/lang/cpp/template-diagnostic-hint/TestTemplateDiagnosticHint.py
M lldb/test/API/lang/cpp/template-function/TestTemplateFunctions.py
M lldb/test/API/lang/cpp/this/TestCPPThis.py
M lldb/test/API/lang/cpp/unique-types4/TestUniqueTypes4.py
M lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py
M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
M lldb/test/API/lang/objcxx/conflicting-names-class-update-utility-expr/TestObjCConflictingNamesForClassUpdateExpr.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/API/macosx/profile_vrs_detach/main.c
M lldb/test/API/macosx/riscv32-corefile/TestRV32MachOCorefile.py
M lldb/test/API/macosx/riscv32-corefile/riscv32-registers.yaml
M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
M lldb/test/API/python_api/breakpoint/main.c
M lldb/test/API/python_api/hello_world/TestHelloWorld.py
A lldb/test/API/python_api/persistent_decls/Makefile
A lldb/test/API/python_api/persistent_decls/TestPersistentDecls.py
A lldb/test/API/python_api/persistent_decls/main.c
M lldb/test/API/python_api/process/address-masks/main.c
M lldb/test/API/python_api/unified_section_list/main.cpp
M lldb/test/API/python_api/unnamed_symbol_lookup/TestUnnamedSymbolLookup.py
M lldb/test/API/sanity/TestModuleCacheSanity.py
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/cancel/main.c
M lldb/test/API/tools/lldb-dap/eventStatistic/main.cpp
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
M lldb/test/API/tools/lldb-dap/locations/main.cpp
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/restart/main.c
M lldb/test/API/tools/lldb-dap/send-event/main.c
M lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/main.cpp
M lldb/test/API/tools/lldb-dap/startDebugging/main.c
M lldb/test/API/tools/lldb-dap/terminated-event/main.cpp
M lldb/test/API/tools/lldb-dap/unknown/main.c
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/main.cpp
M lldb/test/CMakeLists.txt
M lldb/test/Shell/Expr/TestObjCxxEnumConflict.test
M lldb/test/Shell/Settings/TestModuleCacheSanity.test
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAPSessionManager.cpp
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/extension/package.json
M lldb/tools/yaml2macho-core/CoreSpec.cpp
M lldb/tools/yaml2macho-core/CoreSpec.h
M lldb/tools/yaml2macho-core/MemoryWriter.cpp
M lldb/tools/yaml2macho-core/Utility.cpp
M lldb/tools/yaml2macho-core/Utility.h
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Protocol/CMakeLists.txt
A lldb/unittests/Protocol/MCPErrorTest.cpp
A lldb/unittests/Protocol/MCPPluginTest.cpp
A lldb/unittests/Protocol/MCPServerInfoTest.cpp
A lldb/unittests/Protocol/MCPTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
M lldb/unittests/TestingSupport/Host/JSONTransportTestUtilities.h
M lldb/unittests/Utility/ProcessInfoTest.cpp
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/LangRef.rst
M llvm/docs/PDB/index.rst
M llvm/docs/Passes.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/Security.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
M llvm/examples/Kaleidoscope/Chapter7/toy.cpp
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/Bitset.h
M llvm/include/llvm/ADT/FloatingPointMode.h
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/GenericUniformityInfo.h
M llvm/include/llvm/ADT/SCCIterator.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/Analysis/AssumeBundleQueries.h
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/WasmRelocs.def
M llvm/include/llvm/CGData/OutlinedHashTree.h
M llvm/include/llvm/CGData/StableFunctionMap.h
M llvm/include/llvm/CodeGen/CFIFixup.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MIRPrinter.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineRegionInfo.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/RDFGraph.h
M llvm/include/llvm/CodeGen/RDFLiveness.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/include/llvm/Frontend/HLSL/CBuffer.h
M llvm/include/llvm/IR/BundleAttributes.h
M llvm/include/llvm/IR/CMakeLists.txt
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
A llvm/include/llvm/IR/IntrinsicsAVR.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCDXContainerWriter.h
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/ProfileData/SampleProfWriter.h
A llvm/include/llvm/Support/CHERICapabilityFormat.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/ELFAttrParserCompact.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/TimeProfiler.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
M llvm/include/llvm/TargetParser/XtensaTargetParser.def
M llvm/include/llvm/TargetParser/XtensaTargetParser.h
M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
M llvm/include/llvm/Transforms/IPO/GlobalDCE.h
M llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/include/llvm/XRay/InstrumentationMap.h
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/BinaryFormat/Magic.cpp
M llvm/lib/BinaryFormat/Wasm.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CGData/OutlinedHashTree.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CFIFixup.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/InlineAsmPrepare.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineRegionInfo.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/MacroFusion.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/DTLTO/DTLTO.cpp
M llvm/lib/DebugInfo/PDB/PDBSymbolFunc.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
M llvm/lib/Frontend/HLSL/CBuffer.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BundleAttributes.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/IR/PrintPasses.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/Support/APFloat.cpp
A llvm/lib/Support/CHERICapabilityFormat.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/FloatingPointMode.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/Parallel.cpp
M llvm/lib/Support/SpecialCaseList.cpp
M llvm/lib/Support/TimeProfiler.cpp
M llvm/lib/Support/Win64EH.cpp
M llvm/lib/Support/Z3Solver.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/lib/Target/AArch64/AArch64PerfectShuffle.cpp
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.h
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.cpp
A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.def
A llvm/lib/Target/AMDGPU/AMDGPUHWEvents.h
M llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUWaitcntUtils.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/BPF/BPFISelLowering.h
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/BTFDebug.h
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/lib/Target/DirectX/DXContainerPDB.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/M68k/M68kInstrAtomics.td
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.td
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/Mips/MipsScheduleGeneric.td
M llvm/lib/Target/Mips/MipsScheduleI6400.td
M llvm/lib/Target/Mips/MipsScheduleP5600.td
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCBufferAccess.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/SystemZTDC.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86InstrVecCompiler.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86SchedSandyBridge.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaProcessors.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/GlobalDCE.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
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/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
A llvm/test/Analysis/CostModel/AArch64/clmul-fixed.ll
A llvm/test/Analysis/CostModel/AArch64/clmul-scalable.ll
M llvm/test/Analysis/CostModel/AArch64/clmul.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AMDGPU/add-sub.ll
M llvm/test/Analysis/CostModel/AMDGPU/div.ll
M llvm/test/Analysis/CostModel/AMDGPU/extractelement.ll
M llvm/test/Analysis/CostModel/AMDGPU/fadd.ll
M llvm/test/Analysis/CostModel/AMDGPU/fma.ll
M llvm/test/Analysis/CostModel/AMDGPU/fmul.ll
M llvm/test/Analysis/CostModel/AMDGPU/insertelement.ll
M llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
M llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
M llvm/test/Analysis/CostModel/AMDGPU/rem.ll
A llvm/test/Analysis/CtxProfAnalysis/flatten-prethinlink-requires-guid-metadata.ll
A llvm/test/Analysis/DependenceAnalysis/gcd-miv-addrec-wrap.ll
M llvm/test/Analysis/MemorySSA/ptr-const-mem.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/workitem-intrinsics.ll
M llvm/test/Analysis/ValueTracking/assume.ll
A llvm/test/Analysis/ValueTracking/known-non-zero-shr-add.ll
A llvm/test/Bitcode/byte-constants.ll
M llvm/test/Bitcode/operand-bundles-bc-analyzer.ll
A llvm/test/Bitcode/upgrade-sme2-fp8-intrinsics-tmop.ll
A llvm/test/Bitcode/upgrade-sme2-fp8-intrinsics-tmop.ll.bc
A llvm/test/CodeGen/AArch64/GlobalISel/inline-memset-forced.mir
A llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memset.mir
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-memset-inline.ll
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-insert-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators-sve.ll
M llvm/test/CodeGen/AArch64/aarch64-sve-asm.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f32_su32.ll
M llvm/test/CodeGen/AArch64/arm64e-tail-call-autib.ll
M llvm/test/CodeGen/AArch64/cfi-fixup-multi-block-prologue.mir
M llvm/test/CodeGen/AArch64/cfi-fixup-multi-section.mir
M llvm/test/CodeGen/AArch64/cfi-fixup.mir
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/test/CodeGen/AArch64/ext-narrow-index.ll
M llvm/test/CodeGen/AArch64/fmaximumnum-fminimumnum-select.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
A llvm/test/CodeGen/AArch64/misched-fusion-arith-bcc.ll
A llvm/test/CodeGen/AArch64/misched-fusion-arith-bcc.mir
A llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.ll
A llvm/test/CodeGen/AArch64/misched-fusion-arith-cbz.mir
A llvm/test/CodeGen/AArch64/misched-fusion-no-raw-dependency.mir
R llvm/test/CodeGen/AArch64/misched-fusion.ll
M llvm/test/CodeGen/AArch64/pauth-lr-tail-call-fpdiff.ll
A llvm/test/CodeGen/AArch64/pdep.ll
A llvm/test/CodeGen/AArch64/pext.ll
A llvm/test/CodeGen/AArch64/shuffle-slide-to-shift.ll
A llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr-mir.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-insert.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-tmop.ll
A llvm/test/CodeGen/AArch64/sme2p3-intrinsics-luti6.ll
M llvm/test/CodeGen/AArch64/sve-aba.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-cntp-combine-i32.ll
M llvm/test/CodeGen/AArch64/sve-cntp-combine-i64.ll
M llvm/test/CodeGen/AArch64/sve-extract-vector-to-predicate-store.ll
R llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
R llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-loads.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-stores.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-logical-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-unpred-form.ll
M llvm/test/CodeGen/AArch64/sve-load-compare-store.ll
M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-brk.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpge.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpgt.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphi.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphs.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplo.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpls.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplt.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpne.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
M llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
M llvm/test/CodeGen/AArch64/sve-saba.ll
M llvm/test/CodeGen/AArch64/sve-unary-movprfx.ll
M llvm/test/CodeGen/AArch64/sve-uunpklo-load-uzp1-store-combine.ll
M llvm/test/CodeGen/AArch64/sve-vselect-fold.ll
M llvm/test/CodeGen/AArch64/sve2-int-mul.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve2-rsra.ll
M llvm/test/CodeGen/AArch64/sve2-sli-sri.ll
M llvm/test/CodeGen/AArch64/sve2-sra.ll
M llvm/test/CodeGen/AArch64/sve2-unary-movprfx.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
A llvm/test/CodeGen/AArch64/sve2p3-intrinsics-luti6.ll
A llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll
M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-concat-vectors.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mad_64_32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-merge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.workitem.id.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-memsetinline.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.inline.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-unaligned.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-uniform-in-vgpr.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.s.buffer.load.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-amdgcn.s.buffer.load.subdword.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-s-buffer-load.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/alloca.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-bf16-gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/buffer-store-dwordx4-vpk-mul-war-hazard-gfx942.mir
M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
M llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
M llvm/test/CodeGen/AMDGPU/consecutive-loads-in-branch.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/divrem24-assume.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx1250.mir
M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fence-barrier.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
A llvm/test/CodeGen/AMDGPU/float-sopc-vopc.ll
A llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/gws_agpr.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.store.b128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load-last-use.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.m0.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.fmt-error.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1251.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1251.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1251.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
M llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-lastuse.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-lastuse.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/misched-into-wmma-hazard-shadow.mir
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
A llvm/test/CodeGen/AMDGPU/packed-fp64.ll
A llvm/test/CodeGen/AMDGPU/packed-u64.ll
A llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-bitcast-function.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-calling-conv.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-pointer-array.ll
A llvm/test/CodeGen/AMDGPU/rename-independent-subregs-unused-lanes.ll
M llvm/test/CodeGen/AMDGPU/rename-independent-subregs.mir
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
R llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdivrem24.ll
A llvm/test/CodeGen/AMDGPU/shl.v2i64.ll
M llvm/test/CodeGen/AMDGPU/simplifydemandedbits-recursion.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
A llvm/test/CodeGen/AMDGPU/spillv16Kernel.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
M llvm/test/CodeGen/AMDGPU/uniform-load-from-tid.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
A llvm/test/CodeGen/AMDGPU/vgpr-excess-threshold-percent-invalid.ll
A llvm/test/CodeGen/AMDGPU/vgpr-excess-threshold-percent.ll
R llvm/test/CodeGen/AMDGPU/waitcnt-debug.mir
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/CodeGen/AMDGPU/zext-lid.ll
A llvm/test/CodeGen/AVR/avr-intrinsics.ll
A llvm/test/CodeGen/BPF/BTF/type-tag-typedef-noptr.ll
A llvm/test/CodeGen/BPF/memcpy-align.ll
M llvm/test/CodeGen/BPF/rodata_1.ll
A llvm/test/CodeGen/DirectX/ContainerData/DebugName-default-output.test
A llvm/test/CodeGen/DirectX/ContainerData/DebugName-user-directory.test
M llvm/test/CodeGen/DirectX/ContainerData/DebugShaderHash.ll
A llvm/test/CodeGen/DirectX/ContainerData/Inputs/check_pdb_exists.py
A llvm/test/CodeGen/DirectX/ContainerData/PDBParts.ll
A llvm/test/CodeGen/DirectX/ContainerData/PDBParts.test
M llvm/test/CodeGen/DirectX/ContainerData/ShaderHash.ll
A llvm/test/CodeGen/DirectX/DebugInfo/dbg-assign.ll
A llvm/test/CodeGen/DirectX/DebugInfo/dbg-value-arglist.ll
A llvm/test/CodeGen/DirectX/DebugInfo/di-commonblock.ll
A llvm/test/CodeGen/DirectX/QuadReadAcrossDiagonal.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
M llvm/test/CodeGen/DirectX/embed-ildb.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/DirectX/switch-to-lookup-table-i16-narrowing.ll
A llvm/test/CodeGen/DirectX/switch-to-lookup-table-no-i8-narrowing.ll
A llvm/test/CodeGen/LoongArch/crc.ll
A llvm/test/CodeGen/LoongArch/lasx/vhaddw.ll
A llvm/test/CodeGen/LoongArch/lasx/vhsubw.ll
A llvm/test/CodeGen/LoongArch/lasx/vsllwil.ll
A llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
A llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll
A llvm/test/CodeGen/LoongArch/lsx/vsllwil.ll
M llvm/test/CodeGen/M68k/Atomics/load-store.ll
M llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
M llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
M llvm/test/CodeGen/M68k/Control/cmp.ll
M llvm/test/CodeGen/M68k/is-pcrel-register-operand-legal.mir
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash-bad-phys.mir
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash-bad-split.mir
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash-self-split.mir
A llvm/test/CodeGen/MIR/AMDGPU/virtregmap-stash.mir
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/aggregate_struct_return.ll
M llvm/test/CodeGen/Mips/GlobalISel/irtranslator/sret_pointer.ll
A llvm/test/CodeGen/Mips/GlobalISel/mips-prelegalizer-combiner/inline-memset.mir
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
A llvm/test/CodeGen/NVPTX/float-to-arbitrary-fp.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bitreverse-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-memset-inline.mir
A llvm/test/CodeGen/RISCV/GlobalISel/memset-inline.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
A llvm/test/CodeGen/RISCV/shadowcallstack-frame-flags.ll
M llvm/test/CodeGen/RISCV/shadowcallstack.ll
M llvm/test/CodeGen/SPIRV/FCmpFalse_Vec.ll
A llvm/test/CodeGen/SPIRV/constant/local-zero-constants.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-vector-skipped.ll
A llvm/test/CodeGen/SPIRV/debug-info/debug-type-vector.ll
M llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/extractvalue-aggregate-mutated-callsite-indirect.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/extractvalue-aggregate-mutated-callsite-asm.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-domain-order.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-load-store.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_memory_access_aliasing/alias-masked-load-store.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/freeze-aggregate.ll
A llvm/test/CodeGen/SPIRV/freeze-aggregate.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedAdd_spv_i64.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/QuadReadAcrossDiagonal.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/discard.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/Gather.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampleErrors.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-intrinsics.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/frexp.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/is_fpclass.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/metadata-argument-intrinsic.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/noalias-scope-decl.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/signed_arithmetic_overflow.ll
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-subbyte-array.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-global-array-poison.ll
A llvm/test/CodeGen/SPIRV/pointers/type-deduce-ptr-to-ptr-arg-alloca-store.ll
A llvm/test/CodeGen/SPIRV/preserve-interface-dce.ll
A llvm/test/CodeGen/SPIRV/preserve-interface.ll
M llvm/test/CodeGen/SPIRV/transcoding/atomic-load-store-unsupported.ll
A llvm/test/CodeGen/SPIRV/transcoding/load-atomic-ptr.ll
M llvm/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
M llvm/test/CodeGen/X86/abi-isel.ll
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/cmov.ll
M llvm/test/CodeGen/X86/apx/dec.ll
M llvm/test/CodeGen/X86/apx/imul.ll
M llvm/test/CodeGen/X86/apx/inc.ll
M llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
M llvm/test/CodeGen/X86/apx/neg.ll
M llvm/test/CodeGen/X86/apx/not.ll
M llvm/test/CodeGen/X86/apx/or.ll
M llvm/test/CodeGen/X86/apx/rol.ll
M llvm/test/CodeGen/X86/apx/ror.ll
M llvm/test/CodeGen/X86/apx/sar.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
M llvm/test/CodeGen/X86/apx/shl.ll
M llvm/test/CodeGen/X86/apx/shld.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/shrd.ll
M llvm/test/CodeGen/X86/apx/sub.ll
M llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/atomic-load-store.ll
M llvm/test/CodeGen/X86/call-imm.ll
M llvm/test/CodeGen/X86/cmp.ll
M llvm/test/CodeGen/X86/combine-gfni.ll
A llvm/test/CodeGen/X86/domain-reassignment-closure-stats.mir
A llvm/test/CodeGen/X86/float-to-arbitrary-fp-error.ll
A llvm/test/CodeGen/X86/float-to-arbitrary-fp.ll
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
A llvm/test/CodeGen/X86/fptosi-sat-vector-256.ll
A llvm/test/CodeGen/X86/fptosi-sat-vector-512.ll
M llvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
A llvm/test/CodeGen/X86/fptoui-sat-vector-256.ll
A llvm/test/CodeGen/X86/fptoui-sat-vector-512.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
M llvm/test/CodeGen/X86/gfni-xor-fold.ll
M llvm/test/CodeGen/X86/haddsub-shuf.ll
M llvm/test/CodeGen/X86/machine-region-info.mir
A llvm/test/CodeGen/X86/machine-sink-dbg-loc.mir
A llvm/test/CodeGen/X86/pdep.ll
A llvm/test/CodeGen/X86/pext.ll
M llvm/test/CodeGen/X86/pr81136.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/select-big-integer.ll
M llvm/test/CodeGen/X86/stack-coloring-setjmp.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/Xtensa/cpus.ll
M llvm/test/ExecutionEngine/MCJIT/frem.ll
A llvm/test/Instrumentation/AddressSanitizer/wasm.ll
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt_f32_su32.ll
A llvm/test/Instrumentation/MemorySanitizer/pdep.ll
A llvm/test/Instrumentation/MemorySanitizer/pext.ll
M llvm/test/MC/AArch64/arm64-aliases.s
M llvm/test/MC/AArch64/brbe.s
A llvm/test/MC/AMDGPU/amdgcn_target_directive_from_eflags.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
A llvm/test/MC/AMDGPU/gfx1251_asm_vop3p.s
M llvm/test/MC/AMDGPU/gfx1251_err.s
M llvm/test/MC/COFF/seh-unwindv3-error.s
M llvm/test/MC/COFF/seh-unwindv3-inheritance.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1251_dasm_vop3p.txt
M llvm/test/MC/ELF/lto-discard.s
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rv64c-invalid.s
M llvm/test/MC/RISCV/rvc-hints-invalid.s
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/WebAssembly/reloc-relative.ll
A llvm/test/MC/Xtensa/xtensa-esp32s2-valid.s
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-lto-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
A llvm/test/TableGen/intrinsic-overload-index-oor.td
M llvm/test/TableGen/intrinsic-struct.td
M llvm/test/ThinLTO/X86/dtlto/timetrace.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
M llvm/test/Transforms/Attributor/memory_locations_gpu.ll
M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
M llvm/test/Transforms/Attributor/nofpclass-minimum-maximum.ll
M llvm/test/Transforms/Attributor/nofpclass-minimumnum-maximumnum.ll
M llvm/test/Transforms/Attributor/nofpclass-minnum-maxnum.ll
M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
A llvm/test/Transforms/ConstantHoisting/AArch64/consthoist-unreachable-phi-edge.ll
M llvm/test/Transforms/ConstantHoisting/X86/pr52689-not-all-uses-rebased.ll
M llvm/test/Transforms/ConstraintElimination/geps-unsigned-predicates.ll
A llvm/test/Transforms/DFAJumpThreading/single-block-defs.ll
M llvm/test/Transforms/DropUnnecessaryAssumes/dereferenceable.ll
M llvm/test/Transforms/EarlyCSE/AMDGPU/memrealtime.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
A llvm/test/Transforms/FunctionSpecialization/interposable.ll
M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
M llvm/test/Transforms/GVN/debugloc-load-select.ll
M llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
M llvm/test/Transforms/GVN/load-through-select-dbg.ll
M llvm/test/Transforms/GVN/opaque-ptr.ll
M llvm/test/Transforms/GVN/pr69301.ll
M llvm/test/Transforms/HotColdSplit/X86/do-not-split.ll
M llvm/test/Transforms/HotColdSplit/addr-taken.ll
M llvm/test/Transforms/HotColdSplit/issue-197982.ll
R llvm/test/Transforms/HotColdSplit/mark-the-whole-func-cold.ll
M llvm/test/Transforms/HotColdSplit/minsize.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/noop-ptrint-pair.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/old-pass-regressions.ll
A llvm/test/Transforms/InferAlignment/bitcast.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fma-binops.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mla-one.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-ptrue.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-strictfp.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-negative-cases.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-wave32-optimizations.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-wave64-optimizations.ll
A llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns-wave64.ll
M llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
M llvm/test/Transforms/InstCombine/assume-align.ll
A llvm/test/Transforms/InstCombine/assume-cache-update.ll
A llvm/test/Transforms/InstCombine/assume-i128.ll
A llvm/test/Transforms/InstCombine/assume-i32.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/frexp.ll
M llvm/test/Transforms/InstCombine/icmp-mul.ll
M llvm/test/Transforms/InstCombine/modular-format.ll
M llvm/test/Transforms/InstCombine/mul.ll
A llvm/test/Transforms/InstCombine/pdep.ll
A llvm/test/Transforms/InstCombine/pext.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
M llvm/test/Transforms/InstCombine/smax-icmp.ll
M llvm/test/Transforms/InstCombine/smin-icmp.ll
M llvm/test/Transforms/InstCombine/strcmp-memcmp.ll
M llvm/test/Transforms/InstCombine/umax-icmp.ll
M llvm/test/Transforms/InstCombine/umin-icmp.ll
M llvm/test/Transforms/InstSimplify/AArch64/aarch64-sve-reductions.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/JumpThreading/guards.ll
R llvm/test/Transforms/LICM/vector-insert.ll
A llvm/test/Transforms/LoopInterchange/fixed-size-no-signed-wrap.ll
A llvm/test/Transforms/LoopInterchange/indirectbr.ll
A llvm/test/Transforms/LoopInterchange/inner-latch-lcssa-feeds-exit-condition.ll
A llvm/test/Transforms/LoopInterchange/inner-preheader-multi-entry-phi.ll
M llvm/test/Transforms/LoopInterchange/inner-preheader-single-phi.ll
M llvm/test/Transforms/LoopInterchange/lcssa-incoming-value-is-not-instr.ll
M llvm/test/Transforms/LoopLoadElim/pr46854-adress-spaces.ll
A llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/reuse-existing-phi.ll
A llvm/test/Transforms/LoopStrengthReduce/X86/use-outside-loop-crash.ll
M llvm/test/Transforms/LoopStrengthReduce/funclet.ll
M llvm/test/Transforms/LoopUnroll/AMDGPU/scev-mul-expansion-cost.ll
M llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-for-private.ll
A llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clmul.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-scalable-vectorization-always.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs-apple.ll
M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
A llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AMDGPU/packed-fp64.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/i128-trip-count-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
A llvm/test/Transforms/LoopVectorize/RISCV/stepvector-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
A llvm/test/Transforms/LoopVectorize/VPlan/simplify-reverse-reverse.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
R llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
A llvm/test/Transforms/LoopVectorize/X86/nondetermisitic-widening-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
A llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-known-true.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
R llvm/test/Transforms/LoopVectorize/vplan-print-after.ll
A llvm/test/Transforms/LoopVectorize/vplan-print-before-after.ll
M llvm/test/Transforms/LoopVectorize/vscale-cost.ll
M llvm/test/Transforms/MergeICmps/X86/no-gep-other-work.ll
M llvm/test/Transforms/MergeICmps/X86/opaque-ptr.ll
M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
M llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.ll
M llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll
M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-load-from-vector-loop.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
A llvm/test/Transforms/PhaseOrdering/unswitch-nontrivial-cold-func.ll
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f64.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2i64.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/vectorize-i8.ll
A llvm/test/Transforms/SLPVectorizer/PowerPC/insertvalue-with-copyable-args.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/rotated-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR35777.ll
M llvm/test/Transforms/SLPVectorizer/X86/insertvalue.ll
A llvm/test/Transforms/SLPVectorizer/X86/masked-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-root-deleted.ll
A llvm/test/Transforms/SLPVectorizer/X86/reduction-ordered-fadd.ll
M llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll
A llvm/test/Transforms/SROA/vector-promotion-rmw-cannot-tree-merge.ll
A llvm/test/Transforms/SROA/vector-promotion-rmw-tree-merge.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-loop-guard.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/pr23975.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-chain-to-shuffles.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/no-scalarize-vector-extract.ll
A llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp-codesize.ll
A llvm/test/Verifier/AMDGPU/reqd-work-group-size.ll
M llvm/test/Verifier/get-active-lane-mask.ll
R llvm/test/Verifier/intrinsic-bad-arg-type.ll
M llvm/test/Verifier/masked-divrem.ll
A llvm/test/Verifier/masked-load-store.ll
M llvm/test/Verifier/modular-format.ll
M llvm/test/Verifier/reduction-intrinsics.ll
A llvm/test/tools/dxil-dis/dbg-assign.ll
A llvm/test/tools/dxil-dis/dbg-value-arglist.ll
A llvm/test/tools/dxil-dis/di-commonblock.ll
M llvm/test/tools/llubi/alloca.ll
A llvm/test/tools/llubi/assume_non_pow2_align_offset.ll
M llvm/test/tools/llubi/assume_operand_bundles.ll
A llvm/test/tools/llubi/assume_pow2_align_offset.ll
M llvm/test/tools/llubi/attributes.ll
M llvm/test/tools/llubi/gep.ll
M llvm/test/tools/llubi/global_constexpr_initializer.ll
M llvm/test/tools/llubi/inttoptr.ll
A llvm/test/tools/llubi/inttoptr_freed.ll
A llvm/test/tools/llubi/inttoptr_generation.ll
A llvm/test/tools/llubi/inttoptr_generation2.ll
A llvm/test/tools/llubi/inttoptr_gep.ll
A llvm/test/tools/llubi/inttoptr_multiobj.ll
A llvm/test/tools/llubi/inttoptr_multiobj2.ll
A llvm/test/tools/llubi/inttoptr_oob.ll
A llvm/test/tools/llubi/inttoptr_oob2.ll
M llvm/test/tools/llubi/lib_abort.ll
M llvm/test/tools/llubi/lib_exit.ll
M llvm/test/tools/llubi/lib_io.ll
M llvm/test/tools/llubi/lib_printf_format.ll
M llvm/test/tools/llubi/lib_terminate.ll
M llvm/test/tools/llubi/loadstore_be.ll
M llvm/test/tools/llubi/loadstore_le.ll
M llvm/test/tools/llubi/metadata.ll
A llvm/test/tools/llubi/ptrtoaddr.ll
A llvm/test/tools/llubi/ptrtoaddr_after_ptrtoint.ll
A llvm/test/tools/llubi/ptrtoaddr_no_expose.ll
A llvm/test/tools/llubi/unsupported_constant.ll
A llvm/test/tools/llvm-diff/callsite-assumption-passing.ll
A llvm/test/tools/llvm-exegesis/X86/analysis-unknown-opcode-did-you-mean.test
M llvm/test/tools/llvm-mca/X86/Barcelona/resources-sse1.s
M llvm/test/tools/llvm-mca/X86/Generic/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/Generic/resources-sse1.s
M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
A llvm/test/tools/llvm-ml/beginepilog_error.asm
M llvm/test/tools/llvm-ml/builtin_symbols.asm
A llvm/test/tools/llvm-ml/epilog_directive_errors.asm
A llvm/test/tools/llvm-ml/epilog_directives.asm
A llvm/test/tools/llvm-ml/proc_frame_v3.asm
A llvm/test/tools/llvm-ml/prolog_directive_errors.asm
A llvm/test/tools/llvm-ml/unwindv3_required_errors.asm
M llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-multi-epilog.yaml
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx1250.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx950.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-raw.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/source-lines.ll
M llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll
M llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-multi-epilog.yaml
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib-compute.yaml
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-multi-source-zlib.yaml
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib-compute.yaml
M llvm/test/tools/obj2yaml/DXContainer/SRCIPart-zlib.yaml
M llvm/test/tools/yaml2obj/ELF/bb-addr-map.yaml
M llvm/tools/llc/NewPMDriver.cpp
M llvm/tools/lli/CMakeLists.txt
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/ExecutorBase.cpp
M llvm/tools/llubi/lib/ExecutorBase.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Library.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llvm-config/llvm-config.cpp
M llvm/tools/llvm-diff/lib/DifferenceEngine.cpp
M llvm/tools/llvm-exegesis/lib/Analysis.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
M llvm/tools/llvm-exegesis/lib/RegisterAliasing.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
M llvm/tools/llvm-ml/Opts.td
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-objdump/COFFDump.cpp
M llvm/tools/llvm-objdump/SourcePrinter.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-offload-wrapper/llvm-offload-wrapper.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-profgen/MissingFrameInferrer.cpp
M llvm/tools/llvm-profgen/MissingFrameInferrer.h
M llvm/tools/llvm-profgen/PerfReader.cpp
M llvm/tools/llvm-profgen/PerfReader.h
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.h
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.h
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Win64EHDumper.cpp
M llvm/tools/llvm-remarkutil/RemarkUtilRegistry.cpp
M llvm/tools/llvm-shlib/gen-msvc-exports.py
M llvm/tools/llvm-xray/func-id-helper.h
M llvm/tools/llvm-xray/xray-registry.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/unittests/ADT/APFloatTest.cpp
M llvm/unittests/ADT/BitsetTest.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/BinaryFormat/TestFileMagic.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
M llvm/unittests/ProfileData/SampleProfTest.cpp
A llvm/unittests/Support/CHERICapabilityFormatTest.cpp
M llvm/unittests/Support/CMakeLists.txt
M llvm/unittests/Support/GlobPatternTest.cpp
M llvm/unittests/Support/SpecialCaseListTest.cpp
M llvm/unittests/Target/AArch64/AArch64CacheLineSizeTest.cpp
M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/IPO/AttributorTestBase.h
M llvm/unittests/Transforms/IPO/MergeFunctionsTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
M llvm/utils/PerfectShuffle/PerfectShuffle.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Driver/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/ObjectFile/Mach-O/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Windows/Common/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MC/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/formats/shtest.py
M llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/lit.cfg
A llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/name-collision/a/test.py
A llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/name-collision/b/test.py
M llvm/utils/lit/tests/Inputs/per-test-coverage-by-lit-cfg/per-test-coverage-by-lit-cfg.py
M llvm/utils/lit/tests/Inputs/per-test-coverage/lit.cfg
M llvm/utils/lit/tests/Inputs/per-test-coverage/per-test-coverage.py
M llvm/utils/lit/tests/Inputs/shtest-external-shell-kill/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-format/external_shell/lit.local.cfg
M llvm/utils/lit/tests/Inputs/shtest-readfile/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-run-at-line/external-shell/lit.local.cfg
M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
M llvm/utils/lit/tests/per-test-coverage-by-lit-cfg.py
M llvm/utils/lit/tests/per-test-coverage.py
M llvm/utils/lit/tests/substitutions.py
A mlir/docs/Tutorials/ExternalTutorials.md
M mlir/include/mlir-c/Dialect/Linalg.h
A mlir/include/mlir/Conversion/EmitCCommon/TypeConverter.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLEnums.td
M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Quant/IR/Quant.h
M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
M mlir/include/mlir/Dialect/Quant/IR/QuantDialectBytecode.td
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/include/mlir/Target/Wasm/WasmBinaryEncoding.h
M mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Analysis/SliceWalk.cpp
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
M mlir/lib/CAPI/Dialect/Shard.cpp
M mlir/lib/CAPI/Dialect/UB.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitCPass.cpp
M mlir/lib/Conversion/ArithToEmitC/CMakeLists.txt
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
A mlir/lib/Conversion/EmitCCommon/CMakeLists.txt
A mlir/lib/Conversion/EmitCCommon/TypeConverter.cpp
M mlir/lib/Conversion/FuncToEmitC/CMakeLists.txt
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
M mlir/lib/Conversion/MemRefToEmitC/CMakeLists.txt
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaCustom.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/Transforms/ExtractAddressComputations.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCRecipeMaterialization.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOpUtils.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Transforms/ScalarizeFunctionResult.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaConvertIntegerTypeToSignless.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/lib/Target/Wasm/TranslateFromWasm.cpp
M mlir/lib/Transforms/Utils/CSE.cpp
M mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Conversion/IndexToSPIRV/index-to-spirv.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode-invalid.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode.mlir
A mlir/test/Conversion/XeGPUToXeVM/extf_truncf.mlir
M mlir/test/Conversion/XeGPUToXeVM/loadstore_matrix.mlir
M mlir/test/Conversion/XeVMToLLVM/xevm_mx-to-llvm.mlir
M mlir/test/Dialect/Affine/canonicalize.mlir
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
A mlir/test/Dialect/EmitC/canonicalize.mlir
M mlir/test/Dialect/EmitC/form-expressions.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/member_call_opaque.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Dialect/GPU/module-to-binary-rocdl.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/types-invalid.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Dialect/LLVMIR/xevm.mlir
M mlir/test/Dialect/MemRef/extract-address-computations.mlir
M mlir/test/Dialect/OpenACC/acc-recipe-materialization-firstprivate.mlir
M mlir/test/Dialect/OpenACC/acc-recipe-materialization-private.mlir
M mlir/test/Dialect/OpenACC/acc-recipe-materialization-reduction.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/Quant/Bytecode/types.mlir
M mlir/test/Dialect/SCF/invalid.mlir
M mlir/test/Dialect/SCF/parallel-loop-fusion.mlir
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
A mlir/test/Dialect/SparseTensor/sparse_loop_ordering.mlir
M mlir/test/Dialect/SparseTensor/sparse_pack.mlir
A mlir/test/Dialect/Tensor/scalarize-single-elem-return.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-pro-fp-valid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/Vector/vector-contract-to-parallel-arith-transforms.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
A mlir/test/IR/test-func-erase-arg-error.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_raw.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip_bf16.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip_fp4.mlir
A mlir/test/Integration/Dialect/XeVM/GPU/xevm_truncf_extf_roundtrip_fp4_bf16.mlir
M mlir/test/Target/Cpp/call.mlir
M mlir/test/Target/Cpp/common-cpp.mlir
M mlir/test/Target/Cpp/expressions.mlir
M mlir/test/Target/Cpp/func.mlir
M mlir/test/Target/Cpp/global.mlir
M mlir/test/Target/Cpp/lvalue.mlir
M mlir/test/Target/Cpp/member.mlir
M mlir/test/Target/LLVMIR/Import/basic.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/nvvm/barrier.mlir
M mlir/test/Target/LLVMIR/nvvm/tensormap_replace_invalid.mlir
A mlir/test/Target/LLVMIR/rocdl-invalid.mlir
A mlir/test/Target/LLVMIR/rocdl-module-flags.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
A mlir/test/Target/Wasm/inputs/nearest.yaml.wasm
A mlir/test/Target/Wasm/inputs/trunc_si.yaml.wasm
A mlir/test/Target/Wasm/inputs/trunc_ui.yaml.wasm
A mlir/test/Target/Wasm/nearest.mlir
A mlir/test/Target/Wasm/trunc_si.mlir
A mlir/test/Target/Wasm/trunc_ui.mlir
M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Vector/CMakeLists.txt
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/test/lib/IR/TestFunc.cpp
M mlir/test/mlir-tblgen/gen-dialect-doc.td
A mlir/test/python/context_shutdown.py
M mlir/test/python/dialects/linalg/utils.py
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/unittests/Dialect/Linalg/InferConvolutionDimsTest.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCTypeInterfacesTest.cpp
M mlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp
M offload/CMakeLists.txt
M offload/include/omptarget.h
M offload/liboffload/CMakeLists.txt
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/ErrorReporting.h
M offload/plugins-nextgen/common/include/GlobalHandler.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/RecordReplay.cpp
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Options.h
M offload/test/lit.cfg
A offload/test/offloading/fortran/target-firstprivate.f90
M offload/tools/CMakeLists.txt
M openmp/runtime/cmake/LibompExports.cmake
M openmp/runtime/src/CMakeLists.txt
A openmp/runtime/src/kmp_adt.cpp
A openmp/runtime/src/kmp_adt.h
M openmp/runtime/src/kmp_str.cpp
M openmp/runtime/src/kmp_str.h
A openmp/runtime/unittests/ADT/CMakeLists.txt
A openmp/runtime/unittests/ADT/TestStringRef.cpp
M openmp/runtime/unittests/CMakeLists.txt
M openmp/runtime/unittests/String/TestKmpStr.cpp
M orc-rt/include/CMakeLists.txt
A orc-rt/include/orc-rt-c/Compiler.h
M orc-rt/include/orc-rt-c/CoreTypes.h
M orc-rt/include/orc-rt-c/Error.h
R orc-rt/include/orc-rt-c/ExternC.h
R orc-rt/include/orc-rt-c/Visibility.h
M orc-rt/include/orc-rt-c/WrapperFunction.h
M orc-rt/lib/executor/Error.cpp
M polly/test/Support/pipelineposition.ll
M runtimes/cmake/config-Fortran.cmake
M utils/bazel/.bazelrc
M utils/bazel/configure.bzl
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/OpenACC/Support/BUILD.bazel
M utils/bazel/llvm-project-overlay/flang/tools/flang-driver/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/utils/lit/tests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/ziqingluo/ssaf-extractor-improve
Compare: https://github.com/llvm/llvm-project/compare/117b2259e7da...ecd4af4fbfb7
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