LLVM/project f8f4816llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp, llvm/test/MC/COFF ir-to-imgrel.ll ir-to-imgrel-reject.ll

[TargetLowering][COFF] Allow GlobalAlias in lowerRelativeReference (#220674)

In commit 2b321e2f293a (#203171), splitAndWriteThinLTOBitcode was
updated to create a GlobalAlias with external linkage for promoted
internal globals instead of renaming them directly.

When generating COFF object files on Windows (such as MSVC RTTI
CompleteObjectLocator structures), relative references against
@__ImageBase (e.g. sub (ptrtoint @alias to i64), (ptrtoint @__ImageBase
to i64))
are lowered to IMAGE_REL_AMD64_ADDR32NB (VK_COFF_IMGREL32) relocations
in TargetLoweringObjectFileCOFF::lowerRelativeReference.

Previously, lowerRelativeReference checked `!isa<GlobalObject>(LHS)`,
which rejected GlobalAlias instances. As a result,
lowerRelativeReference returned nullptr, and AsmPrinter fell back to
emitting a raw MC subtraction expression. This caused
WinCOFFObjectWriter
to fail with:

    [9 lines not shown]
DeltaFile
+45-0llvm/test/MC/COFF/ir-to-imgrel-reject.ll
+33-4llvm/test/MC/COFF/ir-to-imgrel.ll
+11-6llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+89-103 files

LLVM/project 38fbfd2llvm/include/llvm/SandboxIR Pass.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes SeedCollection.h

[SanbdoxIR][SandboxVec] AuxPassArgs for auxiliary pass arguments (#224450)

This patch implements helper classes for handling the pass auxiliary
arguments. These classes handle the parsing of the auxiliary argument
string such that the passes themselves won't have to deal with it.

We currently only support boolean arguments that are false by default.
If an argument shows up in the string then it is set to true.

Example:
```
AuxPassArgsRegistry ArgsRegistry; // The "parent" of the arguments
AuxPassArg Arg1 = ArgsRegistry.createArg("arg1");
AuxPassArg Arg2 = ArgsRegistry.createArg("arg2");
...
ArgsRegistry.parse("arg1"); // From this point on (bool)Arg1 evaluates to true.

```


    [5 lines not shown]
DeltaFile
+73-0llvm/lib/SandboxIR/Pass.cpp
+54-0llvm/include/llvm/SandboxIR/Pass.h
+38-0llvm/unittests/SandboxIR/PassTest.cpp
+4-11llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
+4-3llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
+2-2llvm/test/Transforms/SandboxVectorizer/EndToEnd/seed_bundle_cross_erasure.ll
+175-163 files not shown
+178-199 files

LLVM/project 33b43ebllvm/docs TransformMetadata.md Security.md, llvm/docs/TableGen ProgRef.md

[LLVM][docs] Fix MyST migration review findings
DeltaFile
+29-29llvm/docs/SecurityTransparencyReports.md
+14-12llvm/docs/TableGen/ProgRef.md
+3-3llvm/docs/XRay.md
+3-3llvm/docs/StackMaps.md
+1-1llvm/docs/TransformMetadata.md
+1-1llvm/docs/Security.md
+51-496 files

LLVM/project ddce820llvm/tools/llvm-jitlink ConnectionUtils.h llvm-jitlink.cpp, llvm/tools/llvm-jitlink/llvm-jitlink-executor llvm-jitlink-executor.cpp

[llvm-jitlink] Rework out-of-process launch/connect options (#224632)

Replace -oop-executor and -oop-executor-connect, which were mutually
exclusive and each parsed their own ad hoc connection syntax, with two
orthogonal options built on the shared ConnectionSpec parser:

  -oop-launch [<path>]  Launch an out-of-process executor (default:
                        llvm-jitlink-executor).

  -oop-connect <spec>   How to connect to the executor, whether or not
                        it was launched by llvm-jitlink.

Either may be used alone (matching the old -oop-executor and
-oop-executor-connect behavior) or combined, e.g. to have llvm-jitlink
bind and listen while the executor it launches dials back in:

  llvm-jitlink -oop-launch -oop-connect=tcp:listen=127.0.0.1:0 a.o

Both llvm-jitlink and llvm-jitlink-executor now parse connection

    [15 lines not shown]
DeltaFile
+234-147llvm/tools/llvm-jitlink/llvm-jitlink.cpp
+115-102llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
+198-0llvm/tools/llvm-jitlink/ConnectionUtils.h
+547-2493 files

LLVM/project 03b58eallvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 tail-call-stack-args.ll sme-za-tailcall-fpdiff-align.ll

[llvm][AArch64] Fix FPDiff founding direction in non-sibcall tail calls (#223545)

This fixes another subtle bug in frame accounting (see: #217156 /
#220406), for tail calls that have a non-multiple of 16 bytes worth of
stack arg area, and need that stack arg re-use to be increased to cover
the alignment requirement. This is best illustrated with callers
containing 8 formal arguments covering the first 8 GPRs (x0-x7),
followed by 9 bytes of argument passed on the stack.

In a callee-pops tail call (e.g. tailcc/swifttailcc), the set of
reusable stack arg area bytes has already been sufficiently aligned by
LowerFormalArguments, so growing NumBytes up to StackAlign is enough to
consume that excess. Otherwise (e.g. a plain C-convention call, forced
off the sibcall path, as in the aarch64_inout_za tests), we can't rely
on either having been pre-aligned, so we round NumBytes up to the same
residue mod StackAlign as NumReusableBytes, which cancels the residue
out of their difference (FPDiff), thus keeping the stack aligned going
into the callee.


    [11 lines not shown]
DeltaFile
+108-0llvm/test/CodeGen/AArch64/swifttail-fpdiff-align.ll
+21-16llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+35-0llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
+21-0llvm/test/CodeGen/AArch64/tail-call-stack-args.ll
+185-164 files

LLVM/project 2dbfa63lldb/source/Expression IRExecutionUnit.cpp

[lldb] Get IRExecutionUnit mangling-mode from llvm::Module. (#224595)

Get the mangling mode (IRExecutionUnit::m_strip_underscore) from the
llvm::Module at IRExecutionUnit construction time, rather than getting
it from the llvm::ExecutionEngine in GetRunnableInfo.

This is a step towards decoupling IRExecutionUnit from
llvm::ExecutionEngine / MCJIT.
DeltaFile
+3-3lldb/source/Expression/IRExecutionUnit.cpp
+3-31 files

LLVM/project eab565allvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 arm64ec-varargs.ll sme-za-tailcall-fpdiff-align.ll

Reland "[llvm][AArch64] Ensure stack alignment in non-sibcall tail calls with FPDiff" (#220406)

When a caller has a non-multiple of the minimum stack alignment more
argument stack space than the callee it is tail calling, we need to ensure that
the resulting FPDiff's magnitude has been rounded up to a multiple of the
platform's minimum stack alignment.

In this re-land there is a fixup to 234ce03692ede13ffd2fcb35570d801c1e332814,
which, because of the wrong order, wasn't actually moving NumBytes after
FPDiff had been re-aligned.

rdar://184474075
(cherry picked from commit 393710bbf74c4e7b92226603a18ead0bba70a8a0)
DeltaFile
+79-0llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
+31-0llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
+10-4llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+120-43 files

LLVM/project bb3517eutils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Fixes 3e93e93 (#224771)

This fixes 3e93e9368f9167e5129f369194db08edcdf167d6 (#224692).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=3e93e9368f9167e5129f369194db08edcdf167d6

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+1-01 files

LLVM/project 267a9fbclang/lib/Lex ModuleMap.cpp, clang/test/Modules pr215931.m

[clang][modulemap] Fix crashes loading pcms (#218011)

Previously in the case that the directory was missing, loading a pcm
would crash. Now it attempts to load absolute paths first, and
gracefully ignores missing directories.

Follow up to https://github.com/llvm/llvm-project/pull/181916

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

Assisted By: codex

(cherry picked from commit cd1abefa98daa37334eb4f8e48f1956fde859b1a)
DeltaFile
+38-0clang/test/Modules/pr215931.m
+12-10clang/lib/Lex/ModuleMap.cpp
+50-102 files

LLVM/project 36e7268lldb/source/Target TargetProperties.td

[lldb] Disable delayed-breakpoints by default for lldb 23

https://github.com/llvm/llvm-project/pull/192971 added a delayed
breakpoints feature, which delays sending the breakpoint management
packets until we actually continue the process. The feature itself
is working, but it has made it easier to hit a bunch of pre-existing
issues handling reads and writes around breakpoints.

https://github.com/llvm/llvm-project/issues/217359,
https://github.com/llvm/llvm-project/issues/217840,
https://github.com/llvm/llvm-project/issues/217359,
https://github.com/llvm/llvm-project/issues/205120 and
https://github.com/llvm/llvm-project/issues/202672
(reported by a downstream project as https://github.com/llvm/llvm-project/issues/216000)

These are all now fixed on the main branch, but it would
be a large backport to bring them over. Whereas this change
is a single line.


    [6 lines not shown]
DeltaFile
+1-1lldb/source/Target/TargetProperties.td
+1-11 files

LLVM/project 761d966clang/lib/CIR/Dialect/IR CIRDialect.cpp, clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

[CIR] Harden static-local lowering against malformed .cir (#224744)

Enforce that a `static_local_guard` is always paired with a
`static_local_info` attribute via a GlobalOp verifier.
DeltaFile
+24-0clang/test/CIR/IR/invalid-static-local-info.cir
+9-1clang/test/CIR/IR/static-local.cir
+8-1clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+8-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+2-2clang/test/CIR/IR/static-local-info.cir
+3-0clang/test/CIR/IR/invalid-static-local.cir
+54-41 files not shown
+55-47 files

LLVM/project 664808clibcxx/include/__configuration compiler.h

[libc++] Reword confusing warning message about AppleClang version (#222380)

AppleClang 26.4 is not a thing -- it's AppleClang 21.0 that shipped with
Xcode 26.4.

(cherry picked from commit 9e39a5e4a606e2ef8e46bd4a947f0b39feacecc7)
DeltaFile
+1-1libcxx/include/__configuration/compiler.h
+1-11 files

LLVM/project 265c5b6compiler-rt/lib/scudo/standalone/tests secondary_test.cpp

[scudo] Fix AllocatorCacheMaxResidentBytesDisabled test (#224698)

The test made an implicit assumption about how the maps were created. On
a device where the page size is much greater than 4096, the test fails
because of the hard-coded limits. Make the limits and values depend on
page size to avoid this problem.
DeltaFile
+7-4compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
+7-41 files

LLVM/project 9dd5251flang/lib/Semantics check-omp-variant.cpp, flang/test/Semantics/OpenMP metadirective-construct-paths.f90

Count all enclosing leaves in reachable paths

Reachability must use the same construct positions and depth as lowering
when ranking metadirective replacements. Count source constructs without
selector traits, including leaves of combined directives, while keeping
NOTHING transparent.

Add regressions for actual and dynamically selected TASK regions and
DISTRIBUTE within TEAMS DISTRIBUTE PARALLEL DO.
DeltaFile
+53-0flang/test/Semantics/OpenMP/metadirective-construct-paths.f90
+17-4flang/lib/Semantics/check-omp-variant.cpp
+70-42 files

LLVM/project c951cdaflang/lib/Semantics openmp-utils.cpp, flang/test/Semantics/OpenMP metadirective-common.f90

Reject negative trait scores during metadirective recovery

Reachability analysis can rank candidates before CheckTraitScore diagnoses
invalid scores. A score of -1 wraps the initial unsigned score to zero,
causing selection to dereference a null best candidate.

Treat negative scores as absent during recovery while preserving the
existing diagnostic.
DeltaFile
+27-0flang/test/Semantics/OpenMP/metadirective-common.f90
+4-1flang/lib/Semantics/openmp-utils.cpp
+31-12 files

LLVM/project 609668cflang/lib/Semantics check-omp-variant.cpp, flang/test/Semantics/OpenMP metadirective-construct-paths.f90

Preserve OpenMP variant ranking and reachability

Incorrect scores and premature candidate rejection can change lowering
selection or suppress required metadirective loop diagnostics.

Preserve full score values and context-dependent device weights, retain
paths distinguished by those weights, and let runtime conditions satisfy
match_any despite unknown static properties.
DeltaFile
+68-0flang/test/Semantics/OpenMP/metadirective-construct-paths.f90
+1-8flang/lib/Semantics/check-omp-variant.cpp
+69-82 files

LLVM/project 82ae8f8flang/lib/Semantics check-omp-structure.h check-omp-variant.cpp, flang/test/Semantics/OpenMP metadirective-loop-applicability.f90

Remove redundant handling, improve style, and add documentation
DeltaFile
+13-21flang/lib/Semantics/check-omp-variant.cpp
+8-4flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+6-4flang/lib/Semantics/check-omp-structure.h
+27-293 files

LLVM/project e00df19flang/lib/Semantics check-omp-variant.cpp, flang/test/Semantics/OpenMP metadirective-ordered-paths.f90 metadirective-loop-applicability.f90

Fix extension matching and reachable path merging

Metadirective semantic checking relies on ranked selection to decide which
replacements need validation. With match_any and match_none, a selector can
remain applicable even when some construct traits are absent. The existing
matching and path-merging assumptions do not fully account for this, so
ranking can crash or discard a reachable replacement, allowing invalid loop
nests to pass unchecked.

Make applicability, scoring, and reachable-path merging agree on what these
matching extensions can observe. Preserve enough construct context to rank
partially matching selectors and distinguish paths whose nesting changes
the selected replacement. That context must also remain visible inside a
BLOCK associated with a selected directive, so nested metadirectives are
checked against the context in which they can execute.
DeltaFile
+53-34flang/lib/Semantics/check-omp-variant.cpp
+71-0flang/test/Semantics/OpenMP/metadirective-match-any-paths.f90
+68-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+45-0flang/test/Semantics/OpenMP/metadirective-ordered-paths.f90
+237-344 files

LLVM/project 35d4cc4flang/lib/Semantics check-omp-structure.h check-omp-variant.cpp, flang/test/Semantics/OpenMP metadirective-loop-applicability-openmp-60.f90 metadirective-loop-applicability.f90

Fix metadirective reachable path boundaries

Stop construct trait paths at the innermost target and retain the implicit
nothing fallback during unsupported-selector recovery.

Add coverage for actual and selected target boundaries and for nested
metadirectives reached through implicit fallback.
DeltaFile
+23-13flang/lib/Semantics/check-omp-variant.cpp
+32-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+16-0flang/test/Semantics/OpenMP/metadirective-loop-applicability-openmp-60.f90
+2-0flang/lib/Semantics/check-omp-structure.h
+73-134 files

LLVM/project 7b27b05flang/lib/Semantics openmp-utils.cpp, flang/test/Semantics/OpenMP metadirective-loop-applicability-apply.f90 metadirective-ordered-paths.f90

Preserve metadirective selection semantics

Reachability checks can miss required loop diagnostics when selection
drops SIMD traits or treats NOTHING with APPLY as a no-op.

Preserve those distinctions in the shared selection plan so semantic
checks retain reachable transformations and lowering diagnoses
unsupported cases.
DeltaFile
+185-0flang/test/Semantics/OpenMP/metadirective-construct-paths.f90
+106-5flang/test/Semantics/OpenMP/metadirective-loop-applicability-openmp-60.f90
+0-71flang/test/Semantics/OpenMP/metadirective-match-any-paths.f90
+28-21flang/lib/Semantics/openmp-utils.cpp
+0-45flang/test/Semantics/OpenMP/metadirective-ordered-paths.f90
+0-23flang/test/Semantics/OpenMP/metadirective-loop-applicability-apply.f90
+319-1656 files not shown
+366-17412 files

LLVM/project 57a328aflang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics openmp-utils.cpp check-omp-variant.cpp

Respect target boundaries during OpenMP variant lowering

Stop collecting construct traits at the innermost TARGET so lowering
agrees with semantic analysis when selecting metadirective replacements
and DECLARE VARIANT callees.
DeltaFile
+5-6flang/lib/Semantics/check-omp-variant.cpp
+2-6flang/lib/Semantics/openmp-utils.cpp
+4-4flang/test/Semantics/OpenMP/metadirective-construct-paths.f90
+4-3flang/test/Lower/OpenMP/metadirective-target-boundary.f90
+1-2flang/test/Lower/OpenMP/metadirective-construct.f90
+2-1flang/include/flang/Semantics/openmp-utils.h
+18-226 files

LLVM/project 22a9b0cflang/lib/Semantics check-omp-structure.h check-omp-structure.cpp, flang/test/Semantics/OpenMP metadirective-construct-paths.f90

Preserve reachable metadirective variants across ranking and scopes

Incorrect candidate scores and stale scope boundaries can suppress required
loop diagnostics or let directives associate with loops outside their region.

Keep pending scopes consistent as directives are consumed, and preserve
candidate scores and highest-valued ordered matches when selecting and
merging reachable paths. Handle unknown properties without aborting ranking.
DeltaFile
+146-0flang/test/Semantics/OpenMP/metadirective-construct-paths.f90
+20-2flang/lib/Semantics/check-omp-variant.cpp
+10-0flang/lib/Semantics/check-omp-structure.cpp
+1-0flang/lib/Semantics/check-omp-structure.h
+177-24 files

LLVM/project 6dab091flang/lib/Semantics check-omp-structure.h check-omp-structure.cpp, flang/test/Semantics/OpenMP metadirective-loop-applicability-openmp-60.f90 metadirective-loop-applicability-apply.f90

[flang][OpenMP] Track reachable metadirective replacement paths

The existing semantic checks can validate loop-associated directives in a
METADIRECTIVE against the following loop, but they do not model how the
METADIRECTIVE chooses among its replacements.

Today each WHEN is considered independently: if its selector can match, its
replacement is checked. Selection instead ranks all applicable candidates as
a set. An unguarded higher-ranked candidate makes lower-ranked candidates
unreachable, while a dynamically guarded candidate leaves them reachable
when its condition is false. Treating both cases alike can diagnose loop
requirements on a replacement that can never be selected.

The selected replacement can also affect later selection. Its directive
contributes to the construct context seen by a nested metadirective. The
checker currently retains only syntactic nesting, so nested construct
selectors cannot observe a directive selected by an enclosing
metadirective.


    [44 lines not shown]
DeltaFile
+347-94flang/lib/Semantics/check-omp-variant.cpp
+186-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+56-25flang/lib/Semantics/check-omp-structure.cpp
+37-13flang/lib/Semantics/check-omp-structure.h
+23-0flang/test/Semantics/OpenMP/metadirective-loop-applicability-apply.f90
+13-0flang/test/Semantics/OpenMP/metadirective-loop-applicability-openmp-60.f90
+662-1322 files not shown
+667-1338 files

LLVM/project fa98c50clang/test/CIR/Analysis alias-analysis-underlying-object.cir, llvm/test/CodeGen/AMDGPU mad-mix-fptrunc-rounding.ll

Rebase, address comments

Created using spr 1.3.7
DeltaFile
+11,197-135llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
+1,847-1,277llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
+840-0llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding.ll
+384-384llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
+270-270llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
+271-78clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
+14,809-2,144246 files not shown
+20,330-5,759252 files

LLVM/project 3e93e93clang/lib/CIR/FrontendAction CMakeLists.txt CIRGenAction.cpp, clang/test/CIR/CodeGenSYCL offload-include-binary.cpp

[CIR][SYCL] Embed and register offloaded device binary on host path (#224692)
DeltaFile
+57-0clang/test/CIR/CodeGenSYCL/offload-include-binary.cpp
+29-0clang/lib/CIR/FrontendAction/CIRGenAction.cpp
+1-0clang/lib/CIR/FrontendAction/CMakeLists.txt
+87-03 files

LLVM/project d5574d6llvm/lib/Target/SPIRV SPIRV.h SPIRVLegalizeImplicitBinding.cpp, llvm/test/CodeGen/SPIRV llc-pipeline.ll

[SPIRV] Rename pass to SPIRVLegalizeResourceBinding (#224747)

Rename `SPIRVLegalizeImplicitBinding` pass to
`SPIRVLegalizeResourceBinding` since it will soon be extended to handle
heap resource bindings as well. Renaming is as a separate PR will make
the upcoming change easier to review.

Related to #208054
DeltaFile
+0-276llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
+276-0llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
+0-20llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeImplicitBinding.ll
+20-0llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeResourceBinding-Implicit.ll
+4-4llvm/lib/Target/SPIRV/SPIRV.h
+2-2llvm/test/CodeGen/SPIRV/llc-pipeline.ll
+302-3024 files not shown
+307-30710 files

LLVM/project 3dc4cbellvm/test/Transforms/SLPVectorizer/X86 loop-accumulator-reduction.ll

[SLP][NFC]Add a test with three-exit blocks, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/224768
DeltaFile
+73-0llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
+73-01 files

LLVM/project 400cdf6mlir/lib/Conversion/VectorToXeGPU VectorToXeGPU.cpp, mlir/test/Conversion/VectorToXeGPU transfer-write-to-xegpu.mlir transfer-read-to-xegpu.mlir

[mlir][VectorToXeGPU] Lower out-of-bounds 1-D transfers (#220490)

A vector.transfer_read / vector.transfer_write whose vector is 1-D and
whose access is out of bounds was not lowered.

This PR now builds a real in-bounds mask instead of handing
xegpu.load/xegpu.store an all-ones one. An element is in bounds when its
index is still inside the memref dimension it reads, i.e. i < dim(d) -
indices[d], and dimensions the transfer already declares in-bounds are
left alone. Since masked-off lanes of an xegpu.load hold unspecified
values rather than zeros, a read adds an arith.select to fill them with
the transfer's padding.

It also lowers a transfer_read of a single-element vector (any rank) to
a scalar xegpu.load, when that vector is only ever extracted to a
scalar. The load takes a scalar offset and a scalar mask, and the mask
is what keeps an out-of-bounds transfer from touching memory; because a
masked-off load is unspecified, the padding is applied with an
arith.select, as the scattered path already does. This avoids

    [6 lines not shown]
DeltaFile
+196-32mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
+150-7mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
+37-4mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
+383-433 files

LLVM/project 0c2f772llvm/lib/Transforms/IPO LowerTypeTests.cpp, llvm/test/Transforms/ThinLTOBitcodeWriter cfi-functions-hotness.ll

[LowerTypeTests] Add -reorder-cfi-jump-tables-profiles kill switch (#224752)

Add `-reorder-cfi-jump-tables-profiles` (default: true) to allow
disabling CFI jump table hotness metadata generation and profiling
queries introduced in 50c563998bac.

When set to false, `createCfiFunctionsMetadata` avoids querying
`ProfileSummaryInfo` and `BlockFrequencyInfo`, leaving hotness bits in
`cfi.functions` metadata as 0 (unknown).

Assisted-by: Gemini
DeltaFile
+23-1llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll
+11-2llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+34-32 files

LLVM/project 4c31f64clang/include/clang/CIR/Dialect/Analysis CIRAliasAnalysis.h CIRBasicAliasAnalysis.h, clang/lib/CIR/Dialect/Analysis CIRAliasAnalysis.cpp CIRBasicAliasAnalysis.cpp

[CIR]  Add object offset calculation for basic AA (#219047)

This adds code to compute the offset of a pointer into a base object
when the base object is computed by CIR's basic alias analysis. The
offset will be used in a future change to determine partial alias, but
at this point the analysis still reports MayAlias for objects with
different offsets.

Assisted-by: Cursor / various models
DeltaFile
+271-78clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
+211-120clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
+10-23clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
+6-3clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
+3-2clang/lib/CIR/Dialect/Analysis/CIRAliasAnalysis.cpp
+2-2clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.cpp
+503-2286 files