UnstableChanges

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

Summary

  1. [flang] Fix problems with constant arrays with lower bounds that are not 1 (details)
  2. [AMDGPU] Test all register names known to AMDGPUPALMetadata (details)
  3. Revert "Disable rosegment for old Android versions." (details)
  4. [GlobalISel] Fix modifying a G_OR without notifying the observer (details)
  5. [flang][docs] Add New Flang Driver Biweekly call (details)
  6. [mlir][docs] Fix typo: even -> event (details)
  7. [AArch64][Clang][Linux] Enable out-of-line atomics by default. (details)
  8. Make the profile-filter.c test compatible with 32-bit systems (details)
  9. [libcxx][test] explicitly discard bitset::test's return (details)
  10. [libcxx][test] Silence false positive MSVC /analyze warning (details)
  11. [OpenMP][NFC] Added release note for new `deviceRTLs` and hidden helper task (details)
  12. [OpenMP] Add environment variable to force monotonic dynamic scheduling (details)
Commit 543cd89d3fb5a108d4050635c00093695b2b6c6d by psteinfeld
[flang] Fix problems with constant arrays with lower bounds that are not 1

There were two problems with constant arrays whose lower bound is not 1.
First, when folding the arrays, we were creating the folded array to have lower
bounds of 1 but, we were not re-adjusting their lower bounds to the
declared values.  Second, we were not calculating the extents correctly.
Both of these problems led to bogus error messages.

I fixed the first problem by adjusting the lower bounds in
NonPointerInitializationExpr() in Evaluate/check-expression.cpp.  I wrote the
class ArrayConstantBoundChanger, which is similar to the existing class
ScalarConstantExpander.  In the process of implementing and testing it, I found
a bug that I fixed in ScalarConstantExpander which caused it to infinitely
recurse on parenthesized expressions.  I also removed the unrelated class
ScalarExpansionVisitor, which was not used.

I fixed the second problem by changing the formula that calculates upper bounds
in in the function ComputeUpperBound() in Evaluate/shape.cpp.

I added tests that trigger the bogus error messages mentioned above along with
a constant folding tests that uses array operands with shapes that conform but
have different bounds.

In the process of adding tests, I discovered that tests in
Evaluate/folding09.f90 and folding16.f90 were written incorrectly, and I
fixed them.  This also revealed a bug in contant folding of the
intrinsic "lbounds" which I plan to fix in a later change.

Differential Revision: https://reviews.llvm.org/D95449
The file was modifiedflang/test/Semantics/array-constr-values.f90
The file was modifiedflang/lib/Evaluate/check-expression.cpp
The file was modifiedflang/test/Evaluate/test_folding.sh
The file was modifiedflang/lib/Evaluate/shape.cpp
The file was modifiedflang/test/Evaluate/folding09.f90
The file was modifiedflang/test/Evaluate/folding16.f90
The file was modifiedflang/include/flang/Evaluate/tools.h
Commit 164c6de530586a984d998522d6dd1202c0430540 by jay.foad
[AMDGPU] Test all register names known to AMDGPUPALMetadata

Differential Revision: https://reviews.llvm.org/D95684
The file was addedllvm/test/MC/AMDGPU/pal-registers.s
Commit 1608ba09462d877111230e9461b895f696f8fcb1 by thakis
Revert "Disable rosegment for old Android versions."

This reverts commit fae16fc0eed7cf60207901818cfe040116f2ef00.
Breaks building compiler-rt android runtimes with trunk clang
but older NDK, see discussion on https://reviews.llvm.org/D95166
The file was modifiedclang/test/Driver/linux-ld.c
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
Commit 5cf6412a27892a7a48c83e26d79f8c3ae1cfa944 by jay.foad
[GlobalISel] Fix modifying a G_OR without notifying the observer

Remove the call to setFlags in favour of creating the instruction with
the correct flags in the first place, so we don't have to explicitly
notify the observer.

Differential Revision: https://reviews.llvm.org/D95681
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
Commit 9b64e0e205603bd558d180a0b900ccdbe105bf2b by andrzej.warzynski
[flang][docs] Add New Flang Driver Biweekly call
The file was modifiedflang/docs/GettingInvolved.md
Commit 010b176cdefbf904d58dc92b9ed3d19df70dd2a5 by rupprecht
[mlir][docs] Fix typo: even -> event
The file was modifiedmlir/docs/PassManagement.md
Commit c5e7e649d537067dec7111f3de1430d0fc8a4d11 by Pavel.Iliin
[AArch64][Clang][Linux] Enable out-of-line atomics by default.

Generate outline atomics if compiling for armv8-a non-LSE AArch64 Linux
(including Android) targets to use LSE instructions, if they are available,
at runtime. Library support is checked by clang driver which doesn't enable
outline atomics if no proper libraries (libgcc >= 9.3.1 or compiler-rt) found.

Differential Revision: https://reviews.llvm.org/D93585
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.0/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/crtbegin.o
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0/lib/gcc/aarch64-unknown-linux-gnu/7.5.0/libgcc.a
The file was modifiedclang/test/Driver/aarch64-features.c
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-10/lib/gcc/aarch64-unknown-linux-gnu/10/crtbegin.o
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.1/lib/gcc/aarch64-unknown-linux-gnu/9.3.1/crtbegin.o
The file was modifiedclang/lib/Driver/ToolChains/Linux.h
The file was modifiedclang/include/clang/Driver/ToolChain.h
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.0/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/libgcc.a
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-10/lib/gcc/aarch64-unknown-linux-gnu/10/libgcc.a
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.1/lib/gcc/aarch64-unknown-linux-gnu/9.3.1/libgcc.a
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was addedclang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0/lib/gcc/aarch64-unknown-linux-gnu/7.5.0/crtbegin.o
Commit 0217f1c7a31ba44715bc083a60cddc2192ffed96 by phosek
Make the profile-filter.c test compatible with 32-bit systems

This addresses PR48930.

Differential Revision: https://reviews.llvm.org/D95658
The file was modifiedclang/test/CodeGen/profile-filter.c
Commit 9f8ca86a87a73c4fba6f8f229008117f7d0f35ab by Casey
[libcxx][test] explicitly discard bitset::test's return

... just in case some implementation annotates it `[[nodiscard]]`.
The file was modifiedlibcxx/test/std/utilities/template.bitset/bitset.members/test.out_of_range.pass.cpp
Commit 5565092faa58c903206d4212377f367fe8720b67 by Casey
[libcxx][test] Silence false positive MSVC /analyze warning
The file was modifiedlibcxx/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp
Commit 7bc31018f71cac22b7060c49cefb6f3d0d2e2069 by tianshilei1992
[OpenMP][NFC] Added release note for new `deviceRTLs` and hidden helper task

Added release note for new `deviceRTLs` and hidden helper task for LLVM
12.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D95584
The file was modifiedopenmp/docs/ReleaseNotes.rst
Commit 67773681c0ef2a778a3c34d23b365899cd33e0c3 by terry.l.wilmarth
[OpenMP] Add environment variable to force monotonic dynamic scheduling

This patch introduces a new environment variable to force monotonic
behavior for users that absolutely need it.  This is in anticipation
of 5.0 change that uses non-monotonic behavior for dynamic scheduling
by default. Fixes for that and the actual switch are coming soon.

Differential Revision: https://reviews.llvm.org/D95263
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp

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

Summary

  1. [SPEC2017] Use inputs from RUN directory. (details)
Commit 336185b5b14e011a4a317cb2293df21173770f13 by florian_hahn
[SPEC2017] Use inputs from RUN directory.

At the moment, some benchmarks use inputs from the INPUT/SRC directory.
Those are not copied to the device, if one is specified. To ensure the
input is available on device, use it from the RUN_* directories and use
speccpu2017_prepare_rundir to copy them to the run directory. This will
automatically copy them to the specified device as well.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D95360
The file was modifiedExternal/SPEC/CINT2017rate/502.gcc_r/CMakeLists.txt
The file was modifiedExternal/SPEC/CINT2017rate/531.deepsjeng_r/CMakeLists.txt
The file was modifiedExternal/SPEC/CINT2017rate/541.leela_r/CMakeLists.txt
The file was modifiedExternal/SPEC/CFP2017rate/510.parest_r/CMakeLists.txt
The file was modifiedExternal/SPEC/CINT2017rate/505.mcf_r/CMakeLists.txt
The file was modifiedExternal/SPEC/CFP2017rate/538.imagick_r/CMakeLists.txt