LLVM/project 61c6997llvm/lib/Target/Hexagon HexagonISelLoweringHVX.cpp, llvm/lib/Target/X86 X86ISelLowering.cpp

[X86][Hexagon] Remove the INSERT_VECTOR_ELT soft promotion workarounds (#223628)

SoftPromoteHalfOperand now handles INSERT_VECTOR_ELT, so neither target
needs to intercept the node on the scalar type to keep the type
legalizer from failing with "Do not know how to soft promote this
operator's operand!".

X86 did exactly what the generic code does: bitcast the vector to its
integer counterpart, insert an i16 and bitcast the result back. Hexagon
built the same vXi16 insert, and that one is still custom lowered
through the regular HVX path.

Both target hooks become unreachable once the operation actions are
gone, because the element operand is promoted to i16 before LegalizeDAG
runs, so drop them as well.

No codegen change: X86/bfloat.ll,
X86/vector-shuffle-combining-avx512bf16.ll and the autohvx tests that
insert into half or bfloat vectors (hfinsert.ll,

    [13 lines not shown]
DeltaFile
+159-0llvm/test/CodeGen/Hexagon/autohvx/bf16insert.ll
+2-13llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
+2-11llvm/lib/Target/X86/X86ISelLowering.cpp
+163-243 files

LLVM/project 7ed0d7dclang/docs ReleaseNotes.md, clang/lib/Sema SemaOverload.cpp

[clang][Sema] Fix tautological type check in sameFunctionParameterTypeLists (#224500)

hasSameType had duplicate parameters, which meant we weren't actually
checking if the function signatures are equal, so in the case they
aren't we could incorrectly accept ambiguous overload resolutions.

Fixes https://github.com/llvm/llvm-project/issues/224499
DeltaFile
+16-0clang/test/CXX/over/over.match/over.match.best/p2.cpp
+3-0clang/docs/ReleaseNotes.md
+1-1clang/lib/Sema/SemaOverload.cpp
+20-13 files

LLVM/project b19ba65llvm/lib/Transforms/Scalar TailRecursionElimination.cpp, llvm/test/Transforms/TailCallElim shl-accumulator-opt.ll

[TailRecElim] Handle discarded-call return conflicts with a shift accumulator (#221694)

Fixes a follow-up miscompile from #181331, reported by nikic in
https://github.com/llvm/llvm-project/pull/181331#issuecomment-5509668449,
similar but unrelated to #214503.

`findBaseCaseRetConstant` only scanned live `ret` instructions to check
that a shift accumulator's base case is consistent everywhere. A sibling
call site that discards its own recursive call and returns a fixed
constant is eliminated earlier, so its `ret` is already gone by the time
the scan runs. The scan missed it and `cleanupAndFinalize` would
silently replace that constant with the accumulator value.

With this PR we also check the false-value of already-inserted selects
for consistency, bailing out the accumulator transform on conflict.

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
DeltaFile
+111-92llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
+59-0llvm/test/Transforms/TailCallElim/shl-accumulator-opt.ll
+170-922 files

LLVM/project 70ba7b6llvm/lib/Transforms/Vectorize VPlanUtils.h

[VPlan] Implement VPBlockUtils::blocksOnly using make_isa_range (NFC) (#224596)

Use make_isa_range to simplify blocksOnly implementation.
DeltaFile
+1-12llvm/lib/Transforms/Vectorize/VPlanUtils.h
+1-121 files

LLVM/project 032bea5libsycl/unittests/usm alloc.cpp, offload/liboffload/src OffloadImpl.cpp

[offload] add context to olMemAlloc* (#222677)

This is the last part of the context refactor. This patch:
- Adds context param to all memory allocation functions.
- Routes ptr info through the plugins instead of a global map.
- Removes allocation tracking from liboffload.
- olGetMemInfo(OL_MEM_INFO_DEVICE) now returns INVALID_ARGUMENT for host
allocations, which have no per-device affinity.

Assisted-by: Claude Opus 4.7
DeltaFile
+117-151offload/liboffload/src/OffloadImpl.cpp
+138-68offload/plugins-nextgen/common/src/PluginInterface.cpp
+55-50libsycl/unittests/usm/alloc.cpp
+78-25offload/plugins-nextgen/common/include/PluginInterface.h
+99-2offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
+39-35offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
+526-33137 files not shown
+1,139-58343 files

LLVM/project 7c873fbflang/include/flang/Parser parse-tree.h, flang/lib/Parser Fortran-parsers.cpp

[flang][cuda] Record implicit managed attribution in module files

An attribute the compiler applied under -gpu=mem:managed is written into the
module file the same way a user-written one is, so a reader cannot tell them
apart. It then treats the attribute as a user requirement: allocating such a
component in a DEVICE object is rejected, and the memory space the user did
ask for on the object no longer wins.

Spell the distinction in the module file as MANAGED(IMPLICIT), modelled on
INTENT(IN): CUDA-data-attr gains an optional parenthesized qualifier, carried
by a new CUDADataAttrSpec parse-tree node in AttrSpec and ComponentAttrSpec.
ATTRIBUTES(...) keeps the bare attribute, so the qualifier cannot be written
there.

The attribute itself is still written out, so a component keeps the same
memory space no matter which options a consumer is compiled with.

Also stop an implicitly applied attribute from making a module a definer of
CUDA symbols. Without this, adding -gpu=mem:managed to a module's build
rejects its OpenACC-only consumers over an attribute the user never wrote.
DeltaFile
+76-0flang/test/Semantics/CUDA/cuda-managed-implicit-modfile.cuf
+29-9flang/lib/Semantics/resolve-names.cpp
+19-3flang/lib/Semantics/mod-file.cpp
+13-2flang/include/flang/Parser/parse-tree.h
+10-2flang/lib/Parser/Fortran-parsers.cpp
+4-2flang/test/Parser/cuf-sanity-tree.CUF
+151-182 files not shown
+159-188 files

LLVM/project 8c013a1llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 dependent-seeds.ll

[SLP]Do not stop the seed scan when a dependent seed is skipped

The dependency check leaves the current window short, and the
not-enough-instructions exit then ends the whole start-position scan for
the current VF, so later independent operations are never tried. Keep
scanning from the next position when the shortfall was caused by a
skipped dependent seed.

Fixes #224286

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/224606
DeltaFile
+11-4llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-2llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll
+16-62 files

LLVM/project 9390e1bllvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Analysis/ScalarEvolution max-backedge-taken-count-correlated-end.ll

[SCEV] Bound the max BE count by the range of End - Start. (#222752)

In same cases, like A < A + N, End - Start can give a tighter maximum
bound due to folding that gets missed when just subtracting the ranges.

This improves results in a few cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1256.

Found while working on unifying howManyLessThans & howManyGreaterThans.
The latter uses a hand-rolled variant of computeMaxBECountForLT for GT,
which computes the delta like that.

Compile-time increase is in the noise
https://llvm-compile-time-tracker.com/compare.php?from=28f36e6d3912e3f9c50fbf57113f84cd336b7862&to=dfbe4dec46620effd87fe913b26b2f656f4b2750&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/222752
DeltaFile
+140-0llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-correlated-end.ll
+7-2llvm/lib/Analysis/ScalarEvolution.cpp
+147-22 files

LLVM/project 0d86540llvm/test/Transforms/SLPVectorizer/X86 dependent-seeds.ll

[SLP][NFC]Add a test with the missed vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/224604
DeltaFile
+24-0llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll
+24-01 files

LLVM/project 8c62ebflldb/include/lldb/Host Host.h, lldb/include/lldb/Target Platform.h

[lldb] Make the shell expansion timeout an LLDB setting (#221952)

LLDB launches a small utility program that prints its own arguments to
expand launch arguments. This lldb-argdumper invocation was previously
capped with a hardcoded 10 second timeout, which is low enough that we
kept hitting it on CI bots in random tests:

```
runCmd failed!
>>> error: shell expansion failed (reason: timed out waiting for shell command to complete). consider launching with 'process launch'.
```

This turns the timeout into the new "platform.shell-expand-timeout"
setting (in seconds) so it can be tuned without recompiling. The
default is now three minutes, and a value of 0 disables the timeout
entirely.

The test suite now disables the timeout altogether as it serves
no purpose there.
DeltaFile
+11-1lldb/source/Target/Platform.cpp
+5-4lldb/source/Host/windows/Host.cpp
+4-4lldb/source/Host/macosx/objcxx/Host.mm
+6-1lldb/include/lldb/Host/Host.h
+4-0lldb/source/Target/TargetProperties.td
+4-0lldb/include/lldb/Target/Platform.h
+34-108 files not shown
+50-1614 files

LLVM/project 8728e73clang/test/CodeGen builtin-clear-padding-codegen.c, clang/test/CodeGenCXX builtin-clear-padding-codegen.cpp

Rebase, address comments

Created using spr 1.3.7
DeltaFile
+4,377-4,141llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+5,753-0llvm/lib/Target/Xtensa/XtensaS3DSPInstrInfo.td
+2,822-2,774llvm/test/CodeGen/AMDGPU/bf16.ll
+4,402-1,088clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
+2,633-2,496llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+2,801-612clang/test/CodeGen/builtin-clear-padding-codegen.c
+22,788-11,1112,051 files not shown
+108,026-54,4022,057 files

LLVM/project db0e752clang-tools-extra/clang-tidy/bugprone MisplacedPointerArithmeticInAllocCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix crash in bugprone-misplaced-pointer-arithmetic-in-alloc (#224509)

This commit checks for an empty constructor argument list before
accessing its last element.

Reproducer at: https://godbolt.org/z/Tfvnbhx19

AI Usage: the issue was found by Grok 4.6. Although IMO this is a pretty
uncommon/rare case, less crash-on-valid is always better.
DeltaFile
+4-3clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
+5-0clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-pointer-arithmetic-in-alloc.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.md
+14-33 files

LLVM/project c23e28allvm/lib/ExecutionEngine/MCJIT MCJIT.cpp, llvm/lib/ExecutionEngine/Orc CompileUtils.cpp

ExecutionEngine: Compute the DataLayout from the triple and ABI (#224547)
DeltaFile
+4-2llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
+4-2llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
+8-42 files

LLVM/project 69ea592llvm/test/tools/llvm-pdbutil invalid-yaml.test, llvm/tools/llvm-pdbutil llvm-pdbutil.cpp

[llvm-pdbutil] Print error on invalid YAML (#207528)

From
https://github.com/llvm/llvm-project/pull/207058#discussion_r3522204565:
We should print out an error if we encounter invalid YAML.

With this PR, the error is printed. I included the diagnostics here,
because they provide better error messages and allow you to locate the
error easier.
DeltaFile
+9-1llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
+10-0llvm/test/tools/llvm-pdbutil/invalid-yaml.test
+19-12 files

LLVM/project 03ad73allvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize phi-cost.ll epilog-vectorization-reductions.ll

[LV] Fold invariant reduction phis to their start value. (#223279)

A reduction phi whose backedge value is the phi itself is invariant and
equal to its start value. This can happen when the reduction operation
folds away, e.g. `or X, 0`, `and X, -1`, `add X, 0` or `mul X, 1`.

Clean up such trivial non-reductions early.

PR: https://github.com/llvm/llvm-project/pull/223279
DeltaFile
+12-15llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
+7-17llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
+11-10llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
+2-10llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
+9-2llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+1-4llvm/test/Transforms/LoopVectorize/phi-cost.ll
+42-582 files not shown
+43-638 files

LLVM/project 8597451llvm/test/MC/AArch64 retired-names.s

fixup! Slightly adjust message in testfile
DeltaFile
+4-1llvm/test/MC/AArch64/retired-names.s
+4-11 files

LLVM/project adb3a3cflang/include/flang/Parser parse-tree.h, flang/lib/Parser Fortran-parsers.cpp

[flang][cuda] Record implicit managed attribution in module files

An attribute the compiler applied under -gpu=mem:managed is written into the
module file the same way a user-written one is, so a reader cannot tell them
apart. It then treats the attribute as a user requirement: allocating such a
component in a DEVICE object is rejected, and the memory space the user did
ask for on the object no longer wins.

Spell the distinction in the module file as MANAGED(IMPLICIT), modelled on
INTENT(IN): CUDA-data-attr gains an optional parenthesized qualifier, carried
by a new CUDADataAttrSpec parse-tree node in AttrSpec and ComponentAttrSpec.
ATTRIBUTES(...) keeps the bare attribute, so the qualifier cannot be written
there.

The attribute itself is still written out, so a component keeps the same
memory space no matter which options a consumer is compiled with.

Also stop an implicitly applied attribute from making a module a definer of
CUDA symbols. Without this, adding -gpu=mem:managed to a module's build
rejects its OpenACC-only consumers over an attribute the user never wrote.
DeltaFile
+76-0flang/test/Semantics/CUDA/cuda-managed-implicit-modfile.cuf
+29-8flang/lib/Semantics/resolve-names.cpp
+19-3flang/lib/Semantics/mod-file.cpp
+13-2flang/include/flang/Parser/parse-tree.h
+10-2flang/lib/Parser/Fortran-parsers.cpp
+4-2flang/test/Parser/cuf-sanity-tree.CUF
+151-172 files not shown
+159-178 files

LLVM/project 7f0e0faflang/lib/Lower Allocatable.cpp, flang/lib/Semantics check-allocate.cpp resolve-names.cpp

[flang][cuda] Implicitly attribute ALLOCATABLE/POINTER components as managed

Under -gpu=mem:managed, resolve-names implicitly attributes allocatables and
pointers declared in an ordinary scope as managed.

Apply the same attribution to components in Post(ComponentDecl). An explicitly
attributed component keeps its own attribute, and a translation unit without
CUDA Fortran enabled is left alone.

Record the attribution in ObjectEntityDetails::cudaDataAttrIsImplicit, since
an attribute the compiler applied is not a user requirement: a memory space
the user did ask for on an enclosing object takes precedence over it.
DeltaFile
+203-0flang/test/Lower/CUDA/cuda-gpu-managed-components.cuf
+44-0flang/test/Lower/CUDA/cuda-gpu-managed-components-order.cuf
+27-1flang/lib/Semantics/tools.cpp
+24-3flang/lib/Lower/Allocatable.cpp
+14-0flang/lib/Semantics/resolve-names.cpp
+5-1flang/lib/Semantics/check-allocate.cpp
+317-51 files not shown
+323-57 files

LLVM/project 24c7377llvm/lib/Target/AArch64 AArch64SchedPredNeoverse.td AArch64SchedNeoverseV2.td, llvm/test/tools/llvm-mca/AArch64/Neoverse V2-basic-instructions.s V1-basic-instructions.s

[AArch64][NeoverseV1/V2] Fix extended/shifted-register scheduling for ADD[S]/SUB[S]/AND[S]/BIC[S] (#220920)

Verified with llvm-exegesis on Neoverse V1 and V2 hardwares.

Opcodes                | Before              | After

-----------------------|---------------------|------------------------------
ADDWrx/SUBWrx | 2c (SchedAlias) | IsRealArithExtendW: 1c or 2c
ADDSWrx/SUBSWrx | IsCheapLSL | IsRealArithExtendW: 1c or 2c
ADDSXrx/SUBSXrx | IsCheapLSL | static 2c (always real extend)
ADDSXrx64/SUBSXrx64 | IsCheapLSL | static 1c (always passthrough)
ANDS/BICS Wrs,Xrs      | static 2c           | NeoverseShift0: 1c or 2c

IsCheapLSL checks the shift *amount* (<=4), which is the wrong axis for
the extend-register forms (need the extend *type* instead) and does not
apply to ANDS/BICS (no amount threshold, just shift-present-or-not).
NeoverseNoLSL becomes NeoverseShift0: adding LSR, ASR and ROR in
addition to LSL. Does not apply it on NeoverseV3 and others as it is not
validated using llvm-exegesis on these hardwares.
DeltaFile
+65-65llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
+59-59llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
+32-12llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
+16-1llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
+14-0llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
+186-1375 files

LLVM/project 4f10e03llvm/lib/Target TargetMachineC.cpp

llvm-c: Compute the DataLayout from the triple and ABI

Drop a use of createDataLayout

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+5-2llvm/lib/Target/TargetMachineC.cpp
+5-21 files

LLVM/project db349a4clang-tools-extra/clang-tidy/readability NonConstParameterCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix false positive in readability-non-const-parameter for atomic builtins (#221951)

Atomic builtins are represented in the AST by `AtomicExpr` rather than
`CallExpr`, so `readability-non-const-parameter` never analysed their
operands and assumed the pointed-to data was only read. It then
suggested making those pointer parameters point to const, and applying
the fix-it produced code that no longer compiles.

The most visible case is the `expected` operand of a compare-exchange,
which per the C standard must be a pointer to non-const because it
receives the old value when the exchange fails:
https://godbolt.org/z/sovKf3G3c

Before this change the check reported `expected` as a candidate for
pointer-to-const. The GNU builtins are affected the same way, and there
the address operand `obj` was reported too, as were the destination
operand of `__atomic_load()` and the old-value operand of
`__atomic_exchange()`.


    [5 lines not shown]
DeltaFile
+35-0clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
+30-0clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
+8-1clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
+6-0clang-tools-extra/docs/ReleaseNotes.md
+79-14 files

LLVM/project bb50aa7libcxx/test/benchmarks regex.bench.cpp

[libc++] Add some basic benchmarks for std::regex (#223633)
DeltaFile
+97-0libcxx/test/benchmarks/regex.bench.cpp
+97-01 files

LLVM/project 47f4f0fllvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/InstCombine recurrence.ll

[ValueTracking] Compute known bits for `umin` and `umax` recurrences (#222890)
DeltaFile
+371-0llvm/test/Transforms/InstCombine/recurrence.ll
+49-19llvm/lib/Analysis/ValueTracking.cpp
+420-192 files

LLVM/project 26dd406llvm/tools/llc/lib llcdriver.cpp

llc: Compute the DataLayout from the triple and ABI

This is the minimum change to avoid createDataLayout. Future work
will be needed here to really drop use of the ABIName field.
DeltaFile
+1-1llvm/tools/llc/lib/llcdriver.cpp
+1-11 files

LLVM/project 6f653e2libc/src/grp setgrent.cpp getgrent.cpp, libc/test/src/grp CMakeLists.txt grp_test_utils.h

[libc] Add getgrent, setgrent, and endgrent entrypoints (#224372)

Implement the POSIX group database iteration entrypoints getgrent,
setgrent, and endgrent on top of grp_utils and FlatFileDatabase.

Non-reentrant calls read into a process-global DynamicBuffer that grows
to the high-water mark of the largest group record seen. endgrent closes
the file stream without freeing the buffer so pointers returned prior to
endgrent remain valid until the next non-reentrant call.

* Add getgrent, setgrent, and endgrent entrypoints
* Define getgrent, setgrent, and endgrent in include/grp.yaml
* Expose entrypoints across Linux target architectures
* Add hermetic integration tests in test/src/grp/getgrent_test.cpp

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+212-0libc/test/src/grp/getgrent_test.cpp
+62-0libc/test/src/grp/grp_test_utils.h
+43-0libc/src/grp/CMakeLists.txt
+30-0libc/src/grp/getgrent.cpp
+28-0libc/test/src/grp/CMakeLists.txt
+27-0libc/src/grp/setgrent.cpp
+402-010 files not shown
+546-116 files

LLVM/project ad0072dflang/lib/Optimizer/HLFIR/Transforms InlineHLFIRCopy.cpp ConvertToFIR.cpp, flang/test/Fir allocation-policy-pipeline.fir

Reland [flang][HLFIR] make copyin/copyout allocation inline (#224063) (#224570)

This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.

In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits and the copyout runtime
was just modified to do "copy on change" so I do not want to inline it
until more this new approached is tested more broadly.

Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers

    [9 lines not shown]
DeltaFile
+119-52flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
+71-95flang/test/HLFIR/copy-in-out-codegen.fir
+49-42flang/test/Lower/dummy-argument-optional-2.f90
+9-58flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
+33-30flang/test/Lower/dummy-argument-assumed-shape-optional.f90
+52-3flang/test/Fir/allocation-policy-pipeline.fir
+333-28032 files not shown
+633-48338 files

LLVM/project 1985f37llvm/cmake/modules LLVMExternalProjectUtils.cmake

[CMake] Do not use llvm-rc without Clang in external projects (#224505)

On Windows, configuring LLVM without Clang but with external projects

i.e. 
```
-DLLVM_ENABLE_PROJECTS=
-DLLVM_ENABLE_RUNTIMES=orc-rt
```

llvm-rc is selected as the rc compiler but requires clang for
pre-processing. Only select llvm-rc for external projects when Clang is
also part of the toolchain, otherwise CMake uses the host rc compiler.
DeltaFile
+2-2llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+2-21 files

LLVM/project b35e493llvm/include/llvm/Analysis Loads.h, llvm/lib/Analysis Loads.cpp MemoryDependenceAnalysis.cpp

[MemoryDependenceAnalysis] Migrate `isStorePreservingMemoryLocation` to Loads (NFC) (#223700)

Minor opportunity to expose the helper and move it out of MDA.
DeltaFile
+2-34llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
+30-0llvm/lib/Analysis/Loads.cpp
+11-0llvm/include/llvm/Analysis/Loads.h
+43-343 files

LLVM/project 69410bellvm/test/CodeGen/AMDGPU alloc-aligned-tuples-gfx1250.mir

[AMDGPU][CodeGen] Replace non-existent opcodes in gfx1250 test (#223767)

`IMAGE_LOAD_V5_V1` and `IMAGE_SAMPLE_C_CL_O_V4_V8` don't exist on
gfx1250. This keeps the tests' intent without relying on them.
DeltaFile
+4-3llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir
+4-31 files

LLVM/project 7db8a89llvm/include/llvm/CodeGen SelectionDAG.h RegisterClassInfo.h, llvm/include/llvm/CodeGen/GlobalISel IRTranslator.h InstructionSelect.h

[llvm] Adjust LLVM_ABI annotations (#224293)

The automatic LLVM_ABI annotations script has been broken since #208780.
PR #223354 restores its functionality. In the meantime, some API
annotations regressed. This PR aims to fix all of these regressions.

This was applied by calling the updated ids-check-helper.py from #223354
on the public LLVM headers on a macOS host and clang-formatting the
results.

The effort to build LLVM as a dylib is tracked in #109483.
DeltaFile
+12-11llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
+8-8llvm/include/llvm/Support/RWMutex.h
+5-5llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
+5-4llvm/include/llvm/CodeGen/RegisterClassInfo.h
+4-4llvm/include/llvm/CodeGen/SelectionDAG.h
+5-3llvm/include/llvm/MC/MCAsmStreamer.h
+39-3519 files not shown
+75-6925 files