LLVM/project 998e8f4mlir/lib/CAPI/IR IR.cpp

[MLIR][CAPI] Fix duplicate output from mlirOperationPrintWithState (#174047)

Fixes an issue where, when supplied with an `MlirAsmState`,
`mlirOperationPrintWithState` prints the output twice, once with and
once without using the state.
DeltaFile
+2-1mlir/lib/CAPI/IR/IR.cpp
+2-11 files

LLVM/project be7edecllvm/lib/Target/RISCV/GISel RISCVInstructionSelector.cpp RISCVRegisterBankInfo.cpp, llvm/test/CodeGen/RISCV/GlobalISel/rvv vsetvli-intrinsics.ll

[RISCV][GISel] Support select vsetvli intrinsics (#174076)

DeltaFile
+153-0llvm/test/CodeGen/RISCV/GlobalISel/rvv/vsetvli-intrinsics.ll
+76-0llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
+11-0llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
+2-0llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+242-04 files

LLVM/project 791e8bbclang-tools-extra/clang-tidy/bugprone StdNamespaceModificationCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Don't diagnose simply opening a namespace like `std::chrono` in `std-namespace-modification`
DeltaFile
+10-8clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
+12-0clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification.cpp
+8-0clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/system-header-simulation.h
+6-0clang-tools-extra/docs/ReleaseNotes.rst
+36-84 files

LLVM/project d3960dbllvm/lib/Target/X86 X86ISelLowering.cpp

[X86] combineSelect - pull out repeated getOperand() calls. NFC. (#174164)

DeltaFile
+3-4llvm/lib/Target/X86/X86ISelLowering.cpp
+3-41 files

LLVM/project 62709a1mlir/include/mlir/Dialect/GPU/IR GPUOps.td, mlir/lib/Dialect/GPU/IR GPUDialect.cpp

[mlir][gpu] Fold `subgroup_broadcast(subgroup_broadcast(%val))` chains (#174159)

DeltaFile
+23-0mlir/test/Dialect/GPU/canonicalize.mlir
+8-0mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
+1-0mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
+32-03 files

LLVM/project c163e7allvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-exp.ll

[InstCombine] Explicitly mark select weights from e4722c6 as unknown (#174134)

We are trying to ensure that we explicitly annotate branch/select
weights as unknown when creating a select if we cannot reasonably infer
them to ensure branch weights are propagated as much as possible. (See

https://discourse.llvm.org/t/rfc-profile-information-propagation-unittesting/73595
for the original proposal).

e4772c6 introduced a new select that sometimes might be missing this
annotation. Mark the weights as unknown given we cannot reasonably infer
whether the value distribution here.
DeltaFile
+12-4llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
+7-2llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+0-1llvm/utils/profcheck-xfail.txt
+19-73 files

LLVM/project a0be472llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/PhaseOrdering/X86 pr48223.ll

[SLP] Support for copyables in the reduced values (#153589)

Currently reductions can handles only same/alternate instructions,
skipping potential support for copyables. Patch adds support for
copyables in the reduced values.

Recommit after revert in 1febc3f088ef444af378c0a90aaba2195c30472b
DeltaFile
+42-110llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
+23-126llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
+35-21llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
+47-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+20-16llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
+19-9llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
+186-28510 files not shown
+241-33816 files

LLVM/project d1b88callvm/cmake/modules AddLLVM.cmake HandleLLVMOptions.cmake, llvm/tools/llvm-config CMakeLists.txt

[CMake] Re-add -fno-rtti to llvm-config --cxxflags (#174084)

Fix for https://github.com/llvm/llvm-project/pull/173869.

If there's no strong reason, we should get rid of per-target RTTI later.
DeltaFile
+5-11llvm/cmake/modules/AddLLVM.cmake
+12-3llvm/cmake/modules/HandleLLVMOptions.cmake
+7-5llvm/tools/llvm-config/CMakeLists.txt
+24-193 files

LLVM/project cd470ddllvm/test/Transforms/LoopVectorize iv-select-cmp.ll

[LV] Add test selecting negated IVs (NFC).

Extend test coverage for selecting inductions.
DeltaFile
+238-2llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
+238-21 files

LLVM/project 2b432dcflang/include/flang/Parser message.h, flang/lib/Evaluate check-expression.cpp

[flang] Fix two bugs with new warnings (#174153)

The new Severity::ErrorUnlessDeadCode message severity isn't always
considered to be fatal. Consolidate the "is this severity fatal?" logic
into one place.

Some instances in semantics that note variable definitions were
conditional on the symbol being a function result, since only the
"function result was never defined" warning needed to know about them.
Make them note all defined symbols.
DeltaFile
+11-8flang/include/flang/Parser/message.h
+5-12flang/lib/Parser/message.cpp
+2-8flang/lib/Semantics/check-call.cpp
+2-2flang/test/Semantics/bug171844.f90
+1-1flang/lib/Semantics/resolve-names.cpp
+1-1flang/lib/Evaluate/check-expression.cpp
+22-326 files

LLVM/project 8e5834dmlir/include/mlir/Interfaces ControlFlowInterfaces.h ControlFlowInterfaces.td, mlir/lib/Dialect/SCF/IR SCF.cpp

[mlir][draft] Consolidate patterns into RegionBranchOpInterface patterns

fix some tests

reorganize code
DeltaFile
+17-813mlir/lib/Dialect/SCF/IR/SCF.cpp
+481-0mlir/lib/Interfaces/ControlFlowInterfaces.cpp
+11-13mlir/test/Dialect/SCF/canonicalize.mlir
+9-0mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
+4-4mlir/test/Transforms/remove-dead-values.mlir
+5-0mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+527-8306 files

LLVM/project 182d9a3clang/include/clang/Sema SemaX86.h SemaRISCV.h, clang/lib/Sema SemaX86.cpp SemaRISCV.cpp

[Clang] Use valid source loc for empty target_clones diagnostic (#173747)

For X86 and RISCV checking of target_clones attribute arguments
attempted to use the location of the first argument for diagnosing a
missing default argument.

However, if the argument list is empty, then this location doesn't exist
and causes an assertion.

This commit passes the location of the attribute itself to the
target-specific validation function in the case of X86 and RISCV in
order to provide a usable location for this diagnostic.

Fixes #173684

---

I am not sure whether this is intentional, but for AArch64 the
validation does not emit a diagnostic for missing `"default"` argument.

    [2 lines not shown]
DeltaFile
+5-4clang/lib/Sema/SemaX86.cpp
+8-0clang/test/Sema/attr-target-clones.c
+7-0clang/test/SemaCXX/attr-target-clones-riscv.cpp
+4-3clang/lib/Sema/SemaRISCV.cpp
+4-3clang/include/clang/Sema/SemaX86.h
+4-3clang/include/clang/Sema/SemaRISCV.h
+32-132 files not shown
+37-158 files

LLVM/project 23e3e31mlir/lib/Bindings/Python DialectQuant.cpp DialectLLVM.cpp, mlir/test/python/dialects pdl_types.py

[mlir][Python] port dialect extensions to use core PyConcreteType, PyConcreteAttribute
DeltaFile
+454-355mlir/lib/Bindings/Python/DialectQuant.cpp
+164-133mlir/lib/Bindings/Python/DialectLLVM.cpp
+125-109mlir/lib/Bindings/Python/DialectSparseTensor.cpp
+141-89mlir/lib/Bindings/Python/DialectTransform.cpp
+134-72mlir/lib/Bindings/Python/DialectPDL.cpp
+103-100mlir/test/python/dialects/pdl_types.py
+1,121-8585 files not shown
+1,386-1,01211 files

LLVM/project dca074aclang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp, clang/test/CIR/CodeGenBuiltins builtin_bit.cpp

[CIR] Match codegen change on __builtin_clrsb expansion

- 0bc6491da0c827ce94bd8fa852422eaafe6c39e7 adds the `nuw` flag during
  __builtin_clrsb expansion. Match that change in CIR.
DeltaFile
+6-6clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
+2-1clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+8-72 files

LLVM/project 72022abllvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-shufflevector.ll

InstCombine: Rudimentary support of shufflevector in SimplifyDemandedFPClass (#174101)

This should look more like the computeKnownFPClass handling, with
knowledge of demanded vector elements.
DeltaFile
+269-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
+11-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+280-02 files

LLVM/project d0d3d63mlir/include/mlir/Interfaces ControlFlowInterfaces.td ControlFlowInterfaces.h, mlir/lib/Dialect/SCF/IR SCF.cpp

[mlir][draft] Consolidate patterns into RegionBranchOpInterface patterns

fix some tests

reorganize code
DeltaFile
+17-813mlir/lib/Dialect/SCF/IR/SCF.cpp
+293-0mlir/lib/Interfaces/ControlFlowInterfaces.cpp
+11-13mlir/test/Dialect/SCF/canonicalize.mlir
+9-0mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
+9-0mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
+4-4mlir/test/Transforms/remove-dead-values.mlir
+343-8306 files

LLVM/project 777c729mlir/include/mlir/Transforms Passes.td Passes.h, mlir/lib/Transforms RemoveDeadValues.cpp

tmp commit

simple test working

draft: do not erase IR, just replace uses
DeltaFile
+179-332mlir/lib/Transforms/RemoveDeadValues.cpp
+110-45mlir/test/Transforms/remove-dead-values.mlir
+10-0mlir/include/mlir/Transforms/Passes.td
+1-0mlir/include/mlir/Transforms/Passes.h
+300-3774 files

LLVM/project c6ed9f7mlir/include/mlir/IR PatternMatch.h, mlir/lib/Dialect/SCF/IR SCF.cpp

[mlir][IR][NFC] Add `RewriterBase::eraseOpResults` convenience helper
DeltaFile
+55-131mlir/lib/Dialect/SCF/IR/SCF.cpp
+36-0mlir/lib/IR/PatternMatch.cpp
+3-28mlir/lib/Transforms/RemoveDeadValues.cpp
+6-0mlir/include/mlir/IR/PatternMatch.h
+100-1594 files

LLVM/project 5bfdb45flang/lib/Support Fortran-features.cpp, llvm/test/CodeGen/NVPTX tensormap_replace_sm_103a.ll

Merge branch 'main' into users/arsenm/instcombine/handle-shufflevector-simplifydemandedfpclass
DeltaFile
+1-1llvm/test/CodeGen/NVPTX/tensormap_replace_sm_103a.ll
+0-1flang/lib/Support/Fortran-features.cpp
+1-22 files

LLVM/project 410ec6dflang/lib/Support Fortran-features.cpp

[flang] Disable new -Wused-undefined-variable warning by default (#174151)

The new warning about local variables that are used without possible
being defined or initialized may be generating some false positives;
disable it by default for now.
DeltaFile
+0-1flang/lib/Support/Fortran-features.cpp
+0-11 files

LLVM/project 025d74dllvm/test/CodeGen/NVPTX tensormap_replace_sm_103a.ll

[NVPTX] Add proper precondition in tensormap_replace_sm_103a test (#174144)

Fixes 14b1d770db7f9ee49693063ad851215dede0766e.
DeltaFile
+1-1llvm/test/CodeGen/NVPTX/tensormap_replace_sm_103a.ll
+1-11 files

LLVM/project 1febc3fllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/PhaseOrdering/X86 pr48223.ll

Revert "[SLP] Support for copyables in the reduced values (#153589)"

This reverts commit 831bb12a30dbbbf69930c11846a7b62b33e0f0db to fix
buildbot https://lab.llvm.org/buildbot/#/builders/224/builds/1205
DeltaFile
+110-42llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
+126-23llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
+21-35llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
+3-45llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+16-20llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
+9-19llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
+285-18410 files not shown
+338-23916 files

LLVM/project 831bb12llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/PhaseOrdering/X86 pr48223.ll

[SLP] Support for copyables in the reduced values (#153589)

Currently reductions can handles only same/alternate instructions,
skipping potential support for copyables. Patch adds support for
copyables in the reduced values.
DeltaFile
+42-110llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
+23-126llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
+35-21llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
+45-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+20-16llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
+19-9llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
+184-28510 files not shown
+239-33816 files

LLVM/project 6ac8facmlir/include/mlir/Transforms Passes.td Passes.h, mlir/lib/Transforms RemoveDeadValues.cpp

tmp commit

simple test working

draft: do not erase IR, just replace uses
DeltaFile
+188-335mlir/lib/Transforms/RemoveDeadValues.cpp
+110-45mlir/test/Transforms/remove-dead-values.mlir
+10-0mlir/include/mlir/Transforms/Passes.td
+1-0mlir/include/mlir/Transforms/Passes.h
+309-3804 files

LLVM/project 2de1c9flibcxx/docs/Status Cxx2cIssues.csv, libcxx/include optional

Merge branch 'main' into users/arsenm/instcombine/handle-shufflevector-simplifydemandedfpclass
DeltaFile
+36-12libcxx/include/optional
+40-0libcxx/test/std/utilities/optional/optional.relops/relops.compile.pass.cpp
+1-1libcxx/docs/Status/Cxx2cIssues.csv
+1-0utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
+78-134 files

LLVM/project c94ddeallvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass-insertelement.ll

InstCombine: Basic insertelement support for SimplifyDemandedFPClass (#174100)

Eventually this should pull up the known elements logic from
computeKnownFPClass.
DeltaFile
+187-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
+10-0llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+197-02 files

LLVM/project 6561f39llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll

InstCombine: Fix defining undef constant vector elts in SimplifyDemandedFPClass (#174074)

Fold constants of known single class to the original constant instead of
a new constant. This avoids overdefining vector elements that were
originally undefined with the splat constant.
DeltaFile
+29-0llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+12-2llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+41-22 files

LLVM/project 765b64butils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy BUILD.bazel

[bazel] Port 92f16356340d230f04e67d9d7b8f3d91b9f0513b
DeltaFile
+1-0utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
+1-01 files

LLVM/project 222dcb3mlir/include/mlir/Dialect/SparseTensor/IR SparseTensorOps.td, mlir/include/mlir/Interfaces ControlFlowInterfaces.h

reorganize code
DeltaFile
+11-275mlir/lib/Dialect/SCF/IR/SCF.cpp
+282-0mlir/lib/Interfaces/ControlFlowInterfaces.cpp
+17-17mlir/test/Dialect/SparseTensor/sparse_out.mlir
+8-8mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
+3-4mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
+7-0mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
+328-3041 files not shown
+331-3077 files

LLVM/project 75522acmlir/include/mlir/Interfaces ControlFlowInterfaces.h, mlir/lib/Dialect/SCF/IR SCF.cpp

reorganize code
DeltaFile
+11-275mlir/lib/Dialect/SCF/IR/SCF.cpp
+281-0mlir/lib/Interfaces/ControlFlowInterfaces.cpp
+17-17mlir/test/Dialect/SparseTensor/sparse_out.mlir
+8-8mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
+7-0mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
+3-3mlir/test/Dialect/Vector/vector-warp-distribute.mlir
+327-3036 files