SuccessChanges

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

Summary

  1. [DebugInfo] Fixes windows bot failure due to a test failure (details)
  2. [mips] Fix typo in FileCheck directives - replace \0xa0 char by space. NFC (details)
  3. [TableGen] Fix register class handling in TableGen's DAG ISel Matcher Generator (details)
  4. [NFC] [PowerPC] Narrow fast-math flags in tests (details)
  5. [libc++] [LWG3321] Mark "year_month_day_last::day() specification does not cover !ok() values" issue as "Nothing to do", but add assertion. (details)
  6. [analyzer] Fix crash for non-pointers annotated as nonnull (details)
  7. [examples] Skip building the Bye pass plugin on windows (details)
  8. [libcxx testing] Remove ALLOW_RETRIES from wait_for futures test (details)
  9. [lldb] Also recognize DWARF UTF base types using their size (details)
Commit 678bd84c4dfe6764b88698d442bb2afb2f5c811b by SourabhSingh.Tomar
[DebugInfo] Fixes windows bot failure due to a test failure

This fixes failures on windows bot specifically:

http://lab.llvm.org:8011/builders/lld-x86_64-win/builds/445
and http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/
builds/32314

* TEST 'LLVM :: DebugInfo/X86/Fortran-DIModule.ll' FAILED *
Script:
--
: 'RUN: at line 2';   c:\ps4-buildslave2\lld-x86_64-win\build\bin\llc.exe
-mtriple=x86_64-pc-windows-gnu
c:\ps4-buildslave2\lld-x86_64-win\llvm-project\llvm\test\DebugInfo\X86\Fortran-DIModule.ll
-filetype=obj -o - |    c:\ps4-buildslave2\lld-x86_64-win\build\bin\llvm-dwarfdump.exe - |
c:\ps4-buildslave2\lld-x86_64-win\build\bin\filecheck.exe
c:\ps4-buildslave2\lld-x86_64-win\llvm-project\llvm\test\DebugInfo\X86\Fortran-DIModule.ll
--
Exit Code: 1
error: command failed with exit status: 1
The file was modifiedllvm/test/DebugInfo/X86/Fortran-DIModule.ll
Commit 524457edbc3da4ff3c9f6b7cbca3cd66caa4d16e by simon
[mips] Fix typo in FileCheck directives - replace \0xa0 char by space. NFC

The problem is found by the D79276 on the following builder:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/23489
The file was modifiedllvm/test/MC/Mips/mips-jump-pc-region.s
The file was modifiedllvm/test/MC/Mips/micromips-jump-pc-region.s
Commit cac6a26f38131371450b6fb55e75ba7299228afe by victor.campos
[TableGen] Fix register class handling in TableGen's DAG ISel Matcher Generator

Summary:
In TableGen's instruction selection table generator, references to
register classes were handled by generating a matcher table entry in the
form of "EmitStringInteger, MVT::i32, 'RegisterClassID'". This ID is in
fact the enum integer value corresponding to the register class.

However, both the table generator and the table consumer
(SelectionDAGISel) assume that this ID is less than or equal to 127,
i.e. at most 7 bits. Values greater than this threshold cause completely
wrong behaviours in the instruction selection process.

This patch adds a check to determine if the enum integer value is
greater than the limit of 127. In finding so, the generator emits an
"EmitInteger" instead, which properly supports values with arbitrary
sizes.

Commit f8d044bbcfdc9e1ddc02247ffb86fe39e1f277f0 fixed the very same bug
for register subindices. The present patch now extends this cover to
register classes.

Reviewers: rampitec

Reviewed By: rampitec

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79705
The file was addedllvm/test/TableGen/dag-isel-regclass-emit-enum.td
The file was modifiedllvm/utils/TableGen/DAGISelMatcherGen.cpp
Commit 2866c6cad475f668bd0bffabb0513dc96ff157be by qiucofan
[NFC] [PowerPC] Narrow fast-math flags in tests

A lot of tests under PowerPC are using fast flag, while fast is just
alias of 7 fast-math flags. This change makes test points clearer.

mc-instrlat.ll and sms-iterator.ll keeps unchanged since they are not
testing fast-math behavior. (one for machine combiner crash, one for
machine pipeliner bug)

Reviewed By: steven.zhang, spatel

Differential Revision: https://reviews.llvm.org/D78989
The file was modifiedllvm/test/CodeGen/PowerPC/fma-combine.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pow.75.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vsx-recip-est.ll
The file was modifiedllvm/test/CodeGen/PowerPC/qpx-recipest.ll
The file was modifiedllvm/test/CodeGen/PowerPC/repeated-fp-divisors.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-min-max.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fdiv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-assoc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-negate.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-precision.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-equal.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-mutate.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fmf-propagation.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_cmp.ll
The file was modifiedllvm/test/CodeGen/PowerPC/combine-fneg.ll
The file was modifiedllvm/test/CodeGen/PowerPC/load-two-flts.ll
The file was modifiedllvm/test/CodeGen/PowerPC/recipest.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vec-min-max.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll
Commit e25a2601aaa95c861af3228982ecbb2b1c19d27a by marek
[libc++] [LWG3321] Mark "year_month_day_last::day() specification does not cover !ok() values" issue as "Nothing to do", but add assertion.

Summary:
This LWG issue states that the result of `year_month_day_last::day()` is implementation defined if `ok()` is `false`.
However, from user perspective, calling `day()` in this situation will lead to a (possibly difficult to find) crash.
Hence, I have added an assertion to warn user at least when assertions are enabled.
I am however not aware of the libc++ stand on the desired behaviour.

Reviewers: ldionne, mclow.lists, EricWF, #libc

Reviewed By: ldionne, #libc

Subscribers: christof, dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D70346
The file was modifiedlibcxx/include/chrono
The file was modifiedlibcxx/www/cxx2a_status.html
Commit 855f0ce79bf3bdf34a390d1f5fd842a6aa79d5ef by vsavchenko
[analyzer] Fix crash for non-pointers annotated as nonnull

Summary:
Nonnull attribute can be applied to non-pointers.  This caused assertion
failures in NonNullParamChecker when we tried to *assume* such parameters
to be non-zero.

rdar://problem/63150074

Differential Revision: https://reviews.llvm.org/D79843
The file was modifiedclang/test/Analysis/UserNullabilityAnnotations.m
The file was modifiedclang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
Commit f8972662bc3b39377374a5e7d8abe7b4a74ac573 by martin
[examples] Skip building the Bye pass plugin on windows

Windows doesn't properly support pass plugins (as a shared library
can't have undefined references, which pass plugins assume, being
loaded into a host process that contains provides them), thus
disable building it and the corresponding test.

This matches what was done for the passes unit test in
bc8e44218810c0db6328b9809c959ceb7d43e3f5.

Differential Revision: https://reviews.llvm.org/D79771
The file was modifiedllvm/examples/Bye/CMakeLists.txt
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/test/Feature/load_extension.ll
Commit 1febe289827602ab4da2d28799c04ee9eb2bc175 by dave
[libcxx testing] Remove ALLOW_RETRIES from wait_for futures test

This test tried to verify that "wait()" returned quickly but "quick" is
impossible to define given a busy and/or slow system.

Instead, I've refactored the test to verify that `wait()` actually
waits which the old test did not verify.
The file was modifiedlibcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
Commit e16111ce2fce7fd86c10d3f1dfe3e3b62b76d73b by pavel
[lldb] Also recognize DWARF UTF base types using their size

Summary:
The D programming language has 'char', 'wchar', and 'dchar' as base types,
which are defined as UTF-8, UTF-16, and UTF-32, respectively.

It also has type constructors (e.g. 'const' and 'immutable'),
that leads to D compilers emitting DW_TAG_base_type with DW_ATE_UTF
and name 'char', 'immutable(wchar)', 'const(char)', etc...

Before this patch, DW_ATE_UTF would only recognize types that
followed the C/C++ naming, and emit an error message for the rest, e.g.:
```
error: need to add support for DW_TAG_base_type 'immutable(char)'
encoded with DW_ATE = 0x10, bit_size = 8
```

The code was changed to check the byte size first,
then fall back to the old name-based check.

Reviewers: clayborg, labath

Reviewed By: labath

Subscribers: labath, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D79559
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_TAG_basic_type_DW_ATE_UTF_nonC.ll