LLVM/project d8d6456flang/include/flang/Optimizer/Dialect CMakeLists.txt

[Flang][Doc] Specify dialect for ops doc (#182506)

DeltaFile
+1-1flang/include/flang/Optimizer/Dialect/CMakeLists.txt
+1-11 files

LLVM/project 5f5d27dlibc/shared rpc_dispatch.h rpc_util.h, offload/test/libc rpc_callback.cpp

[libc] Support array tags in the RPC dispatch helpers (#181395)

Summary:
This PR adds support for tagging a pointer as an array when marshaling
between the CPU and GPU.
DeltaFile
+75-59libc/shared/rpc_dispatch.h
+28-9libc/shared/rpc_util.h
+24-1offload/test/libc/rpc_callback.cpp
+127-693 files

LLVM/project 0cee8dcllvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp LegalizeIntegerTypes.cpp, llvm/test/CodeGen/RISCV ctselect-fallback.ll

[ConstantTime] Changed CTSELECT instances to CT_SELECT
DeltaFile
+14-14llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+11-11llvm/test/CodeGen/X86/ctselect.ll
+9-9llvm/test/CodeGen/RISCV/ctselect-fallback.ll
+7-7llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+6-6llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+6-6llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+53-5313 files not shown
+74-8019 files

LLVM/project acc15fbllvm/lib/Analysis CMakeLists.txt

[CMake][LLVM] Disable PCH on MSVC for file with custom flags

See: https://github.com/llvm/llvm-project/pull/176420
DeltaFile
+2-0llvm/lib/Analysis/CMakeLists.txt
+2-01 files

LLVM/project 20dba97llvm/lib/Target/AMDGPU AMDGPU.td GCNSubtarget.h, llvm/test/CodeGen/AMDGPU si-pre-allocate-wwm-regs.mir

[AMDGPU] Add target features to guard DPP controls (#182391)

This patch adds target features:
- `+dpp-wavefront-shifts`, for DPP `wave_shl/rol/shr/ror`
- `+dpp-row-bcast`, for DPP `row_bcast15/31`

These DPP controls are not available in gfx10+, so these target features
enable `AMDGPURemoveIncompatibleFunctions` to remove functions that rely
on these controls when compiling for newer GPUs.
DeltaFile
+11-2llvm/lib/Target/AMDGPU/AMDGPU.td
+4-4llvm/test/CodeGen/AMDGPU/si-pre-allocate-wwm-regs.mir
+0-6llvm/lib/Target/AMDGPU/GCNSubtarget.h
+2-2llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+2-0llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
+19-145 files

LLVM/project f414c72clang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeSafety.h, clang/include/clang/Basic DiagnosticGroups.td DiagnosticSemaKinds.td

Reorganise permissive and strict diagnostic groups
DeltaFile
+59-12clang/include/clang/Basic/DiagnosticGroups.td
+10-15clang/lib/Sema/AnalysisBasedWarnings.cpp
+9-12clang/include/clang/Basic/DiagnosticSemaKinds.td
+9-9clang/test/Sema/warn-lifetime-safety.cpp
+2-0clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
+89-485 files

LLVM/project 32d5e54llvm/include/llvm/Support GenericDomTreeConstruction.h, llvm/unittests/Analysis DomTreeUpdaterTest.cpp

domtree
DeltaFile
+220-0llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
+5-2llvm/include/llvm/Support/GenericDomTreeConstruction.h
+225-22 files

LLVM/project f7e1b42llvm/include/llvm/Support GenericDomTreeConstruction.h

[NFC] `clang-format` GenericDomTreeConstruction.h
DeltaFile
+88-65llvm/include/llvm/Support/GenericDomTreeConstruction.h
+88-651 files

LLVM/project 98f0b6fclang/include/clang/AST Expr.h

[Clang][AST][NFC] Correct Comment in GenericSelectionExpr (#180850)

Correct a misleading comment about the number/type of trailing objects
in the GenericSelectionExpr.
DeltaFile
+8-6clang/include/clang/AST/Expr.h
+8-61 files

LLVM/project e9c658flldb/test/Shell/SymbolFile/DWARF delayed-definition-die-searching.test

[lldb][test] delayed-definition-die-searching.test: compile without simple template names

Fails on Darwin after we made `-gsimple-template-names` the default (in https://github.com/llvm/llvm-project/pull/182297):
```
13:42:19  | # CHECK: DWARFASTParserClang::ParseTypeFromDWARF{{.*}}DW_TAG_structure_type (DW_TAG_structure_type) name = 't2<t1>'
13:42:19  |          ^
13:42:19  | <stdin>:9:12: note: scanning from here
13:42:19  | (lldb) p v1
13:42:19  |            ^
13:42:19  | <stdin>:10:278: note: possible intended match here
13:42:19  |  (arm64) /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/tools/lldb/test/Shell/SymbolFile/DWARF/Output/delayed-definition-die-searching.test.tmp.out: DWARFASTParserClang::ParseTypeFromDWARF (die = 0x0000000000000037, decl_ctx = 0x0000000B723D2030 (die 0x000000000000000c)) DW_TAG_structure_type (DW_TAG_structure_type) name = 't2')
13:42:19  |
```

This just checks the delayed definition search. It used to always run without `-gsimple-template-names`, so we're not losing coverage here. Also the failure is expected with `-gsimple-template-names` because the DIE name no longer include template parameters. I didn't want to make the `CHECK` less strict because it useful to check that the types being resolved are the correct instantiations.
DeltaFile
+1-1lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
+1-11 files

LLVM/project 21e1a30llvm/cmake/modules HandleLLVMOptions.cmake

Re-enable MSVC C4091 diagnostic; NFC (#182500)

From MSDN:

https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4091?view=msvc-170

> 'keyword': ignored on left of 'type' when no variable is declared

This diagnostic was disabled in 0cba642a05ad0675f313e55fce29ce5273340a59
because the diagnostic was being hit in system headers under MSVC 2015.
That no longer appears to be the case from my local testing; this
diagnostic does not appear to be emitted.
DeltaFile
+0-1llvm/cmake/modules/HandleLLVMOptions.cmake
+0-11 files

LLVM/project d3443fdllvm/test/Analysis/DependenceAnalysis exact-rdiv-addrec-wrap.ll weak-crossing-siv-addrec-wrap.ll

[DA] Add tests for dependencies are missed due to addrecs wrap (NFC) (#179683)

Add test cases where dependencies are missed since nowrap properties of
addrecs are not checked properly. This patch doesn't contain test cases
for the MIV tests.
DeltaFile
+79-0llvm/test/Analysis/DependenceAnalysis/exact-rdiv-addrec-wrap.ll
+78-0llvm/test/Analysis/DependenceAnalysis/weak-crossing-siv-addrec-wrap.ll
+71-0llvm/test/Analysis/DependenceAnalysis/exact-siv-addrec-wrap.ll
+71-0llvm/test/Analysis/DependenceAnalysis/strong-siv-addrec-wrap.ll
+69-0llvm/test/Analysis/DependenceAnalysis/symbolic-rdiv-addrec-wrap.ll
+368-05 files

LLVM/project c23d840llvm/lib/Transforms/Scalar LoopInterchange.cpp

address review comments
DeltaFile
+16-2llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+16-21 files

LLVM/project 044ff0fllvm/cmake/modules HandleLLVMOptions.cmake

Re-enable MSVC C4204 diagnostic; NFC (#182491)

From MSDN:

https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4204?view=msvc-170

> nonstandard extension used : non-constant aggregate initializer

This is an ANSI compatibility diagnostic which isn't useful for us to
disable. In my local testing, this diagnostic is not emitted.
DeltaFile
+0-1llvm/cmake/modules/HandleLLVMOptions.cmake
+0-11 files

LLVM/project 95a960dllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 compare-node-with-reuses.ll

[SLP]Do not convert inversed cmp nodes, if they reordered/reused

If the cmp node with inversed compares must be reordered/shuffled with
the reuses, disable transformation for such nodes for now, they require
some special processing.

Fixes https://github.com/llvm/llvm-project/pull/181580#issuecomment-3933026221
DeltaFile
+3-2llvm/test/Transforms/SLPVectorizer/X86/compare-node-with-reuses.ll
+2-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-22 files

LLVM/project 21b3461flang-rt/lib/runtime io-api-server.cpp io-api-gpu.cpp, offload/plugins-nextgen/common/src RPC.cpp

[flang-rt] Implement basic support for I/O from OpenMP GPU Offloading (#181039)

Summary:
This PR provides the minimal support for Fortran I/O coming from a GPU
in OpenMP offloading. We use the same support the `libc` uses for its
printing through the RPC server. The helper functions `rpc::dispatch`
and `rpc::invoke` help make this mostly automatic.

Becaus Fortran I/O is not reentrant, the vast majority of complexity
comes from needing to stitch together calls from the GPU until they can
be executed all at once. This is needed not only because of the
limitations of recursive I/O, but without this the output would all be
interleaved because of the GPU's lock-step execution.

As such, the return values from the intermediate functions are
meaningless, all returning true. The final value is correct however. For
cookies we create a context pointer on the server to chain these
together.


    [23 lines not shown]
DeltaFile
+269-0flang-rt/lib/runtime/io-api-server.cpp
+99-0flang-rt/lib/runtime/io-api-gpu.cpp
+59-0flang-rt/lib/runtime/array.h
+39-0flang-rt/lib/runtime/io-api-gpu.h
+27-0offload/test/offloading/fortran/io.f90
+10-0offload/plugins-nextgen/common/src/RPC.cpp
+503-07 files not shown
+531-613 files

LLVM/project 78e19e9flang/test/Lower/forall forall-construct-3.f90 forall-construct-2.f90

[flang][NFC] Converted five tests from old lowering to new lowering (part 18) (#182439)

Tests converted from test/Lower/forall: forall-allocatable.f90,
forall-allocatable-2.f90, forall-array.f90, forall-construct-2.f90,
forall-construct-3.f90
DeltaFile
+87-137flang/test/Lower/forall/forall-construct-3.f90
+75-109flang/test/Lower/forall/forall-construct-2.f90
+40-43flang/test/Lower/forall/forall-array.f90
+33-36flang/test/Lower/forall/forall-allocatable.f90
+31-37flang/test/Lower/forall/forall-allocatable-2.f90
+266-3625 files

LLVM/project 773d775llvm/cmake/modules HandleLLVMOptions.cmake

Re-enable MSVC C4610 diagnostic; NFC (#182489)

From MSDN:

https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4610?view=msvc-170

> object 'class' can never be instantiated - user-defined constructor
> required

This is a useful diagnostic in general and enabling it locally caused no
build failures.
DeltaFile
+0-1llvm/cmake/modules/HandleLLVMOptions.cmake
+0-11 files

LLVM/project 1d213cemlir/include/mlir/Dialect/Tosa/IR TosaComplianceData.h.inc, mlir/lib/Dialect/Tosa/Transforms TosaProfileCompliance.cpp

[mlir][tosa] Update link to TOSA specification (#181995)

Updates URL to the new location of the specification repository.
DeltaFile
+1-1mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+1-1mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
+2-22 files

LLVM/project eeb6b39mlir/include/mlir/Dialect/Vector/TransformOps VectorTransformOps.td, mlir/include/mlir/Dialect/Vector/Transforms LoweringPatterns.h

[mlir][vector] remove lower_multi_reduction (#182332)

* Removes `ApplyLowerMultiReductionPatternsOp`
(`apply_patterns.vector.lower_multi_reduction`)
* Updates uses of `apply_patterns.vector.lower_multi_reduction` in tests
to use:
  *  reorder_and_expand_multi_reduction_dims
  * multi_reduction_flattening
   * multi_reduction_unrolling
* Removes `populateVectorMultiReductionLoweringPatterns` (unused)
DeltaFile
+0-20mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
+0-15mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
+0-13mlir/test/python/dialects/transform_vector_ext.py
+0-12mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
+0-9mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
+3-1mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/reduce_1d.mlir
+3-704 files not shown
+15-7410 files

LLVM/project ed3084fclang/docs OverflowBehaviorTypes.rst, llvm/lib/CodeGen Rematerializer.cpp

Merge branch 'main' into users/kparzysz/depth-clause
DeltaFile
+1,178-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
+832-0clang/docs/OverflowBehaviorTypes.rst
+5-821llvm/test/MC/AArch64/armv9a-sysp.s
+789-0llvm/lib/CodeGen/Rematerializer.cpp
+748-0llvm/test/MC/AArch64/armv9a-tlbip.s
+172-444llvm/test/CodeGen/X86/cmov-fp.ll
+3,724-1,265776 files not shown
+25,911-7,371782 files

LLVM/project 58ac25emlir/lib/Dialect/AMDGPU/Transforms FoldMemRefsOps.cpp, mlir/test/Dialect/AMDGPU amdgpu-fold-memrefs.mlir

[AMDGPU] Add GatherToLDS async flag back in FoldMemRefOpsIntoGatherToLDSOp (#182364)

I discovered that async flag on GatherToLDS op got dropped going through
the lowering pipeline so adding it back as it should.
DeltaFile
+22-0mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
+3-3mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
+25-32 files

LLVM/project 457b949llvm/cmake/modules HandleLLVMOptions.cmake

[NFC] Re-enable* MSVC C4503 diagnostic (#182049)

From MSDN:

https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4503?view=msvc-170

> This compiler warning is obsolete and is not generated in Visual
> Studio 2017 and later compilers.

We require at least MSVC 2019 at this point, so no need to keep
suppressing this diagnostic. So this "re-enables" it, even though it
provides no value.
DeltaFile
+0-1llvm/cmake/modules/HandleLLVMOptions.cmake
+0-11 files

LLVM/project a2223c4llvm/include/llvm/Support AutoConvert.h, llvm/lib/Support AutoConvert.cpp raw_ostream.cpp

[SystemZ][z/OS] Preserve filetag when rewriting files (#181733)

This patch preserves the file tags on z/OS
DeltaFile
+18-2llvm/lib/Support/AutoConvert.cpp
+10-0llvm/include/llvm/Support/AutoConvert.h
+7-0llvm/lib/Support/raw_ostream.cpp
+35-23 files

LLVM/project e0f2b1bllvm/lib/Target/AMDGPU VOP3Instructions.td VOP1Instructions.td, llvm/test/CodeGen/AMDGPU convergent.mir wmma-gfx12-convergent.mir

[AMDGPU] Ensure all PERMLANE instructions are marked as convergent (#182162)

All PERMLANE instructions in AMDGPUGenInstrInfo.inc were verified to now
be marked as convergent. This is necessary to prevent PERMLANE
instructions from being incorrectly sunk by machine-sink.

---------

Signed-off-by: John Lu <John.Lu at amd.com>
DeltaFile
+489-0llvm/test/CodeGen/AMDGPU/convergent.mir
+0-191llvm/test/CodeGen/AMDGPU/wmma-gfx12-convergent.mir
+7-3llvm/lib/Target/AMDGPU/VOP3Instructions.td
+2-0llvm/lib/Target/AMDGPU/VOP1Instructions.td
+498-1944 files

LLVM/project ac23bf6llvm/lib/Transforms/Vectorize LoopIdiomVectorize.cpp, llvm/test/Transforms/LoopIdiom/AArch64 disable-vectorize.ll

[LoopIdiomVectorize] Bail when vectorization is disabled (#181142)

Bail on vectorizing a loop in LoopIdiomVectorize when the loop carries
hints that indicate vectorization is disabled.

This means that LoopIdiomVectorize will now respect vectorize(disable)
loop hints.
DeltaFile
+390-0llvm/test/Transforms/LoopIdiom/AArch64/disable-vectorize.ll
+39-4llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
+429-42 files

LLVM/project 8c583bdllvm/cmake/modules AddLLVM.cmake

[CMake] Disable PCH for targets with Objective-C srcs

Avoid Clang errors:

error: Objective-C was disabled in PCH file but is currently enabled
DeltaFile
+16-10llvm/cmake/modules/AddLLVM.cmake
+16-101 files

LLVM/project f4d4217clang AreaTeamMembers.txt

Update Clang Area Team members list (#182488)

DeltaFile
+8-3clang/AreaTeamMembers.txt
+8-31 files

LLVM/project f5889e5llvm/test/CodeGen/AMDGPU llvm.amdgcn.image.sample.g16.a16.dim.ll, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.image.atomic.dim.a16.ll llvm.amdgcn.image.load.3d.a16.ll

AMDGPU/GlobalISel: Regbanklegalize rules for INTRIN_IMAGE (#179810)

Regbanklegalize rules for INTRIN_IMAGE loads and stores.
Because of very large number of different type signatures, rule specifies
only function for lowering (waterfall lowering of RsrcIdx operand if needed)
and this function also applies register banks.
DeltaFile
+268-52llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
+128-112llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
+114-50llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
+78-84llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
+58-70llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
+86-36llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.a16.dim.ll
+732-40428 files not shown
+1,085-53234 files

LLVM/project 52bf560clang/include/clang/Driver ToolChain.h, clang/lib/Driver/ToolChains Clang.cpp Darwin.cpp

[clang][Driver][Darwin] Turn on -gsimple-template-names for Darwin by default (#182297)

Enables `-gsimple-template-names=simple` when targeting recent Apple
platforms (26 or later, except `DriverKit` which is at 25). Those are
platforms where the associated LLDB is capable of debugging
`simple-template-names` debug-info.

The two main affects on debug-info are:
1. forward declarations for structures now have
`DW_TAG_type_template_parameter`s (since this is required to reconstruct
the template names if just given a forward declaration
2. `DW_AT_name` of templates will not include template parameters
anymore (except for a few cases where the name is not reconstitutible
from the template parameter DIE names)

While the `.debug_str` section is reduced in size (due to shorter
`DW_AT_name`s), this is somewhat offset by having to include template
parameter DIEs on forward declarations.
DeltaFile
+20-10clang/lib/Driver/ToolChains/Clang.cpp
+18-3clang/test/Driver/debug-options.c
+15-0clang/lib/Driver/ToolChains/Darwin.cpp
+4-0clang/include/clang/Driver/ToolChain.h
+2-0clang/lib/Driver/ToolChains/Darwin.h
+1-1clang/test/DebugInfo/CXX/fn-template.cpp
+60-146 files