FailedChanges

Summary

  1. [SystemZ] Add support for new cpu architecture - arch13 This patch series adds support for the next-generation arch13 CPU architecture to the SystemZ backend. This includes: - Basic support for the new processor and its features. - Support for low-level builtins mapped to new LLVM intrinsics. - New high-level intrinsics in vecintrin.h. - Indicate support by defining __VEC__ == 10303. Note: No currently available Z system supports the arch13 architecture. Once new systems become available, the official system name will be added as supported -march name.
  2. [SystemZ] Add support for new cpu architecture - arch13 This patch series adds support for the next-generation arch13 CPU architecture to the SystemZ backend. This includes: - Basic support for the new processor and its features. - Assembler/disassembler support for new instructions. - CodeGen for new instructions, including new LLVM intrinsics. - Scheduler description for the new processor. - Detection of arch13 as host processor. Note: No currently available Z system supports the arch13 architecture. Once new systems become available, the official system name will be added as supported -march name.
  3. Remove unused methods in Sancov.
  4. [X86] Add NEG to isUseDefConvertible. We can use the C flag from NEG to detect that the input was zero. Really we could probably use the Z flag too. But C matches what we'd do for usubo 0, X. Haven't found a test case for this due to the usubo formation in CGP. But I verified if I comment out the CGP code this transformation catches some of the same cases.
  5. [X86][AVX] Add PR34359 shuffle test case.
  6. [Attributor] Removing unnecessary `virtual` keywords. Some function in the Attributor framework are unnecessarily marked virtual. This patch removes virtual keyword Reviewers: jdoerfert Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D64637
  7. [Attributor] Deduce "nofree" function attribute Summary: Deduce "nofree" function attribute. A more concise description of "nofree" is on D49165. Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: homerdin, hfinkel, lebedev.ri, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62687
  8. [libc++] Add XFAILs for CTAD tests on older compilers
  9. Revert [clang-shlib] Fix clang-shlib for PRIVATE dependencies This reverts r365825 (git commit 3173c60f96c3ccfc17d403a192ae58e720153c23) This is breaking BUILD_SHARED_LIBS=ON builds. Reverting while I rethink it.
  10. CodeGet: Init 32bit pointers with 0xFFFFFFFF Summary: Patch makes D63967 effective for 32bit platforms and improves pattern initialization there. It cuts size of 32bit binary compiled with -ftrivial-auto-var-init=pattern by 2% (3% with -Os). Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options) ``` master patch diff Os pattern 7.915580e+05 7.698424e+05 -0.028387 O3 pattern 9.953688e+05 9.752952e+05 -0.019325 ``` Zero vs Pattern on master ``` zero pattern diff Os 7.689712e+05 7.915580e+05 0.031380 O3 9.744796e+05 9.953688e+05 0.021133 ``` Zero vs Pattern with the patch ``` zero pattern diff Os 7.689712e+05 7.698424e+05 0.000789 O3 9.744796e+05 9.752952e+05 0.000742 ``` Reviewers: pcc, eugenis, glider, jfb Reviewed By: jfb Subscribers: hubert.reinterpretcast, dexonsmith, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64597
  11. [IndVars] Use exit count reasoning to discharge obviously untaken exits Continue in the spirit of D63618, and use exit count reasoning to prove away loop exits which can not be taken since the backedge taken count of the loop as a whole is provably less than the minimal BE count required to take this particular loop exit. As demonstrated in the newly added tests, this triggers in a number of cases where IndVars was previously unable to discharge obviously redundant exit tests. And some not so obvious ones. Differential Revision: https://reviews.llvm.org/D63733
Revision 365933 by uweigand:
[SystemZ] Add support for new cpu architecture - arch13

This patch series adds support for the next-generation arch13
CPU architecture to the SystemZ backend.

This includes:
- Basic support for the new processor and its features.
- Support for low-level builtins mapped to new LLVM intrinsics.
- New high-level intrinsics in vecintrin.h.
- Indicate support by defining  __VEC__ == 10303.

Note: No currently available Z system supports the arch13
architecture.  Once new systems become available, the
official system name will be added as supported -march name.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/BuiltinsSystemZ.def (diff)clang.src/include/clang/Basic/BuiltinsSystemZ.def
The file was modified/cfe/trunk/lib/Basic/Targets/SystemZ.cpp (diff)clang.src/lib/Basic/Targets/SystemZ.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/SystemZ.h (diff)clang.src/lib/Basic/Targets/SystemZ.h
The file was modified/cfe/trunk/lib/CodeGen/CGBuiltin.cpp (diff)clang.src/lib/CodeGen/CGBuiltin.cpp
The file was modified/cfe/trunk/lib/Headers/vecintrin.h (diff)clang.src/lib/Headers/vecintrin.h
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was added/cfe/trunk/test/CodeGen/builtins-systemz-vector3-error.cclang.src/test/CodeGen/builtins-systemz-vector3-error.c
The file was added/cfe/trunk/test/CodeGen/builtins-systemz-vector3.cclang.src/test/CodeGen/builtins-systemz-vector3.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector.c
The file was modified/cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c (diff)clang.src/test/CodeGen/builtins-systemz-zvector2.c
The file was added/cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.cclang.src/test/CodeGen/builtins-systemz-zvector3-error.c
The file was added/cfe/trunk/test/CodeGen/builtins-systemz-zvector3.cclang.src/test/CodeGen/builtins-systemz-zvector3.c
The file was modified/cfe/trunk/test/CodeGen/systemz-abi-vector.c (diff)clang.src/test/CodeGen/systemz-abi-vector.c
The file was modified/cfe/trunk/test/CodeGen/systemz-abi.c (diff)clang.src/test/CodeGen/systemz-abi.c
The file was modified/cfe/trunk/test/CodeGen/target-data.c (diff)clang.src/test/CodeGen/target-data.c
The file was modified/cfe/trunk/test/Driver/systemz-march.c (diff)clang.src/test/Driver/systemz-march.c
The file was modified/cfe/trunk/test/Misc/target-invalid-cpu-note.c (diff)clang.src/test/Misc/target-invalid-cpu-note.c
The file was modified/cfe/trunk/test/Preprocessor/predefined-arch-macros.c (diff)clang.src/test/Preprocessor/predefined-arch-macros.c
Revision 365932 by uweigand:
[SystemZ] Add support for new cpu architecture - arch13

This patch series adds support for the next-generation arch13
CPU architecture to the SystemZ backend.

This includes:
- Basic support for the new processor and its features.
- Assembler/disassembler support for new instructions.
- CodeGen for new instructions, including new LLVM intrinsics.
- Scheduler description for the new processor.
- Detection of arch13 as host processor.

Note: No currently available Z system supports the arch13
architecture.  Once new systems become available, the
official system name will be added as supported -march name.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsSystemZ.td (diff)llvm.src/include/llvm/IR/IntrinsicsSystemZ.td
The file was modified/llvm/trunk/lib/Support/Host.cpp (diff)llvm.src/lib/Support/Host.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZFeatures.td (diff)llvm.src/lib/Target/SystemZ/SystemZFeatures.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZISelLowering.h (diff)llvm.src/lib/Target/SystemZ/SystemZISelLowering.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrFormats.td (diff)llvm.src/lib/Target/SystemZ/SystemZInstrFormats.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.h (diff)llvm.src/lib/Target/SystemZ/SystemZInstrInfo.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrInfo.td (diff)llvm.src/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZInstrVector.td (diff)llvm.src/lib/Target/SystemZ/SystemZInstrVector.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZOperators.td (diff)llvm.src/lib/Target/SystemZ/SystemZOperators.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZProcessors.td (diff)llvm.src/lib/Target/SystemZ/SystemZProcessors.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZRegisterInfo.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZSchedule.td (diff)llvm.src/lib/Target/SystemZ/SystemZSchedule.td
The file was added/llvm/trunk/lib/Target/SystemZ/SystemZScheduleArch13.tdllvm.src/lib/Target/SystemZ/SystemZScheduleArch13.td
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZShortenInst.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZShortenInst.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZSubtarget.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZSubtarget.h (diff)llvm.src/lib/Target/SystemZ/SystemZSubtarget.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modified/llvm/trunk/test/Analysis/CostModel/SystemZ/fp-cast.ll (diff)llvm.src/test/Analysis/CostModel/SystemZ/fp-cast.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/SystemZ/intrinsics.ll (diff)llvm.src/test/Analysis/CostModel/SystemZ/intrinsics.ll
The file was added/llvm/trunk/test/Analysis/CostModel/SystemZ/logic-miscext3.llllvm.src/test/Analysis/CostModel/SystemZ/logic-miscext3.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/cond-move-01.ll (diff)llvm.src/test/CodeGen/SystemZ/cond-move-01.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/cond-move-02.ll (diff)llvm.src/test/CodeGen/SystemZ/cond-move-02.ll
The file was modified/llvm/trunk/test/CodeGen/SystemZ/cond-move-03.ll (diff)llvm.src/test/CodeGen/SystemZ/cond-move-03.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/cond-move-06.llllvm.src/test/CodeGen/SystemZ/cond-move-06.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/cond-move-07.llllvm.src/test/CodeGen/SystemZ/cond-move-07.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/cond-move-08.mirllvm.src/test/CodeGen/SystemZ/cond-move-08.mir
The file was added/llvm/trunk/test/CodeGen/SystemZ/ctpop-02.llllvm.src/test/CodeGen/SystemZ/ctpop-02.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/not-01.llllvm.src/test/CodeGen/SystemZ/not-01.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-bswap-01.llllvm.src/test/CodeGen/SystemZ/vec-bswap-01.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-bswap-02.llllvm.src/test/CodeGen/SystemZ/vec-bswap-02.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-bswap-03.llllvm.src/test/CodeGen/SystemZ/vec-bswap-03.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-bswap-04.llllvm.src/test/CodeGen/SystemZ/vec-bswap-04.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-bswap-05.llllvm.src/test/CodeGen/SystemZ/vec-bswap-05.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-bswap-06.llllvm.src/test/CodeGen/SystemZ/vec-bswap-06.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-bswap-07.llllvm.src/test/CodeGen/SystemZ/vec-bswap-07.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-conv-03.llllvm.src/test/CodeGen/SystemZ/vec-conv-03.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-eswap-01.llllvm.src/test/CodeGen/SystemZ/vec-eswap-01.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-eswap-02.llllvm.src/test/CodeGen/SystemZ/vec-eswap-02.ll
The file was added/llvm/trunk/test/CodeGen/SystemZ/vec-intrinsics-03.llllvm.src/test/CodeGen/SystemZ/vec-intrinsics-03.ll
The file was added/llvm/trunk/test/MC/Disassembler/SystemZ/insns-arch13.txtllvm.src/test/MC/Disassembler/SystemZ/insns-arch13.txt
The file was added/llvm/trunk/test/MC/SystemZ/insn-bad-arch13.sllvm.src/test/MC/SystemZ/insn-bad-arch13.s
The file was modified/llvm/trunk/test/MC/SystemZ/insn-bad-z14.s (diff)llvm.src/test/MC/SystemZ/insn-bad-z14.s
The file was added/llvm/trunk/test/MC/SystemZ/insn-good-arch13.sllvm.src/test/MC/SystemZ/insn-good-arch13.s
The file was modified/llvm/trunk/test/Verifier/SystemZ/intrinsic-immarg.ll (diff)llvm.src/test/Verifier/SystemZ/intrinsic-immarg.ll
Revision 365931 by leonardchan:
Remove unused methods in Sancov.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/SanitizerCoverage.cpp (diff)llvm.src/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Revision 365929 by ctopper:
[X86] Add NEG to isUseDefConvertible.

We can use the C flag from NEG to detect that the input was zero.

Really we could probably use the Z flag too. But C matches what
we'd do for usubo 0, X.

Haven't found a test case for this due to the usubo formation
in CGP. But I verified if I comment out the CGP code this
transformation catches some of the same cases.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (diff)llvm.src/lib/Target/X86/X86InstrInfo.cpp
Revision 365926 by rksimon:
[X86][AVX] Add PR34359 shuffle test case.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v4.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-256-v4.ll
Revision 365925 by sstefan:
[Attributor] Removing unnecessary `virtual` keywords.

Some function in the Attributor framework are unnecessarily
marked virtual. This patch removes virtual keyword

Reviewers: jdoerfert

Subscribers: hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D64637
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
Revision 365924 by uenoku:
[Attributor] Deduce "nofree" function attribute

Summary: Deduce "nofree" function attribute. A more concise description of "nofree" is on D49165.

Reviewers: jdoerfert

Reviewed By: jdoerfert

Subscribers: homerdin, hfinkel, lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62687
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/arg_returned.ll (diff)llvm.src/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/fn_noreturn.ll (diff)llvm.src/test/Transforms/FunctionAttrs/fn_noreturn.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nofree-attributor.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nosync.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nosync.ll
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nounwind.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nounwind.ll
Revision 365923 by Louis Dionne:
[libc++] Add XFAILs for CTAD tests on older compilers
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.fail.cpp (diff)libcxx.src/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.fail.cpp
The file was modified/libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.fail.cpp (diff)libcxx.src/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.fail.cpp
Revision 365922 by smeenai:
Revert [clang-shlib] Fix clang-shlib for PRIVATE dependencies

This reverts r365825 (git commit 3173c60f96c3ccfc17d403a192ae58e720153c23)

This is breaking BUILD_SHARED_LIBS=ON builds. Reverting while I rethink it.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/clang-shlib/CMakeLists.txt (diff)clang.src/tools/clang-shlib/CMakeLists.txt
Revision 365921 by Vitaly Buka:
CodeGet: Init 32bit pointers with 0xFFFFFFFF

Summary:
Patch makes D63967 effective for 32bit platforms and improves pattern
initialization there. It cuts size of 32bit binary compiled with
-ftrivial-auto-var-init=pattern by 2% (3% with -Os).

Binary size change on CTMark, (with -fuse-ld=lld -Wl,--icf=all, similar results with default linker options)
```
                   master           patch      diff
Os pattern   7.915580e+05    7.698424e+05 -0.028387
O3 pattern   9.953688e+05    9.752952e+05 -0.019325
```

Zero vs Pattern on master
```
               zero       pattern      diff
Os     7.689712e+05  7.915580e+05  0.031380
O3     9.744796e+05  9.953688e+05  0.021133
```

Zero vs Pattern with the patch
```
               zero       pattern      diff
Os     7.689712e+05  7.698424e+05  0.000789
O3     9.744796e+05  9.752952e+05  0.000742
```

Reviewers: pcc, eugenis, glider, jfb

Reviewed By: jfb

Subscribers: hubert.reinterpretcast, dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64597
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/PatternInit.cpp (diff)clang.src/lib/CodeGen/PatternInit.cpp
The file was modified/cfe/trunk/test/CodeGenCXX/auto-var-init.cpp (diff)clang.src/test/CodeGenCXX/auto-var-init.cpp
Revision 365920 by reames:
[IndVars] Use exit count reasoning to discharge obviously untaken exits

Continue in the spirit of D63618, and use exit count reasoning to prove away loop exits which can not be taken since the backedge taken count of the loop as a whole is provably less than the minimal BE count required to take this particular loop exit.

As demonstrated in the newly added tests, this triggers in a number of cases where IndVars was previously unable to discharge obviously redundant exit tests. And some not so obvious ones.

Differential Revision: https://reviews.llvm.org/D63733
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/eliminate-exit.ll (diff)llvm.src/test/Transforms/IndVarSimplify/eliminate-exit.ll