SuccessChanges

Summary

  1. [SVE] Eliminate calls to default-false VectorType::get() from SystemZ (details)
  2. [LSR][SCEVExpander] Avoid blind cast 'Factor' to SCEVConstant in FactorOutConstant. (details)
  3. [TRE] Allow accumulator elimination when base case returns non-constant (details)
  4. [lldb] Fix SLEB128 decoding (details)
  5. Make regcoal_remat_empty_subrange.ll test require asserts build. (details)
  6. Disable this test for Windows. (details)
  7. [AArch64][GlobalISel] Move GlobalISel source files to a dedicated subdir. (details)
  8. [mlir][gpu] Add subgroup Id/Size/Num to GPU dialect (details)
  9. [NFC] Temporarily disable check for 'uglygep' while investigating some buildbot failure. (details)
  10. [gn build] Port 49a4f3f7d88 (details)
  11. [gn build] Port 6756a2c9533 (details)
  12. [gn build] Port 69fa84a6e95 (details)
  13. [gn build] Port ba2a01645b5 (details)
  14. [gn build] Port c973ad1878f (details)
  15. [gn build] Port e53f5580578 (details)
  16. [libc++] Avoid warning for large types with std::atomic in the test suite (details)
  17. Propose naming principle for NodeRole and apply it (details)
  18. [docs] Fix self-contradictory description of llvm_unreachable (details)
  19. [InstCombine] move vector select ahead of select-shuffle (details)
  20. [PGO] Enable the working set size scaling under the partial sample PGO. (details)
  21. [flang] avoid GCC < 8 compiler failure after D80794 (details)
Commit c2625f330f48f42b44727f4fdf13a688c9fecc8f by ctetreau
[SVE] Eliminate calls to default-false VectorType::get() from SystemZ

Reviewers: efriedma, jnspaulsson, kmclaughlin, sdesmalen, samparker, uweigand

Reviewed By: uweigand

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80329
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
Commit bd43f78c76632a5c19745e5db2d02c2806c66bfe by huihuiz
[LSR][SCEVExpander] Avoid blind cast 'Factor' to SCEVConstant in FactorOutConstant.

Summary:
In SCEVExpander FactorOutConstant(), when GEP indexing into/over scalable vector,
it is legal for the 'Factor' in a MulExpr to be the size of a scalable vector
instead of a compile-time constant.

Current upstream crash with the test attached.

Reviewers: efriedma, sdesmalen, sanjoy.google, mkazantsev

Reviewed By: efriedma

Subscribers: hiraditya, javed.absar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80973
The file was addedllvm/test/Transforms/LoopStrengthReduce/vscale-factor-out-constant.ll
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit 7381fcdf6200b7e91d951ff34d82aac8010d0a66 by efriedma
[TRE] Allow accumulator elimination when base case returns non-constant

Remove the requirement, that when performing accumulator elimination,
all other cases must return the same dynamic constant. We can do this by
initializing the accumulator with the identity value of the accumulation
operation, and inserting an additional operation before any return.

Differential Revision: https://reviews.llvm.org/D80844
The file was modifiedllvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
The file was modifiedllvm/test/Transforms/TailCallElim/accum_recursion.ll
Commit 476f520a0bd29d74f559ea1151ac8d0b428d9150 by jan.kratochvil
[lldb] Fix SLEB128 decoding

Bug 46181 shows SLEB128 0xED9A924C00011151 decoded as 0xffffffff80011151.
        LLDB show a wrong value for function argument
        https://bugs.llvm.org/show_bug.cgi?id=46181

Differential Revision: https://reviews.llvm.org/D81119
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_variable-DW_AT_const_value.s
The file was modifiedlldb/source/Utility/DataExtractor.cpp
The file was modifiedlldb/unittests/Utility/DataExtractorTest.cpp
Commit fcc199d6967b93ed5b8c5f369a31a6817a02c4af by hans
Make regcoal_remat_empty_subrange.ll test require asserts build.

The -stress-sched flag is only available when asserts are enabled.
The file was modifiedllvm/test/CodeGen/SystemZ/regcoal_remat_empty_subrange.ll
Commit a976a7fcae44ed5ca9e4f13735a4f91378169282 by jingham
Disable this test for Windows.

The printf expression crashes with the message:

Attempted to dereference an invalid pointer

Someone who knows more about Windows should suggest how to fix this.
The file was modifiedlldb/test/API/functionalities/thread/state_after_expression/TestStateAfterExpression.py
Commit e53f558057846760c77f5f2b9967104516a207d7 by Amara Emerson
[AArch64][GlobalISel] Move GlobalISel source files to a dedicated subdir.

Differential Revision: https://reviews.llvm.org/D81116
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was addedllvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
The file was addedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was addedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.h
The file was removedllvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
The file was removedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
The file was addedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was removedllvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
The file was addedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
The file was removedllvm/lib/Target/AArch64/AArch64LegalizerInfo.h
The file was removedllvm/lib/Target/AArch64/AArch64PostLegalizerCombiner.cpp
The file was removedllvm/lib/Target/AArch64/AArch64CallLowering.h
The file was removedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was addedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was addedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit 661235e1267c389a7d56023da7fcb036468ecfda by thomasraoux
[mlir][gpu] Add subgroup Id/Size/Num to GPU dialect

Add SubgroupId, SubgroupSize and NumSubgroups to GPU dialect ops and add the
lowering of those ops to SPIRV.

Differential Revision: https://reviews.llvm.org/D81042
The file was modifiedmlir/test/Conversion/GPUToSPIRV/builtins.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/test/Dialect/GPU/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp
Commit f7f1abdb8893af4a606ca1a8f5347a426e9c7f9e by huihuiz
[NFC] Temporarily disable check for 'uglygep' while investigating some buildbot failure.

The purpose of vscale-factor-out-constant.ll is to check we are crashing
with blind cast 'Factor' in a MulExpr to SCEVConstant.
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/vscale-factor-out-constant.ll
Commit 9034dc9c59d550c2d0dd06129dc5592fecea0eae by llvmgnsyncbot
[gn build] Port 49a4f3f7d88
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit 48a50fcc9a7186c1d69fb03cc63bd08b716ffa4c by llvmgnsyncbot
[gn build] Port 6756a2c9533
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit 3a4bf99f0b43db19cda642a3c587b543b044edc7 by llvmgnsyncbot
[gn build] Port 69fa84a6e95
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit 60c2fee426d8a49bb9483992898226a6f999dbf5 by llvmgnsyncbot
[gn build] Port ba2a01645b5
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit 5c55033dcec47b0b6176140b209af3e64dc10ec3 by llvmgnsyncbot
[gn build] Port c973ad1878f
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit 8b5ee3b9b6a6867d70bb537f74b2063bbfa2e699 by llvmgnsyncbot
[gn build] Port e53f5580578
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit cc78f1e0feee7505f9c1ef6b2c4c307267466e4a by Louis Dionne
[libc++] Avoid warning for large types with std::atomic in the test suite

It is legitimate for the test suite to use types that are slow to use
with std::atomic, since we need coverage for those too. If we don't
disable the warning, it is promoted to an error, which prevents us
from testing such types.
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 42f6fec3878d708f2791ab0be3a060b07dac9d76 by gribozavr
Propose naming principle for NodeRole and apply it

Reviewers: gribozavr2

Reviewed By: gribozavr2

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81157
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
Commit 5f5d972d83ee80e9c319b61ee6a4b4704f4557dc by Jan Korous
[docs] Fix self-contradictory description of llvm_unreachable

Just two paragraphs above it says:
"If the compiler does not support this [skipping code generation for a particular branch], it will fall back
to the "abort" implementation."

And that actually correctly describes llvm_unreachable implementation.

Differential Revision: https://reviews.llvm.org/D81130
The file was modifiedllvm/docs/CodingStandards.rst
The file was modifiedllvm/include/llvm/Support/ErrorHandling.h
Commit 8a96c1f627fe790a9c29483730447ff5b739c131 by spatel
[InstCombine] move vector select ahead of select-shuffle

select Cond, (shuf_sel X, Y), X --> shuf_sel X, (select Cond, Y, X)

A select of a select-shuffle ("blend" in x86 lingo) can be reversed
so that the select is done first.
This is a more limited version of what I was trying in D80658,
but it enables existing demanded bits transforms to catch some of the
motivating cases. The tricky bit in that seems to be that by moving
the shuffle later, we can always guarantee that poison is correctly
inhibited by the shuffle mask in the final value.

Alive2 checks for the basic tests:
http://volta.cs.utah.edu:8080/z/Qqd3RK
http://volta.cs.utah.edu:8080/z/S4wchM
http://volta.cs.utah.edu:8080/z/wf9zPL
http://volta.cs.utah.edu:8080/z/wJeEGk

Differential Revision: https://reviews.llvm.org/D81013
The file was modifiedllvm/test/Transforms/InstCombine/vec_demanded_elts.ll
The file was modifiedllvm/test/Transforms/InstCombine/select-select.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit e52a38db075e4b399227f4ad8f35ce004ad6b981 by yamauchi
[PGO] Enable the working set size scaling under the partial sample PGO.

Summary: Following up D79831.

Reviewers: davidxl

Subscribers: eraman, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80939
The file was modifiedllvm/lib/Analysis/ProfileSummaryInfo.cpp
Commit 3d9bb031d13c884122a5da456659e47dd52ec1f7 by clementval
[flang] avoid GCC < 8 compiler failure after D80794

Summary:
Patch D80794 remove the custom flags for release build for flang.
This leads to build failure with GCC < 8. This patch add upperbound check
in order to avoid the -Werror=array-bounds to trigger a build failure.

```
/home/4vn/versioning/llvm-project/flang/lib/Decimal/big-radix-floating-point.h:183:29: error: array subscript is above array bounds [-Werror=array-bounds]
           digit_[j] = digit_[j + remove];
                       ~~~~~~^
/home/4vn/versioning/llvm-project/flang/lib/Decimal/big-radix-floating-point.h:183:29: error: array subscript is above array bounds [-Werror=array-bounds]
           digit_[j] = digit_[j + remove];
                       ~~~~~~^
/home/4vn/versioning/llvm-project/flang/lib/Decimal/big-radix-floating-point.h:183:29: error: array subscript is above array bounds [-Werror=array-bounds]
           digit_[j] = digit_[j + remove];
                       ~~~~~~^
/home/4vn/versioning/llvm-project/flang/lib/Decimal/big-radix-floating-point.h:183:29: error: array subscript is above array bounds [-Werror=array-bounds]
           digit_[j] = digit_[j + remove];
                       ~~~~~~^
/home/4vn/versioning/llvm-project/flang/lib/Decimal/big-radix-floating-point.h:183:29: error: array subscript is above array bounds [-Werror=array-bounds]
           digit_[j] = digit_[j + remove];
```

```
/home/4vn/versioning/llvm-project/flang/include/flang/Evaluate/integer.h:809:28: error: array subscript is above array bounds [-Werror=array-bounds]
               xy += product[to];
                     ~~~~~~~^
/home/4vn/versioning/llvm-project/flang/include/flang/Evaluate/integer.h:810:22: error: array subscript is above array bounds [-Werror=array-bounds]
               product[to] = xy & partMask;
               ~~~~~~~^
/home/4vn/versioning/llvm-project/flang/include/flang/Evaluate/integer.h:809:28: error: array subscript is above array bounds [-Werror=array-bounds]
               xy += product[to];
                     ~~~~~~~^
```

Reviewers: DavidTruby, sscalpone, jdoerfert

Reviewed By: DavidTruby

Subscribers: llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D81179
The file was modifiedflang/include/flang/Evaluate/integer.h
The file was modifiedflang/lib/Decimal/big-radix-floating-point.h