FailedChanges

Summary

  1. [SLP] Fix for PR31847: Assertion failed: (isLoopInvariant(Operands[i], L) && "SCEVAddRecExpr operand is not loop-invariant!") Initially SLP vectorizer replaced all going-to-be-vectorized instructions with Undef values. It may break ScalarEvaluation and may cause a crash. Reworked SLP vectorizer so that it does not replace vectorized instructions by UndefValue anymore. Instead vectorized instructions are marked for deletion inside if BoUpSLP class and deleted upon class destruction. Reviewers: mzolotukhin, mkuper, hfinkel, RKSimon, davide, spatel Subscribers: RKSimon, Gerolf, anemet, hans, majnemer, llvm-commits, sanjoy Differential Revision: https://reviews.llvm.org/D29641
  2. [clang-format] Reference qualifiers in member templates causing extra indentation. Summary: The following code ``` struct f { template <class T> void bar() && noexcept {} }; ``` will be formatted to the following with LLVM style, and `AlwaysBreakTemplateDeclarations: Yes` ``` struct f { template <class T> void bar() && noexcept {} }; ``` The indentation of the `void bar()` line is wrong. Reviewers: klimek, owenpan, krasimir, timwoj, MyDeveloperDay Reviewed By: klimek, MyDeveloperDay Subscribers: MyDeveloperDay, ilya-biryukov, llvm-commits, cfe-commits Patch By: AndWass Tags: #clang-format, #clang, #llvm Differential Revision: https://reviews.llvm.org/D68072
  3. [PowerPC] Fix conditions of assert in PPCAsmPrinter Summary: g++ build emits warning: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:667:77: error: suggest parentheses around ?&&? within ?||? [-Werror=parentheses] assert(MO.isGlobal() || MO.isCPI() || MO.isJTI() || MO.isBlockAddress() && ~~~~~~~~~~~~~~~~~~~~^~ "Unexpected operand type for LWZtoc pseudo."); I believe the intension is to assert all different types, so we should add a parentheses to include all '||'. Reviewers: #powerpc, sfertile, hubert.reinterpretcast, Xiangling_L Reviewed By: Xiangling_L Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, shchenz, steven.zhang, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68180
Revision 373166 by abataev:
[SLP] Fix for PR31847: Assertion failed: (isLoopInvariant(Operands[i], L) && "SCEVAddRecExpr operand is not loop-invariant!")

Initially SLP vectorizer replaced all going-to-be-vectorized
instructions with Undef values. It may break ScalarEvaluation and may
cause a crash.
Reworked SLP vectorizer so that it does not replace vectorized
instructions by UndefValue anymore. Instead vectorized instructions are
marked for deletion inside if BoUpSLP class and deleted upon class
destruction.

Reviewers: mzolotukhin, mkuper, hfinkel, RKSimon, davide, spatel

Subscribers: RKSimon, Gerolf, anemet, hans, majnemer, llvm-commits, sanjoy

Differential Revision: https://reviews.llvm.org/D29641
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/Vectorize/SLPVectorizer.hllvm.src/include/llvm/Transforms/Vectorize/SLPVectorizer.h
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cppllvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/AArch64/gather-root.llllvm.src/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/AArch64/horizontal.llllvm.src/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/AArch64/spillcost-di.llllvm.src/test/Transforms/SLPVectorizer/AArch64/spillcost-di.ll
The file was added/llvm/trunk/test/Transforms/SLPVectorizer/X86/PR31847.llllvm.src/test/Transforms/SLPVectorizer/X86/PR31847.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/PR35628_1.llllvm.src/test/Transforms/SLPVectorizer/X86/PR35628_1.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/PR35628_2.llllvm.src/test/Transforms/SLPVectorizer/X86/PR35628_2.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/PR39774.llllvm.src/test/Transforms/SLPVectorizer/X86/PR39774.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/PR40310.llllvm.src/test/Transforms/SLPVectorizer/X86/PR40310.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/bad-reduction.llllvm.src/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/horizontal-list.llllvm.src/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/horizontal-minmax.llllvm.src/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/horizontal.llllvm.src/test/Transforms/SLPVectorizer/X86/horizontal.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/long_chains.llllvm.src/test/Transforms/SLPVectorizer/X86/long_chains.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/reassociated-loads.llllvm.src/test/Transforms/SLPVectorizer/X86/reassociated-loads.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/reduction_loads.llllvm.src/test/Transforms/SLPVectorizer/X86/reduction_loads.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/reduction_unrolled.llllvm.src/test/Transforms/SLPVectorizer/X86/reduction_unrolled.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/remark_horcost.llllvm.src/test/Transforms/SLPVectorizer/X86/remark_horcost.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.llllvm.src/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/undef_vect.llllvm.src/test/Transforms/SLPVectorizer/X86/undef_vect.ll
The file was added/llvm/trunk/test/Transforms/SLPVectorizer/X86/used-reduced-op.llllvm.src/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.llllvm.src/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
Revision 373165 by paulhoad:
[clang-format] Reference qualifiers in member templates causing extra indentation.

Summary:
The following code

```
struct f {
  template <class T>
  void bar() && noexcept {}
};
```

will be formatted to the following with LLVM style, and
`AlwaysBreakTemplateDeclarations: Yes`

```
struct f {
  template <class T>
      void bar() && noexcept {}
};
```

The indentation of the `void bar()` line is wrong.

Reviewers: klimek, owenpan, krasimir, timwoj, MyDeveloperDay

Reviewed By: klimek, MyDeveloperDay

Subscribers: MyDeveloperDay, ilya-biryukov, llvm-commits, cfe-commits

Patch By: AndWass

Tags: #clang-format, #clang, #llvm

Differential Revision: https://reviews.llvm.org/D68072
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cppclang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cppclang.src/unittests/Format/FormatTest.cpp
Revision 373164 by jsji:
[PowerPC] Fix conditions of assert in PPCAsmPrinter

Summary:
g++ build emits warning:

llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:667:77: error: suggest parentheses around ?&&? within ?||? [-Werror=parentheses]
     assert(MO.isGlobal() || MO.isCPI() || MO.isJTI() || MO.isBlockAddress() &&
                                                         ~~~~~~~~~~~~~~~~~~~~^~
            "Unexpected operand type for LWZtoc pseudo.");

I believe the intension is to assert all different types,
so we should add a parentheses to include all '||'.

Reviewers: #powerpc, sfertile, hubert.reinterpretcast, Xiangling_L

Reviewed By: Xiangling_L

Subscribers: wuzish, nemanjai, hiraditya, kbarton, MaskRay, shchenz, steven.zhang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68180
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cppllvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp