FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [SLP] Generalization of stores vectorization. (details)
  2. Reland [AArch64][DebugInfo] Do not recompute CalleeSavedStackSize (Take (details)
  3. isBuiltinFunc() uses StringRef instead of const char* (details)
  4. [SLP] Fix -Wunused-variable. NFC (details)
  5. [LLDB][Python] fix another fflush issue on NetBSD (details)
  6. [lld] [ELF] Add '-z nognustack' opt to suppress emitting PT_GNU_STACK (details)
  7. [ELF] Delete redundant comment after D56554. NFC (details)
  8. [SVE][AArch64] Adding pattern matching for some SVE instructions. (details)
  9. Revert "[clang-format] Remove the dependency on frontend" (details)
  10. [libc++] Force the ABI namespace to be a reserved identifier (details)
  11. [X86][VBMI2] Add vector funnel shift tests (details)
  12. [globalisel][docs] Rewrite the pipeline overview (details)
  13. [LLDB] Fix for windows bots broken by unsupported tests (details)
  14. [X86] Narrow i64 compares with constant to i32 when the upper 32-bits (details)
  15. [lit] Make internal diff work in pipelines (details)
  16. [lit] Extend internal diff to support `-` argument (details)
  17. [Docs] Reflect the slow migration from guard to widenable condition (details)
  18. [SelectionDAG] Enable lowering unordered atomics loads w/LoadSDNode (and (details)
Commit f228b5371647f471853c5fb3e6719823a42fe451 by a.bataev
[SLP] Generalization of stores vectorization.
Stores are vectorized with maximum vectorization factor of 16. Patch
tries to improve the situation and use maximal vectorization factor.
Reviewers: spatel, RKSimon, mkuper, hfinkel
Differential Revision: https://reviews.llvm.org/D43582
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/stores_vectorize.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-ashr.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-lshr.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-shl.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-mul.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/bitreverse.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fix.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/ctpop.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/cttz.ll
The file was modifiedllvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-sub.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-add.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/ctlz.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/different-vec-widths.ll
Commit d6a7da80aae62474c15cad83d361830ffc4e2566 by sander.desmalen
Reland [AArch64][DebugInfo] Do not recompute CalleeSavedStackSize (Take
2)
llvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir failed with
EXPENSIVE_CHECKS enabled, causing the patch to be reverted in
rG2c496bb5309c972d59b11f05aee4782ddc087e71.
This patch relands the patch with a proper fix to the
live-debug-values-reg-copy.mir tests, by ensuring the MIR encodes the
callee-saves correctly so that the CalleeSaved info is taken from MIR
directly, rather than letting it be recalculated by the PEI pass. I've
done this by running `llc -stop-before=prologepilog` on the LLVM IR as
captured in the test files, adding the extra MOV instructions that were
manually added in the original test file, then running `llc
-run-pass=prologepilog` and finally re-added the comments for the MOV
instructions.
The file was modifiedllvm/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was addedllvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
The file was modifiedllvm/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir
Commit 1c85a2e8dc7e76761d301f9a35374e0aafc757ec by gchatelet
isBuiltinFunc() uses StringRef instead of const char*
Summary: This prevents a bug when passing nullptr, StringRef ctor would
call strlen(nullptr).
Reviewers: vlad.tsyrklevich
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69569
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Basic/Builtins.h
The file was modifiedclang/lib/Basic/Builtins.cpp
Commit 5503455ccb3f5fcedced158332c016c8d3a7fa81 by maskray
[SLP] Fix -Wunused-variable. NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 6a93a12a8dd98291225a282b5b8f3c97e68ebe49 by lawrence_danna
[LLDB][Python] fix another fflush issue on NetBSD
Summary: Here's another instance where we were calling fflush on an
input stream, which is illegal on NetBSD.
Reviewers: labath, mgorny
Reviewed By: mgorny
Subscribers: krytarowski, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D69488
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py
The file was modifiedlldb/source/Host/common/File.cpp
Commit 2a0fcae3d4d1fd85d6ae8378d7c6f12430c0087d by mgorny
[lld] [ELF] Add '-z nognustack' opt to suppress emitting PT_GNU_STACK
Add a new '-z nognustack' option that suppresses emitting PT_GNU_STACK
segment.  This segment is not supported at all on NetBSD (stack is
always non-executable), and the option is meant to be used to disable
emitting it.
Differential Revision: https://reviews.llvm.org/D56554
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/test/ELF/gnustack.s
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/docs/ld.lld.1
Commit 94bfa6deb0d6077af6694d8a3048fe7bb0910a12 by maskray
[ELF] Delete redundant comment after D56554. NFC
The file was modifiedlld/ELF/Driver.cpp
Commit 1e9de0215f0488bae6c2a7cc0c9c4324d981ad30 by amehsan
[SVE][AArch64] Adding pattern matching for some SVE instructions.
Adding patten matching for two SVE intrinsics: frecps and frsqrts. Also
added patterns for fsub and fmul - these SDNodes directly correspond to
machine instructions.
Review: https://reviews.llvm.org/D68476 Patch authored by mgudim
(Mikhail Gudim).
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit efed314118c7c287a71b8a8d67953a98d8a718d5 by vtsyrklevich
Revert "[clang-format] Remove the dependency on frontend"
This reverts commit ec66603ac7ea655be5c2c5f508c5bf0d5eaeb65b. It was
causing ubsan failures like the following on the ubsan bot:
llvm/lib/Support/SourceMgr.cpp:440:48: runtime error: pointer index
expression with base 0x000000000000 overflowed to 0xfffffffffffffffa
The file was modifiedclang/tools/clang-format/ClangFormat.cpp
The file was modifiedclang/tools/clang-format/CMakeLists.txt
Commit 3c9063f5d2df3affba655711c2031020e6819510 by Louis Dionne
[libc++] Force the ABI namespace to be a reserved identifier
Summary: When the ABI namespace isn't a reserved identifier, we were
issuing a warning, but this should have been an error since the
beginning. This commit enforces that the ABI namespace is a reserved
identifier, and changes the ABI namespace used by LibFuzzer.
Reviewers: phosek, EricWF
Subscribers: mgorny, christof, jkorous, dexonsmith, #sanitizers,
libcxx-commits, llvm-commits
Tags: #sanitizers, #libc, #llvm
Differential Revision: https://reviews.llvm.org/D69408
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedcompiler-rt/lib/fuzzer/CMakeLists.txt
Commit 55cfaec9fb7b00ca1c013193b731406590c8a56b by llvm-dev
[X86][VBMI2] Add vector funnel shift tests
Demonstrates missed opportunity to combine to the VBMI2 SHLDV/SHRDV ops
- combineOrShiftToFunnelShift should handle vector ops (and we should
eventually move this to DAGCombine).
The file was addedllvm/test/CodeGen/X86/avx512vbmi2vl-funnel-shifts.ll
The file was addedllvm/test/CodeGen/X86/avx512vbmi2-funnel-shifts.ll
Commit 1765f31f5adf91c794ce4ddfa69afd62c0592767 by daniel_l_sanders
[globalisel][docs] Rewrite the pipeline overview
Summary: Rewrite the pipeline overview to be more focused on the
structure and flexibility as well as highlight the increased usefulness
of MachineVerifier and increased testability resulting from the smaller
incremental passes approach.
The diagrams are lifted from the slides for the LLVMDev 2019 talk
'Generating Optimized Code with GlobalISel' and adapted to be readable
on the white background used in the docs.
Reviewers: volkan
Subscribers: rovka, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69456
The file was addedllvm/docs/GlobalISel/pipeline-overview-with-combiners.png
The file was addedllvm/docs/GlobalISel/testing-unit-level.png
The file was addedllvm/docs/GlobalISel/pipeline-overview.png
The file was modifiedllvm/docs/GlobalISel/Pipeline.rst
The file was addedllvm/docs/GlobalISel/pipeline-overview-customized.png
The file was addedllvm/docs/GlobalISel/testing-pass-level.png
Commit e6581783f767b7dcaf84223aeae05d2467106113 by shafik
[LLDB] Fix for windows bots broken by unsupported tests
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/anon_class_w_and_wo_export_symbols.ll
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/clang-ast-from-dwarf-unamed-and-anon-structs.cpp
Commit 772533d9214b6e23762847fc7080a4201396fb10 by craig.topper
[X86] Narrow i64 compares with constant to i32 when the upper 32-bits
are known zero.
This catches some cases. There are probably ways to improve this. I
tried doing it as a combine on the setcc, but that broke some cases
involving flag reuse in place of test.
I renamed the isX86CCUnsigned to isX86CCSigned and flipped its polarity
to make it consistent with the similar functions for ISD::SETCC. This
avoids calling EQ/NE as being signed or unsigned.
Fixes PR43823.
Differential Revision: https://reviews.llvm.org/D69499
The file was modifiedllvm/test/CodeGen/X86/pr37063.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll
The file was modifiedllvm/test/CodeGen/X86/ctpop-combine.ll
The file was modifiedllvm/test/CodeGen/X86/cmp.ll
Commit b163806cdc317ee160a2ce694958c088a949fa7d by dennyje
[lit] Make internal diff work in pipelines
When using lit's internal shell, RUN lines like the following
accidentally execute an external `diff` instead of lit's internal
`diff`:
```
# RUN: program | diff file -
# RUN: not diff file1 file2 | FileCheck %s
```
Such cases exist now, in `clang/test/Analysis` for example.  We are
preparing patches to ensure lit's internal `diff` is called in such
cases, which will then fail because lit's internal `diff` cannot
currently be used in pipelines and doesn't recognize `-` as a
command-line option.
To enable pipelines, this patch moves lit's `diff` implementation into
an out-of-process script, similar to lit's `cat` implementation.  A
follow-up patch will implement `-` to mean stdin.
Also, when lit's `diff` prints differences to stdout in Windows, this
patch ensures it always terminate lines with `\n` not `\r\n`.  That way,
strict FileCheck directives checking the `diff` output succeed in both
Linux and Windows.  This wasn't an issue when `diff` was internal to lit
because `diff` didn't then write to the true stdout, which is where the
`\n` -> `\r\n` conversion happened in Python.
Reviewed By: probinson, stella.stamenova
Differential Revision: https://reviews.llvm.org/D66574
The file was removedllvm/utils/lit/tests/Inputs/shtest-shell/diff-error-0.txt
The file was modifiedllvm/utils/lit/tests/Inputs/shtest-shell/diff-unified.txt
The file was removedllvm/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-0.txt
The file was modifiedllvm/utils/lit/lit/TestRunner.py
The file was removedllvm/utils/lit/tests/Inputs/shtest-shell/diff-unified-error-1.txt
The file was modifiedllvm/utils/lit/tests/shtest-shell.py
The file was modifiedllvm/utils/lit/tests/max-failures.py
The file was addedllvm/utils/lit/lit/builtin_commands/diff.py
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
Commit 7c1d536c21c7d98be350ffab8353e202c14dcc93 by dennyje
[lit] Extend internal diff to support `-` argument
When using lit's internal shell, RUN lines like the following
accidentally execute an external `diff` instead of lit's internal
`diff`:
```
# RUN: program | diff file -
```
Such cases exist now, in `clang/test/Analysis` for example.  We are
preparing patches to ensure lit's internal `diff` is called in such
cases, which will then fail because lit's internal `diff` doesn't
recognize `-` as a command-line option.  This patch adds support for
`-` to mean stdin.
Reviewed By: probinson, rnk
Differential Revision: https://reviews.llvm.org/D67643
The file was modifiedllvm/utils/lit/lit/builtin_commands/diff.py
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-r-error-8.txt
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-r-error-7.txt
The file was modifiedllvm/utils/lit/tests/shtest-shell.py
The file was modifiedllvm/utils/lit/tests/Inputs/shtest-shell/diff-pipes.txt
The file was modifiedllvm/utils/lit/tests/max-failures.py
The file was modifiedllvm/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
Commit e14f935ce2c9b65e137c16d2383299975f17f2d4 by listmail
[Docs] Reflect the slow migration from guard to widenable condition
which is currently in progress.
The file was modifiedllvm/docs/LangRef.rst
Commit 2460989eabb8adca4b7973aa23997b5ec832219b by listmail
[SelectionDAG] Enable lowering unordered atomics loads w/LoadSDNode (and
stores w/StoreSDNode) by default
Enable the new SelectionDAG representation for unordered loads and
stores introduced in r371441 by default.  As a reminder, the new
lowering changes the representation of an unordered atomic load from an
AtomicSDNode - which is essentially a black box which gets passed
through without combines messing with it - to a LoadSDNode w/a atomic
marker on the MMO. The later parallels the way we handle volatiles, and
I've audited the code to ensure that every location which checks one
checks the other.
This has been fairly heavily fuzzed, and I examined diffs in a
reasonable large corpus of assembly by hand, so I'm reasonable sure this
is correct for the common case.  Late in the review for this, it was
discovered that I hadn't correctly handled cases which could be
legalized into CAS operations.  This points out that there's a strong
bias in the IR of the frontend I'm working with towards only legal
atomics.  If there are problems with this patch, the most likely area
will be legalization.
Differential Revision: https://reviews.llvm.org/D69219
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/atomic-non-integer.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/X86/combineIncDecVector-crash.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-non-integer-fp128.ll