LLVM/project 755be74llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis weak-crossing-siv-overflow.ll

Refine comments

Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
DeltaFile
+0-6llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-overflow.ll
+1-3llvm/lib/Analysis/DependenceAnalysis.cpp
+1-92 files

LLVM/project 013c792clang/include/clang/Driver ToolChain.h, clang/lib/Driver Driver.cpp ToolChain.cpp

clang: Simplify OpenMP triple adjustment (#189265)

Previously this would find a list of offloading triples,
then later fill in the unknown components specifically for
OpenMP after the fact. Start normalizing the triples upfront,
before inserting into the set. Also stop special casing OpenMP
since there's no apparent reason to treat it differently from
other offload languages.

Also operate on the Triple rather than the string, and handle
the unset OS and environment separately.
DeltaFile
+19-13clang/include/clang/Driver/ToolChain.h
+9-10clang/lib/Driver/Driver.cpp
+1-1clang/lib/Driver/ToolChain.cpp
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+30-254 files

LLVM/project 25e9f13clang/lib/Driver Driver.cpp

clang: Remove redundant size check on set of offload kinds (#189330)
DeltaFile
+1-1clang/lib/Driver/Driver.cpp
+1-11 files

LLVM/project 33aaba7llvm/docs LangRef.rst, llvm/include/llvm/IR FloatingPointOps.def IRBuilder.h

Update the patch according to feedback:

- Remove the changes from IRBuilder, CallBase::getMemoryEffects() must be
  enough.
- Update documentation, remove extra terms, fix wording.
- Add tests that check correct ordering.
- Update macro names in FloatingPointOps.def.
- If an instruction is isolated, it is considered strictfp.
DeltaFile
+122-0llvm/unittests/IR/FPOperationTest.cpp
+87-0llvm/test/CodeGen/X86/fpoperations.ll
+41-41llvm/include/llvm/IR/FloatingPointOps.def
+41-35llvm/docs/LangRef.rst
+0-32llvm/lib/IR/IRBuilder.cpp
+14-3llvm/include/llvm/IR/IRBuilder.h
+305-1115 files not shown
+321-12311 files

LLVM/project a4e6f49llvm/lib/Analysis TargetTransformInfo.cpp, llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp

[AArch64] More accurately model cost of partial reductions (#181707)

With #181706 using the cost-model to decide whether using partial
reductions is profitable, we need to more accurately represent the cost
of certain partial reduction operations:

* Reflect the fact that *MLALB/T instructions can be used for 16-bit ->
32-bit partial reductions (or *MLAL/MLAL2 for NEON).
* Calculate the cost of expanding the partial reduction in ISel for
reductions that don't have an explicit instruction, rather than
returning a random number. For sub-reductions we scale the cost to make
them slightly cheaper, so that they're still candidates for forming cdot
operations.
DeltaFile
+69-36llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+30-30llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
+24-24llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
+26-2llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i16-i32.ll
+9-9llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
+16-0llvm/lib/Analysis/TargetTransformInfo.cpp
+174-1013 files not shown
+181-1059 files

LLVM/project 6566040flang/include/flang/Optimizer/Dialect FIRType.h, flang/lib/Lower Bridge.cpp

[flang] get rid of descriptor in scalar type is (#188762)

Select type lowering was keeping scalar selector as descriptors inside
TYPE IS for derived type, leading to a declare using a fir.box.
This is not the canonical representation for such variables that can be
tracked with a simple pointer. This code that is remapping variables
that appear in data operation in lowering was not expecting a
fir.declare to be emitted with fir.box for such entity (an assert was
hit in the added OpenACC test).

Align the lowering of derived type scalar selector with the handling of
intrinsic selector. While doing this, simplify the logic by using and
adding fir::BaseBoxAddr helpers to ensure that attributes such as
VOLATILE are correctly propagated (they matter more than keeping the
fir.ptr/fir.heap type that is not relevant for the selector that does
not have the POINTER/ALLOCATABLE attributes).
DeltaFile
+27-50flang/lib/Lower/Bridge.cpp
+38-11flang/lib/Optimizer/Dialect/FIRType.cpp
+24-0flang/test/Lower/OpenACC/acc-data-operands-remapping-selector.f90
+8-8flang/test/Lower/select-type.f90
+12-1flang/include/flang/Optimizer/Dialect/FIRType.h
+4-4flang/test/Lower/volatile-allocatable.f90
+113-741 files not shown
+116-777 files

LLVM/project 3572b21llvm/lib/Target/WebAssembly WebAssemblyISelLowering.cpp WebAssemblyTargetTransformInfo.cpp, llvm/test/CodeGen/WebAssembly int-mac-reduction-loops.ll wide-simd-mul.ll

[WebAssembly] Lower extend v16i8 to v16i32 (#188936)

Split the input vector with an extend_low and high and then split the
results again with extend_low and high for a total of 6 instructions.
This is removes 3 shuffles and a couple of extends.
DeltaFile
+18-38llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
+24-30llvm/test/CodeGen/WebAssembly/wide-simd-mul.ll
+22-31llvm/test/CodeGen/WebAssembly/partial-reduce-accumulate.ll
+24-3llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
+3-0llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
+91-1025 files

LLVM/project 271c2d0clang/lib/Driver Driver.cpp

clang: Remove redundant size check on set of offload kinds
DeltaFile
+1-1clang/lib/Driver/Driver.cpp
+1-11 files

LLVM/project 5ff83cbclang/lib/Driver Driver.cpp, clang/test/Driver hip-binding.hip

clang: Fix warnings with multiple offload arch args

Fix regression after ab885fdf5f67726ef564c34087e813f2ca861f5c.
Apparently driver tests do not enforce there are no warnings.
Oddly, I need to use -Werror for the specific error. If I use
just -Werror, I get an error that the -Werror is unused.
DeltaFile
+4-1clang/lib/Driver/Driver.cpp
+1-1clang/test/Driver/hip-binding.hip
+5-22 files

LLVM/project 3f2e247clang/lib/CodeGen CGBuiltin.cpp, clang/test/CodeGen clear_cache.c

[CHERI] Allow @llvm.clear_cache to accept pointers in address spaces other than 0. (#189283)

Co-Authored-by: Jessica Clarke <jrtc27 at jrtc27.com>
DeltaFile
+1-1llvm/test/Bitcode/compatibility-4.0.ll
+1-1llvm/test/Bitcode/compatibility-5.0.ll
+1-1llvm/test/Bitcode/compatibility-6.0.ll
+1-1llvm/test/Bitcode/compatibility.ll
+1-1clang/lib/CodeGen/CGBuiltin.cpp
+1-1clang/test/CodeGen/clear_cache.c
+6-65 files not shown
+11-1111 files

LLVM/project 949e397clang/include/clang/Driver ToolChain.h, clang/lib/Driver Driver.cpp ToolChain.cpp

clang: Simplify OpenMP triple adjustment

Previously this would find a list of offloading triples,
then later fill in the unknown components specifically for
OpenMP after the fact. Start normalizing the triples upfront,
before inserting into the set. Also stop special casing OpenMP
since there's no apparent reason to treat it differently from
other offload languages.

Also operate on the Triple rather than the string, and handle
the unset OS and environment separately.
DeltaFile
+19-13clang/include/clang/Driver/ToolChain.h
+9-10clang/lib/Driver/Driver.cpp
+1-1clang/lib/Driver/ToolChain.cpp
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+30-254 files

LLVM/project 17491d9lldb/source/Plugins/ObjectContainer/Mach-O-Fileset ObjectContainerMachOFileset.cpp, lldb/source/Plugins/ObjectContainer/Universal-Mach-O ObjectContainerUniversalMachO.cpp

[lldb] Remove data_offset arg from GetModuleSpecifications (#188978)

- it is always passed as zero
- a lot of plugins aren't using it correctly
- the data extractor class already has the capability to look at a
subset of bytes
DeltaFile
+12-19lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+5-6lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
+3-8lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
+4-6lldb/source/Symbol/ObjectFile.cpp
+3-6lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
+4-3lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
+31-4827 files not shown
+51-9133 files

LLVM/project e09b589llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/performance BUILD.gn

[gn build] Port 032f36bdbc73
DeltaFile
+1-1llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/performance/BUILD.gn
+1-11 files

LLVM/project 032f36bclang-tools-extra/clang-tidy/performance PreferSingleCharOverloadsCheck.cpp FasterStringFindCheck.cpp, clang-tools-extra/test/clang-tidy/checkers/performance faster-string-find.cpp prefer-single-char-overloads.cpp

[clang-tidy] Rename performance-faster-string-find to performance-prefer-single-char-overloads (#186946)

Related discussion:
https://github.com/llvm/llvm-project/pull/182697#issuecomment-3986242476
Closes https://github.com/llvm/llvm-project/issues/186853

---------

Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
DeltaFile
+0-153clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
+153-0clang-tools-extra/test/clang-tidy/checkers/performance/prefer-single-char-overloads.cpp
+97-0clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
+0-96clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.cpp
+0-44clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
+43-0clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.h
+293-2936 files not shown
+359-32912 files

LLVM/project c609da8compiler-rt CMakeLists.txt, flang-rt/cmake/modules AddFlangRT.cmake

restore rt
DeltaFile
+3-3compiler-rt/CMakeLists.txt
+1-1flang-rt/cmake/modules/AddFlangRT.cmake
+4-42 files

LLVM/project f5b1661llvm CMakeLists.txt, llvm/lib/IR DebugInfo.cpp Instructions.cpp

remove undefs
DeltaFile
+12-2llvm/CMakeLists.txt
+0-3llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
+0-3llvm/lib/IR/DebugInfo.cpp
+0-3llvm/lib/IR/Instructions.cpp
+0-3llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.cpp
+0-2mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
+12-168 files not shown
+12-2514 files

LLVM/project 38f57bfclang/lib/AST/ByteCode Interp.cpp

[clang][bytecode] Disable tailcalls on i386 (#189242)

Works around a build problem with GCC 15 reported in
https://github.com/llvm/llvm-project/pull/188419#issuecomment-4148497506
DeltaFile
+2-1clang/lib/AST/ByteCode/Interp.cpp
+2-11 files

LLVM/project 24a3a4fllvm/lib/Target/AMDGPU SIRegisterInfo.cpp, llvm/test/CodeGen/AMDGPU vgpr-spill.mir

simplify if statements
DeltaFile
+14-14llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+15-13llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
+29-272 files

LLVM/project bbc515dlldb/source/Plugins/DynamicLoader/FreeBSD-Kernel DynamicLoaderFreeBSDKernel.cpp

[lldb][FreeBSDKernel] Add missing error checks in DynamicLoader (#189250)

Add extra guards in case a call to function fails. For example, the
result of `ReadMemory()` cannot be trusted when `error.Fail()` is true,
and this change ensures the code executes properly according to the
value of the error.

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
DeltaFile
+6-3lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
+6-31 files

LLVM/project beeedc7clang/lib/Driver CMakeLists.txt, compiler-rt CMakeLists.txt

handle everything in UnityBuild.cmake
DeltaFile
+82-0llvm/cmake/modules/UnityBuild.cmake
+3-3compiler-rt/CMakeLists.txt
+0-5lldb/CMakeLists.txt
+0-5clang/lib/Driver/CMakeLists.txt
+0-5mlir/examples/toy/Ch5/CMakeLists.txt
+0-4mlir/examples/toy/Ch7/CMakeLists.txt
+85-2215 files not shown
+86-7221 files

LLVM/project 0a01f09lldb/include/lldb/Breakpoint BreakpointResolver.h

[lldb] Fix the return type of a function (NFC) (#189316)

The returned variable is of boolean type.
DeltaFile
+1-1lldb/include/lldb/Breakpoint/BreakpointResolver.h
+1-11 files

LLVM/project da0d0d4flang/lib/Lower/OpenMP ClauseProcessor.cpp, flang/test/Lower/OpenMP depend-iterator.f90

[Flang][OpenMP] Support iterator modifier in depend clause

Lower the iterator modifier on depend clause to omp.iterator.
Iterated depend objects emit `!omp.iterated<!llvm.ptr>` by using
`getDataOperandBaseAddr` to generate base address and
`genIteratorCoordinate` to get the addr+offset. The non-iterated objects
in depend clause still use existing lowering path.

This patch is part of feature work for #188061.

Assisted with copilot.
DeltaFile
+439-0flang/test/Lower/OpenMP/depend-iterator.f90
+63-14flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+0-10flang/test/Lower/OpenMP/Todo/depend-clause.f90
+502-243 files

LLVM/project ac2dce0llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc BUILD.gn

[gn build] Port 75eae603ff90
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
+1-01 files

LLVM/project 24e9bc7clang/test/CodeGenCoroutines coro-suspend-cleanups.cpp, llvm/lib/Transforms/Coroutines CoroFrame.cpp

Revert "[CoroSplit] Erase trivially dead allocas after spilling" (#189311)

I think I forgot to update the FrameData after erasing. I'll check it
locally.

Reverts llvm/llvm-project#189295
DeltaFile
+0-3llvm/lib/Transforms/Coroutines/CoroFrame.cpp
+2-0clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
+1-0llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
+1-0llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
+1-0llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
+5-35 files

LLVM/project 75eae60llvm/include/llvm/ExecutionEngine/Orc LinkGraphLinkingLayer.h, llvm/lib/ExecutionEngine/Orc LinkGraphLinkingLayer.cpp

[ORC] LinkGraphLinkingLayer::registerDependencies improvements. (#189298)

This commit moves the bulk of
LinkGraphLinkingLayer::registerDependencies into a new static method,
LinkGraphLinkingLayer::calculateDepGroups, where the behavior can be
unit tested.

The new method returns a list of LinkGraphLinkingLayer::SymbolDepGroups:

```
struct SymbolDepGroup {
  SmallVector<jitlink::Symbol*> Defs;
  DenseSet<jitlink::Symbol*> Deps;
};
```

The existing registerDependencies method converts these into
orc::SymbolDependenceGroups for registration with the ExecutionSession.


    [14 lines not shown]
DeltaFile
+633-0llvm/unittests/ExecutionEngine/Orc/LinkGraphLinkingLayerTest.cpp
+260-144llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
+11-1llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
+1-0llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
+905-1454 files

LLVM/project c963ce4clang-tools-extra/clang-tidy/readability ImplicitBoolConversionCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Diagnose NULL macro expansions in implicit-bool-conversion (#188694)

The check can't find `NULL` from system headers, this is not the default
behaviour we want. This commit fixes the problem.

https://clang-tidy.godbolt.org/z/Exd4bzqaT

Related discussion in:
https://github.com/llvm/llvm-project/pull/188399#discussion_r2985381743
DeltaFile
+9-5clang-tools-extra/docs/ReleaseNotes.rst
+4-2clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
+2-2clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
+2-2clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
+17-114 files

LLVM/project 448f2c6clang/test/CodeGenCoroutines coro-suspend-cleanups.cpp, llvm/lib/Transforms/Coroutines CoroFrame.cpp

Revert "[CoroSplit] Erase trivially dead allocas after spilling (#189295)"

This reverts commit 14e7dbd99a70258a0deb283785996f2e11be7e2b.
DeltaFile
+0-3llvm/lib/Transforms/Coroutines/CoroFrame.cpp
+2-0clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
+1-0llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
+1-0llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
+1-0llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
+5-35 files

LLVM/project 14e7dbdclang/test/CodeGenCoroutines coro-suspend-cleanups.cpp, llvm/lib/Transforms/Coroutines CoroFrame.cpp

[CoroSplit] Erase trivially dead allocas after spilling (#189295)

Erase these allocas so that they do not take up extra stack space at
-O0.

Close #57638
DeltaFile
+3-0llvm/lib/Transforms/Coroutines/CoroFrame.cpp
+0-2clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
+0-1llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
+0-1llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
+0-1llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
+3-55 files

LLVM/project 3e015b8llvm/test/Transforms/VectorCombine/LoongArch shuffle-identity-miscompile.ll lit.local.cfg

[NFC][test] Precommit test for pr188989 (#188667)

Precommit test for #188989.

This test case covers a scenario in the vector combine
foldShuffleToIdentity function where incorrect folding was caused when
different shuffle sequences shared the same initial Use *. This issue
may be due to cost model differences and currently reproduces only on
LoongArch for this test case.
DeltaFile
+22-0llvm/test/Transforms/VectorCombine/LoongArch/shuffle-identity-miscompile.ll
+4-0llvm/test/Transforms/VectorCombine/LoongArch/lit.local.cfg
+26-02 files

LLVM/project 7a78c3bllvm/lib/Target/X86 X86ISelLowering.cpp

[X86] Use EVT constructor instead of static_cast. NFC (#189051)
DeltaFile
+3-4llvm/lib/Target/X86/X86ISelLowering.cpp
+3-41 files