LLVM/project 1b44201mlir/include/mlir-c Analysis.h, mlir/lib/CAPI/IR Analysis.cpp

[mlir-c] Add getBlocksSortedByDominance and topologicalSort
DeltaFile
+77-0mlir/test/CAPI/ir.c
+24-0mlir/include/mlir-c/Analysis.h
+23-0mlir/lib/CAPI/IR/Analysis.cpp
+124-03 files

LLVM/project c3af701mlir/include/mlir-c Analysis.h, mlir/lib/CAPI/IR Analysis.cpp

[mlir-c] Add backward slice analysis
DeltaFile
+65-0mlir/test/CAPI/ir.c
+30-0mlir/lib/CAPI/IR/Analysis.cpp
+20-0mlir/include/mlir-c/Analysis.h
+115-03 files

LLVM/project 0c81409mlir/include/mlir-c Analysis.h, mlir/lib/CAPI/IR CMakeLists.txt Analysis.cpp

[mlir-c] Add forward slice analysis
DeltaFile
+75-0mlir/test/CAPI/ir.c
+51-0mlir/include/mlir-c/Analysis.h
+43-0mlir/lib/CAPI/IR/Analysis.cpp
+2-0mlir/lib/CAPI/IR/CMakeLists.txt
+171-04 files

LLVM/project 97458f6clang/include/clang/CIR/Dialect/Analysis CIRBasicAliasAnalysis.h, clang/lib/CIR/Dialect/Analysis CIRBasicAliasAnalysis.cpp

[CIR] Compare access ranges of pointers into the same object (#225166)

Two pointers at different offsets into the same object were previously
reported as MayAlias, because whether they overlap depends on how many
bytes each access touches. This change extends the analysis to use the
access size from the pointee type and compare the byte ranges the two
accesses cover. Disjoint ranges don't alias, overlapping ranges
partially alias. Access to different members of a record are now
reported as NoAlias, while a member compared against the record it
belongs to is reported as PartialAlias.

Accesses whose extent isn't statically known, such as those through a
pointer to void, keep the conservative answer.

Assisted-by: Cursor / various models
DeltaFile
+109-62clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
+34-5clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
+4-4clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
+147-713 files

LLVM/project d6d4b20mlir/include/mlir-c Analysis.h, mlir/lib/CAPI/IR Analysis.cpp

[mlir-c] Add getBlocksSortedByDominance and topologicalSort
DeltaFile
+76-0mlir/test/CAPI/ir.c
+21-1mlir/include/mlir-c/Analysis.h
+20-0mlir/lib/CAPI/IR/Analysis.cpp
+117-13 files

LLVM/project c29ad0fmlir/include/mlir-c Analysis.h, mlir/lib/CAPI/IR Analysis.cpp

[mlir-c] Add backward slice analysis
DeltaFile
+63-0mlir/test/CAPI/ir.c
+14-0mlir/lib/CAPI/IR/Analysis.cpp
+14-0mlir/include/mlir-c/Analysis.h
+91-03 files

LLVM/project 1031461mlir/include/mlir-c Analysis.h, mlir/lib/CAPI/IR CMakeLists.txt Analysis.cpp

[mlir-c] Add forward slice analysis
DeltaFile
+74-0mlir/test/CAPI/ir.c
+44-0mlir/include/mlir-c/Analysis.h
+40-0mlir/lib/CAPI/IR/Analysis.cpp
+2-0mlir/lib/CAPI/IR/CMakeLists.txt
+160-04 files

LLVM/project 943c30ellvm/test/Transforms/SLPVectorizer/AArch64 fadd-with-gathered-fmul-operands.ll loop-accumulator-reduction.ll, llvm/test/Transforms/SLPVectorizer/X86 fmul-fused-into-scalar-fadd.ll

[SLP][NFC]Update/add some new tests for fmuladd cases, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/225553
DeltaFile
+70-7llvm/test/Transforms/SLPVectorizer/X86/fmul-fused-into-scalar-fadd.ll
+59-0llvm/test/Transforms/SLPVectorizer/AArch64/fmul-constant-lane-fmuladd-combine.ll
+10-9llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
+5-6llvm/test/Transforms/SLPVectorizer/AArch64/fadd-with-gathered-fmul-operands.ll
+144-224 files

LLVM/project e9c29efllvm/docs FuzzingLLVM.md ConvergentOperations.md

[LLVM][docs] Address batch 10 Markdown review feedback
DeltaFile
+8-7llvm/docs/HowToSubmitABug.md
+5-5llvm/docs/MLGO.md
+3-3llvm/docs/HowToSetUpLLVMStyleRTTI.md
+2-2llvm/docs/GwpAsan.md
+1-1llvm/docs/FuzzingLLVM.md
+1-1llvm/docs/ConvergentOperations.md
+20-196 files

LLVM/project 8a25130llvm/utils/git code-format-helper.py

[CI] Ignore ';' comments in .ll files in undef deprecator (#225509)

Without this patch, UndefGetFormatHelper matches across ';' comment
markers on added lines in .ll files, flagging false positives whenever
the word 'undef' appears in a test comment.

This patch stops matching at ';' on added lines in .ll files so comments
are ignored while uses of undef in IR instructions are still caught.

Assisted-by: Antigravity
DeltaFile
+3-3llvm/utils/git/code-format-helper.py
+3-31 files

LLVM/project e35a45fclang/lib/Headers avx10v2auxintrin.h, clang/test/CodeGen/AArch64 neon-ldst-one.c

Merge cascade
DeltaFile
+4,372-0clang/test/OpenMP/structured-bindings-codegen.cpp
+1,413-1,413clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+0-2,567clang/test/CodeGen/AArch64/neon-ldst-one.c
+2,403-0clang/lib/Headers/avx10v2auxintrin.h
+10,994-6,7862,292 files not shown
+124,200-58,5842,298 files

LLVM/project 8ff7119clang/lib/Headers avx10v2auxintrin.h, clang/test/CodeGen/AArch64 neon-ldst-one.c

Merge cascade
DeltaFile
+4,372-0clang/test/OpenMP/structured-bindings-codegen.cpp
+1,413-1,413clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+0-2,567clang/test/CodeGen/AArch64/neon-ldst-one.c
+2,403-0clang/lib/Headers/avx10v2auxintrin.h
+10,994-6,7862,292 files not shown
+124,200-58,5842,298 files

LLVM/project bb16509

Update after cascade merge
DeltaFile
+0-00 files

LLVM/project 13e6f62llvm/test/TableGen AMDGPUTargetDefGenericClassification.td

[AMDGPU] Avoid repeated parsing in generic classification test

Parse AMDGPU.td once and assert real feature classifications directly. Keep validation of real generic targets and use AMDGPUTargetDefGenericFeatures.td for validation diagnostics.

Addresses the timeout reported on #223179. Local test time drops from 79.59s to 11.28s; both classification and generic feature validation tests pass.

Change-Id: Ic93ed7843d48230cf61c196502b51d7900dc3329
DeltaFile
+33-64llvm/test/TableGen/AMDGPUTargetDefGenericClassification.td
+33-641 files

LLVM/project 3c707d7clang/lib/Headers avx10v2auxintrin.h, clang/test/CodeGen/AArch64 neon-ldst-one.c

Merge cascade
DeltaFile
+4,372-0clang/test/OpenMP/structured-bindings-codegen.cpp
+1,413-1,413clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+0-2,567clang/test/CodeGen/AArch64/neon-ldst-one.c
+2,403-0clang/lib/Headers/avx10v2auxintrin.h
+10,994-6,7862,372 files not shown
+130,857-60,3112,378 files

LLVM/project 035c786clang/test/CIR/CodeGen attr-target-x86.c

[CIR] Fix target attr test (#225534)

After #206888 our printed checks are broken.  Fix them.
DeltaFile
+4-4clang/test/CIR/CodeGen/attr-target-x86.c
+4-41 files

LLVM/project 680c555lldb/include/lldb/ValueObject DILParser.h DILEval.h, lldb/source/Target StackFrame.cpp

[lldb] Add error logging to DIL (#224763)

This patch also adds a new `EvaluateTree` interface for the Interpreter,
since putting the logging into the existing `Evaluate` would output the
message every time it's called internally.
DeltaFile
+16-0lldb/source/ValueObject/DILEval.cpp
+11-2lldb/source/ValueObject/DILLexer.cpp
+5-2lldb/include/lldb/ValueObject/DILEval.h
+6-1lldb/source/ValueObject/DILParser.cpp
+1-1lldb/source/Target/StackFrame.cpp
+2-0lldb/include/lldb/ValueObject/DILParser.h
+41-66 files

LLVM/project 4cb6d9ebolt/lib/Profile DataAggregator.cpp

[BOLT] Don't report an ignored build-id mismatch as an error (#225219)

With `-ignore-build-id`, a build-id mismatch still printed

  PERF2BOLT-ERROR: failed to match build-id from perf output. ...
  Use -ignore-build-id option to override.

and then carried on normally. Fix the messaging to reduce noise in logs.
DeltaFile
+9-2bolt/lib/Profile/DataAggregator.cpp
+9-21 files

LLVM/project 9da57d2llvm/docs PointerAuth.md ProgrammersManual.md, llvm/docs/tutorial/MyFirstLanguageFrontend LangImpl09.md

[docs] Address cross-reference review feedback
DeltaFile
+18-1utils/docs/llvm_sphinx/ext/absolute_links.py
+4-3llvm/docs/ProgrammersManual.md
+3-3llvm/docs/PointerAuth.md
+1-1llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl09.md
+2-0utils/docs/llvm_sphinx/ext/absolute_links_test/rest.rst
+2-0utils/docs/llvm_sphinx/ext/absolute_links_test/markdown.md
+30-88 files not shown
+35-1814 files

LLVM/project c6ed357mlir/test/CAPI ir.c

[mlir-c] Assert diagnostic severity in CAPI test

Print the diagnostic severity in the test handler and add CHECK lines
asserting Error/Warning/Remark, so the warning/remark tests no longer
pass vacuously. Also add the missing end-of-diagnostic CHECKs.
DeltaFile
+26-0mlir/test/CAPI/ir.c
+26-01 files

LLVM/project 8890be3llvm/lib/Target/AArch64 AArch64FastISel.cpp, llvm/lib/Target/AArch64/GISel AArch64CallLowering.cpp

[AArch64][GISel][FastISel] Fix Windows "sret inreg". (#225190)

5dc8aeb26d2896c65cbea0d3b87f090241444bb6 added a special case to
SelectionDAG ISel for "sret inreg" parameters: they are copied to x0 on
return. There was a review comment suggesting that GISel and FastISel
also needed fixes, but through some mixup the followup never happened.

Fixes #225060
DeltaFile
+556-96llvm/test/CodeGen/AArch64/arm64-windows-calls.ll
+49-13llvm/test/CodeGen/AArch64/arm64-windows-tailcall.ll
+8-3llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
+3-0llvm/lib/Target/AArch64/AArch64FastISel.cpp
+616-1124 files

LLVM/project 3dbc42dflang/docs Unsigned.md Semantics.md, flang/docs/_static custom.css

[flang][docs] Use Furo theme (#223151)

Preview: https://clangdocs.staging.reidkleckner.dev/after/flang/docs/
Current: https://flang.llvm.org/docs/

I ported over the LLVM wyvern logo and the Clang CSS viewport width
customizations.

Most of the changes are removing page-local contents directives that
duplicate Furo’s right-hand navbar.

Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC for Clang:
https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7

Flang is using the Clang doc theme (perhaps it's the default) so I feel
like it's a good candidate to migrate, but let me know if you feel
differently.

Assisted-by: codex
DeltaFile
+8-17flang/docs/conf.py
+20-0flang/docs/_static/custom.css
+0-5flang/docs/Unsigned.md
+0-5flang/docs/Semantics.md
+0-5flang/docs/RuntimeTypeInfo.md
+0-5flang/docs/RuntimeEnvironment.md
+28-3741 files not shown
+28-24047 files

LLVM/project 8c8ee48compiler-rt/test/fuzzer minimize_crash.test

minimize_crash.test sometimes one-shots the minimization (fix flaky test)

After 223470 it is now possible for minimize_crash to one-shot the minimization
by applying the EraseBytes mutation 3 times (to go from size 8=>4=>2=>1).

```
 |            35: SUMMARY: libFuzzer: deadly signal
 |            36: MS: 3 EraseBytes-EraseBytes-EraseBytes-; base unit: 0000000000000000000000000000000000000000
 |            37: 0x2a,
 |            38: *
```

rdar://188078094
DeltaFile
+1-1compiler-rt/test/fuzzer/minimize_crash.test
+1-11 files

LLVM/project 9b65fa0llvm/test/Transforms/LoopVectorize/RISCV countable-early-exit-no-epilogue.ll

[LV] Add test for miscompile after #195823. (#225531)
DeltaFile
+76-0llvm/test/Transforms/LoopVectorize/RISCV/countable-early-exit-no-epilogue.ll
+76-01 files

LLVM/project c495e51libcxx/cmake/caches Generic-llvm-libc.cmake, libcxx/test/std/thread/thread.threads/thread.thread.this sleep_for.signals.pass.cpp

[libcxx] Enable threads on LLVM-libc (#224436)

Now that LLVM-libc's use of atomics has been fixed in #224162, #224160,
and #224164 this PR removes the carveout for threads in libc++ when
building on LLVM-libc.

Assisted-by: Automated tooling, human reviewed
DeltaFile
+5-0libcxxabi/test/cxa_thread_atexit_test.pass.cpp
+0-3libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp
+0-3libcxx/cmake/caches/Generic-llvm-libc.cmake
+5-63 files

LLVM/project 8a85fe1lldb/source/API SBData.cpp, lldb/test/API/functionalities/scripted_process addressable_bits_scripted_process.py

[lldb] Fix heap-use-after-free in scripted process memory reads (#225472)

The ASan bots hit a use-after-free unwinding the scripted process in
TestScriptedProcess:

```
  READ of size 512
    #1 DataExtractor::CopyByteOrderedData() DataExtractor.cpp:660
    #2 ScriptedProcess::DoReadMemory() ScriptedProcess.cpp:282
    #3 Process::ReadMemoryFromInferior() Process.cpp:2453
    #4 MemoryCache::Read() Memory.cpp:323
 ```

AddressableBitsScriptedProcess.read_memory_at_address(), added in 851eb5a97ba6, filled its SBData with SetData(). That overload is non-owning: it builds a DataExtractor that aliases the caller's buffer. The buffer it was handed is a `bytes(size)` temporary, which Python frees as soon as the call returns, so DoReadMemory copies out of a dead allocation. The 512 is the default
target.memory-cache-line-size, not the register width the unwinder asked for.

Use SetDataWithOwnership() instead, as every other scripted process script already does.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+6-7lldb/source/API/SBData.cpp
+3-1lldb/test/API/functionalities/scripted_process/addressable_bits_scripted_process.py
+9-82 files

LLVM/project 5791e2fflang/test/Semantics/OpenMP requires09.f90 requires08.f90

[flang][OpenMP] Add -fopenmp-version flag to several tests (#224934)

The default OpenMP version in flang is 3.1. A number of tests use
features added in later versions. They currently pass because the
version validity is not enforced in many cases. Set the OpenMP version
explicitly to avoid failures when the checks become more strict.
DeltaFile
+1-1flang/test/Semantics/OpenMP/requires09.f90
+1-1flang/test/Semantics/OpenMP/requires08.f90
+1-1flang/test/Semantics/OpenMP/requires07.f90
+1-1flang/test/Semantics/OpenMP/requires06.f90
+1-1flang/test/Semantics/OpenMP/requires03.f90
+1-1flang/test/Semantics/OpenMP/requires02.f90
+6-613 files not shown
+19-1919 files

LLVM/project 40eebbbflang/include/flang/Parser openmp-utils.h, flang/lib/Parser openmp-utils.cpp

[flang][OpenMP] Annotate some directive and clause names (#225210)

There are some directives that share the same spelling, but have
different functionality. The same is true for clauses. When getting the
upper-case name of such a directive or a clause, optionally (and by
default) add an annotation about the kind of the directive or clause.

For example, a standalone ORDERED directive will be displayed as
"ORDERED (standalone)". This was already done, for this directive, but
not in all cases.
DeltaFile
+32-4flang/lib/Parser/openmp-utils.cpp
+3-10flang/lib/Semantics/check-omp-structure.cpp
+3-3flang/test/Semantics/OpenMP/ordered01.f90
+4-2flang/include/flang/Parser/openmp-utils.h
+42-194 files

LLVM/project a2ff3ccflang/test/Semantics/OpenMP nontemporal.f90, llvm/include/llvm/Frontend/OpenMP OMP.td

[flang][OpenMP] NONTEMPORAL clause is allowed on DO SIMD in 5.0+ (#225082)

The set of allowed clauses on DO SIMD was missing the NONTEMPORAL
clause.
DeltaFile
+0-1flang/test/Semantics/OpenMP/nontemporal.f90
+1-0llvm/include/llvm/Frontend/OpenMP/OMP.td
+1-12 files

LLVM/project fc14d05flang/lib/Optimizer/Builder MutableBox.cpp, flang/test/HLFIR separate-allocatable-assign.fir

[flang][cuda] Preserve allocator index when splitting host-accessible realloc assigns (#225537)

After #224195, shape-changing assignment to a pinned/managed/unified
allocatable inlined cuf.alloc/cuf.free but rebuilt the descriptor
without
allocator_idx. Implicit DEALLOCATE then used the default allocator and
called libc free() on CUDA storage.

Pass the CUDA allocator index through MutablePropertyWriter so fir.embox
keeps pinned=1, managed=3, and unified=4.
DeltaFile
+33-8flang/lib/Optimizer/Builder/MutableBox.cpp
+18-0flang/test/HLFIR/separate-allocatable-assign.fir
+51-82 files