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
|
 | flang/lib/Evaluate/check-expression.cpp |
 | flang/lib/Evaluate/shape.cpp |
 | flang/test/Evaluate/folding16.f90 |
 | flang/include/flang/Evaluate/tools.h |
 | flang/test/Semantics/array-constr-values.f90 |
 | flang/test/Evaluate/folding09.f90 |
 | flang/test/Evaluate/test_folding.sh |
Commit
164c6de530586a984d998522d6dd1202c0430540
by jay.foad[AMDGPU] Test all register names known to AMDGPUPALMetadata
Differential Revision: https://reviews.llvm.org/D95684
|
 | llvm/test/MC/AMDGPU/pal-registers.s |
Commit
1608ba09462d877111230e9461b895f696f8fcb1
by thakisRevert "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
|
 | clang/lib/Driver/ToolChains/Linux.cpp |
 | clang/test/Driver/linux-ld.c |
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
|
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h |
Commit
9b64e0e205603bd558d180a0b900ccdbe105bf2b
by andrzej.warzynski[flang][docs] Add New Flang Driver Biweekly call
|
 | flang/docs/GettingInvolved.md |
Commit
010b176cdefbf904d58dc92b9ed3d19df70dd2a5
by rupprecht[mlir][docs] Fix typo: even -> event
|
 | mlir/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
|
 | clang/test/Driver/aarch64-features.c |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.1/lib/gcc/aarch64-unknown-linux-gnu/9.3.1/crtbegin.o |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.0/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/libgcc.a |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0/lib/gcc/aarch64-unknown-linux-gnu/7.5.0/crtbegin.o |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.1/lib/gcc/aarch64-unknown-linux-gnu/9.3.1/libgcc.a |
 | clang/lib/Driver/ToolChains/Linux.cpp |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-10/lib/gcc/aarch64-unknown-linux-gnu/10/libgcc.a |
 | clang/lib/Driver/ToolChains/Linux.h |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-10/lib/gcc/aarch64-unknown-linux-gnu/10/crtbegin.o |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-9.3.0/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/crtbegin.o |
 | clang/include/clang/Driver/ToolChain.h |
 | clang/test/Driver/Inputs/aarch64-linux-gnu-tree/gcc-7.5.0/lib/gcc/aarch64-unknown-linux-gnu/7.5.0/libgcc.a |
Commit
0217f1c7a31ba44715bc083a60cddc2192ffed96
by phosekMake the profile-filter.c test compatible with 32-bit systems
This addresses PR48930.
Differential Revision: https://reviews.llvm.org/D95658
|
 | clang/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]]`.
|
 | libcxx/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
|
 | libcxx/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
|
 | openmp/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
|
 | openmp/runtime/src/kmp_dispatch.cpp |
 | openmp/runtime/src/kmp_settings.cpp |
 | openmp/runtime/src/kmp.h |
 | openmp/runtime/src/kmp_global.cpp |