FailedChanges

Summary

  1. [ARM] Remove declaration of unimplemented function. NFC.
  2. [X86][SSE] Fix out of range shift introduced in D67070/rL371328 Use APInt to create the comparison mask instead.
  3. [X86] Add test case for PR32546
  4. [X86][SSE] Add support for <64 x i1> bool reduction This generalizes the existing <32 x i1> pre-AVX2 split code to support reductions from <64 x i1> as well, we can probably generalize to any larger pow2 case in the future if the (unlikely) need ever arises. We still need to tweak combineBitcastvxi1 to improve AVX512F codegen as its assumes vXi1 types should be handled on the mask registers even when they aren't legal. Differential Revision: https://reviews.llvm.org/D67070
  5. [StackMap] Current stackmap version should be 3. NFC.
  6. [NewPM][Sancov] Create the Sancov Pass after building the pipelines We're running into linker errors from missing sancov sections: ``` ld.lld: error: relocation refers to a discarded section: __sancov_guards >>> defined in user-arm64-ubsan-sancov-full.shlib/obj/third_party/ulib/scudo/scudo.wrappers_c.cc.o >>> referenced by common.h:26 (../../zircon/third_party/ulib/scudo/common.h:26) ... many other references ``` I believe this is due to a pass in the default pipeline that somehow discards these sections. The ModuleSanitizerCoveragePass was initially added at the start of the pipeline. This now adds it to the end of the pipeline for optimized and unoptimized builds. Differential Revision: https://reviews.llvm.org/D67323
  7. [X86] Make getZeroVector return floating point vectors in their native type on SSE2 and later. isel used to require zero vectors to be canonicalized to a single type to minimize the number of patterns needed to match. This is no longer required. I plan to do this to integers too, but floating point was simpler to start with. Integer has a complication where v32i16/v64i8 aren't legal when the other 512-bit integer types are.
  8. Remove ::gets for FreeBSD 13 and later Summary: In https://svnweb.freebsd.org/changeset/base/351659 @emaste removed gets() from FreeBSD 13's libc, and our copies of libc++ and libstdc++. In that change, the declarations were simply deleted, but I would like to propose this conditional test instead. Reviewers: EricWF, mclow.lists, emaste Reviewed By: mclow.lists Subscribers: krytarowski, christof, ldionne, emaste, libcxx-commits Differential Revision: https://reviews.llvm.org/D67316
  9. [X86] Add support for unfold broadcast loads from FMA instructions.
  10. [X86] Add broadcast load unfolding tests for FMA instructions.
  11. [aarch64] Add combine patterns for fp16 fmla This patch enables generation of fused multiply add/sub for instructions operating on fp16. Tested on aarch64-linux. Differential Revision: https://reviews.llvm.org/D67297
  12. Fixes an assertion while instantiating a template with an incomplete typo-corrected type. Fixes PR35682. When a template in instantiated with an incomplete typo corrected type an assertion can trigger if the -ferror-limit is used to reduce the number of errors. Patch by Mark de Wever.
  13. [X86] Add prefer-128-bit subtarget feature. Summary: Similar to the previous prefer-256-bit flag. We might want to enable this by default some CPUs. This just starts the initial work to implement and prove that it effects TTI's vector width. Reviewers: RKSimon, echristo, spatel, atdt Reviewed By: RKSimon Subscribers: lebedev.ri, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67311
  14. [llvm-nm] - Fix a bug and unbreak ASan BB. BB: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/13820/steps/check-llvm%20asan/logs/stdio rL371074 revealed a bug in llvm-nm. This patch fixes it.
  15. Fix typo. NFCI
  16. [X86] Avoid uses of getZextValue(). NFCI. Use getAPIntValue() directly - this is mainly a best practice style issue to help prevent fuzz tests blowing up when a i12345 (or whatever) is generated. Use getConstantOperandVal/getConstantOperandAPInt wrappers where possible.
  17. [X86][AVX] Add 'f5' v4f64 shuffle test mentioned in D66004
  18. [ELF][MC] Set types of aliases of IFunc to STT_GNU_IFUNC ``` .type foo,@gnu_indirect_function .set foo,foo_resolver .set foo2,foo .set foo3,foo2 ``` The types of foo2 and foo3 should be STT_GNU_IFUNC, but we currently resolve them to the type of foo_resolver. This patch fixes it. Differential Revision: https://reviews.llvm.org/D67206 Patch by Senran Zhang
  19. [SimplifyCFG][NFC] Autogenerate PhiEliminate3.ll
Revision 371331 by dmgreen:
[ARM] Remove declaration of unimplemented function. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.h (diff)llvm.src/lib/Target/ARM/ARMBaseRegisterInfo.h
Revision 371330 by rksimon:
[X86][SSE] Fix out of range shift introduced in D67070/rL371328

Use APInt to create the comparison mask instead.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-and-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-and-bool.ll
Revision 371329 by rksimon:
[X86] Add test case for PR32546
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/avx512-cmp-mask.llllvm.src/test/CodeGen/X86/avx512-cmp-mask.ll
Revision 371328 by rksimon:
[X86][SSE] Add support for <64 x i1> bool reduction

This generalizes the existing <32 x i1> pre-AVX2 split code to support reductions from <64 x i1> as well, we can probably generalize to any larger pow2 case in the future if the (unlikely) need ever arises.

We still need to tweak combineBitcastvxi1 to improve AVX512F codegen as its assumes vXi1 types should be handled on the mask registers even when they aren't legal.

Differential Revision: https://reviews.llvm.org/D67070
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-and-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-and-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-or-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-or-bool.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-xor-bool.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-xor-bool.ll
Revision 371327 by Xing:
[StackMap] Current stackmap version should be 3. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Object/StackMapParser.h (diff)llvm.src/include/llvm/Object/StackMapParser.h
Revision 371326 by leonardchan:
[NewPM][Sancov] Create the Sancov Pass after building the pipelines

We're running into linker errors from missing sancov sections:

```
ld.lld: error: relocation refers to a discarded section: __sancov_guards
>>> defined in user-arm64-ubsan-sancov-full.shlib/obj/third_party/ulib/scudo/scudo.wrappers_c.cc.o
>>> referenced by common.h:26 (../../zircon/third_party/ulib/scudo/common.h:26)
... many other references
```

I believe this is due to a pass in the default pipeline that somehow discards
these sections. The ModuleSanitizerCoveragePass was initially added at the
start of the pipeline. This now adds it to the end of the pipeline for
optimized and unoptimized builds.

Differential Revision: https://reviews.llvm.org/D67323
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cpp (diff)clang.src/lib/CodeGen/BackendUtil.cpp
Revision 371325 by ctopper:
[X86] Make getZeroVector return floating point vectors in their native type on SSE2 and later.

isel used to require zero vectors to be canonicalized to a single
type to minimize the number of patterns needed to match. This is
no longer required.

I plan to do this to integers too, but floating point was simpler
to start with. Integer has a complication where v32i16/v64i8 aren't
legal when the other 512-bit integer types are.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrSSE.td (diff)llvm.src/lib/Target/X86/X86InstrSSE.td
The file was modified/llvm/trunk/test/CodeGen/X86/2012-04-26-sdglue.ll (diff)llvm.src/test/CodeGen/X86/2012-04-26-sdglue.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx-basic.ll (diff)llvm.src/test/CodeGen/X86/avx-basic.ll
The file was modified/llvm/trunk/test/CodeGen/X86/avx2-gather.ll (diff)llvm.src/test/CodeGen/X86/avx2-gather.ll
The file was modified/llvm/trunk/test/CodeGen/X86/nontemporal-3.ll (diff)llvm.src/test/CodeGen/X86/nontemporal-3.ll
The file was modified/llvm/trunk/test/CodeGen/X86/packss.ll (diff)llvm.src/test/CodeGen/X86/packss.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vec_ss_load_fold.ll (diff)llvm.src/test/CodeGen/X86/vec_ss_load_fold.ll
Revision 371324 by dim:
Remove ::gets for FreeBSD 13 and later

Summary:
In https://svnweb.freebsd.org/changeset/base/351659 @emaste removed gets() from
FreeBSD 13's libc, and our copies of libc++ and libstdc++.  In that change, the
declarations were simply deleted, but I would like to propose this conditional
test instead.

Reviewers: EricWF, mclow.lists, emaste

Reviewed By: mclow.lists

Subscribers: krytarowski, christof, ldionne, emaste, libcxx-commits

Differential Revision: https://reviews.llvm.org/D67316
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/__config (diff)libcxx.src/include/__config
The file was modified/libcxx/trunk/include/cstdio (diff)libcxx.src/include/cstdio
Revision 371323 by ctopper:
[X86] Add support for unfold broadcast loads from FMA instructions.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrFoldTables.cpp (diff)llvm.src/lib/Target/X86/X86InstrFoldTables.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-broadcast-unfold.ll (diff)llvm.src/test/CodeGen/X86/avx512-broadcast-unfold.ll
Revision 371322 by ctopper:
[X86] Add broadcast load unfolding tests for FMA instructions.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-broadcast-unfold.ll (diff)llvm.src/test/CodeGen/X86/avx512-broadcast-unfold.ll
Revision 371321 by spop:
[aarch64] Add combine patterns for fp16 fmla

This patch enables generation of fused multiply add/sub for instructions operating on fp16.
Tested on aarch64-linux.

Differential Revision: https://reviews.llvm.org/D67297
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineCombinerPattern.h (diff)llvm.src/include/llvm/CodeGen/MachineCombinerPattern.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/fp16-fmla.llllvm.src/test/CodeGen/AArch64/fp16-fmla.ll
Revision 371320 by aaronballman:
Fixes an assertion while instantiating a template with an incomplete typo-corrected type.

Fixes PR35682. When a template in instantiated with an incomplete typo corrected type an assertion can trigger if the -ferror-limit is used to reduce the number of errors.

Patch by Mark de Wever.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpp (diff)clang.src/lib/Sema/SemaTemplate.cpp
The file was added/cfe/trunk/test/SemaTemplate/instantiate-incomplete-typo-suggested-error-limit.cppclang.src/test/SemaTemplate/instantiate-incomplete-typo-suggested-error-limit.cpp
Revision 371319 by ctopper:
[X86] Add prefer-128-bit subtarget feature.

Summary:
Similar to the previous prefer-256-bit flag. We might want to
enable this by default some CPUs. This just starts the initial
work to implement and prove that it effects TTI's vector width.

Reviewers: RKSimon, echristo, spatel, atdt

Reviewed By: RKSimon

Subscribers: lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67311
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86.td (diff)llvm.src/lib/Target/X86/X86.td
The file was modified/llvm/trunk/lib/Target/X86/X86Subtarget.cpp (diff)llvm.src/lib/Target/X86/X86Subtarget.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86Subtarget.h (diff)llvm.src/lib/Target/X86/X86Subtarget.h
The file was modified/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.h (diff)llvm.src/lib/Target/X86/X86TargetTransformInfo.h
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/arith-add.ll (diff)llvm.src/test/Transforms/SLPVectorizer/X86/arith-add.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/arith-fp.ll (diff)llvm.src/test/Transforms/SLPVectorizer/X86/arith-fp.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/arith-mul.ll (diff)llvm.src/test/Transforms/SLPVectorizer/X86/arith-mul.ll
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/arith-sub.ll (diff)llvm.src/test/Transforms/SLPVectorizer/X86/arith-sub.ll
Revision 371318 by grimar:
[llvm-nm] - Fix a bug and unbreak ASan BB.

BB: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/13820/steps/check-llvm%20asan/logs/stdio

rL371074 revealed a bug in llvm-nm.

This patch fixes it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-nm/llvm-nm.cpp (diff)llvm.src/tools/llvm-nm/llvm-nm.cpp
Revision 371317 by rksimon:
Fix typo. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)llvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp
Revision 371315 by rksimon:
[X86] Avoid uses of getZextValue(). NFCI.

Use getAPIntValue() directly - this is mainly a best practice style issue to help prevent fuzz tests blowing up when a i12345 (or whatever) is generated.

Use getConstantOperandVal/getConstantOperandAPInt wrappers where possible.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 371314 by rksimon:
[X86][AVX] Add 'f5' v4f64 shuffle test mentioned in D66004
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 371312 by maskray:
[ELF][MC] Set types of aliases of IFunc to STT_GNU_IFUNC

```
.type  foo,@gnu_indirect_function
.set   foo,foo_resolver

.set foo2,foo
.set foo3,foo2
```

The types of foo2 and foo3 should be STT_GNU_IFUNC, but we currently
resolve them to the type of foo_resolver. This patch fixes it.

Differential Revision: https://reviews.llvm.org/D67206
Patch by Senran Zhang
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/ELFObjectWriter.cpp (diff)llvm.src/lib/MC/ELFObjectWriter.cpp
The file was added/llvm/trunk/test/MC/ELF/ifunc-alias.sllvm.src/test/MC/ELF/ifunc-alias.s
Revision 371311 by lebedevri:
[SimplifyCFG][NFC] Autogenerate PhiEliminate3.ll
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/SimplifyCFG/PhiEliminate3.ll (diff)llvm.src/test/Transforms/SimplifyCFG/PhiEliminate3.ll