platform/upstream/llvm.git
2 years ago[clangd] cleanup of header guard names
Christian Kühnel [Thu, 2 Dec 2021 13:43:13 +0000 (13:43 +0000)]
[clangd] cleanup of header guard names

Renaming header guards to match the LLVM convention.
This patch was created by automatically applying the fixes from
clang-tidy.

I've removed the [NFC]  tag from the title, as we're adding header guards in some files and thus might trigger behavior changes.

Differential Revision: https://reviews.llvm.org/D113896

2 years ago[Clang] Fix LTO pipeline test after 770a50b28c00211f9a.
Florian Hahn [Thu, 2 Dec 2021 15:41:31 +0000 (15:41 +0000)]
[Clang] Fix LTO pipeline test after 770a50b28c00211f9a.

2 years ago[AnnotationRemarks] Support generating annotation remarks with -O0.
Florian Hahn [Thu, 2 Dec 2021 14:50:14 +0000 (14:50 +0000)]
[AnnotationRemarks] Support generating annotation remarks with -O0.

This matches the legacy pass manager behavior. If remarks are not
enabled the pass is effectively a no-op.

2 years ago[clang-tidy] Fix build broken by commit 6a9487df73e917c4faf5e060f2bb33c6ade3f967...
Yitzhak Mandelbaum [Thu, 2 Dec 2021 14:41:00 +0000 (14:41 +0000)]
[clang-tidy] Fix build broken by commit 6a9487df73e917c4faf5e060f2bb33c6ade3f967 (D113148)

2 years ago[SLP][NFC]Add a test for extractelements with many uses vectorization, NFC.
Alexey Bataev [Thu, 2 Dec 2021 14:29:27 +0000 (06:29 -0800)]
[SLP][NFC]Add a test for extractelements with many uses vectorization, NFC.

2 years ago[AMDGPU] Add support for in-order bvh in waitcnt pass
David Stuttard [Tue, 30 Nov 2021 09:29:14 +0000 (09:29 +0000)]
[AMDGPU] Add support for in-order bvh in waitcnt pass

bvh should be handled separately from vmem and vmem with sampler instructions
for waitcnt handling.

Differential Revision: https://reviews.llvm.org/D114794

2 years ago[AMDGPU] Test for in-order waitcnt insertion for bvh instructions
David Stuttard [Tue, 30 Nov 2021 09:29:14 +0000 (09:29 +0000)]
[AMDGPU] Test for in-order waitcnt insertion for bvh instructions

In-order bvh instructions don't require a waitcnt as order is
guaranteed.

However, waitcnt IS required for other image instruction types vs
bvh.

Pre-commit test for new functionality in https://reviews.llvm.org/D114794

Differential Revision: https://reviews.llvm.org/D114792

2 years ago[VE][NFC] Cleanup redundant namespace wrapper
Simon Moll [Thu, 2 Dec 2021 12:59:24 +0000 (13:59 +0100)]
[VE][NFC] Cleanup redundant namespace wrapper

2 years ago[MemoryLocation] Support strncpy in getForArgument.
Florian Hahn [Thu, 2 Dec 2021 14:18:04 +0000 (14:18 +0000)]
[MemoryLocation] Support strncpy in getForArgument.

The size argument of strncpy can be used as bound for the size of
its pointer arguments.

strncpy is guaranteed to write N bytes and reads up to N bytes.

Reviewed By: xbolva00

Differential Revision: https://reviews.llvm.org/D114871

2 years ago[libc] Fix a bug in MPFRUtils making ULP values off by 2^(-mantissaWidth).
Tue Ly [Wed, 1 Dec 2021 15:24:57 +0000 (10:24 -0500)]
[libc] Fix a bug in MPFRUtils making ULP values off by 2^(-mantissaWidth).

Fix a bug in MPFRUtils making ULP values off by 2^(-mantissaWidth) and incorrect eps for denormal numbers.

Differential Revision: https://reviews.llvm.org/D114878

2 years ago[PatternMatch] create and use matcher for 'not' that excludes undef elements
Sanjay Patel [Wed, 1 Dec 2021 22:21:19 +0000 (17:21 -0500)]
[PatternMatch] create and use matcher for 'not' that excludes undef elements

We needed a stricter version of m_Not for D114462, but I wasn't
sure if that was going to be required anywhere else, so I didn't bother
to make that reusable.

It turns out we have one more existing simplification that needs
this (currently miscompiles):
https://alive2.llvm.org/ce/z/9-nTKi

And there's at least one more fold in that family that we could add.

Differential Revision: https://reviews.llvm.org/D114882

2 years ago[MemoryLocation] Support memset_chk in getForArgument.
Florian Hahn [Thu, 2 Dec 2021 13:45:58 +0000 (13:45 +0000)]
[MemoryLocation] Support memset_chk in getForArgument.

The size argument for memset_chk is an upper bound for the size of the
pointer argument. memset_chk may write less than the specified length,
if it exceeds the specified max size and aborts.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D114870

2 years ago[gn build] Port 6a9487df73e9
LLVM GN Syncbot [Thu, 2 Dec 2021 13:40:22 +0000 (13:40 +0000)]
[gn build] Port 6a9487df73e9

2 years ago[flang] GettingInvolved: update LLVM Alias Analysis Technical Call info
Jeroen Dobbelaere [Thu, 2 Dec 2021 13:36:11 +0000 (14:36 +0100)]
[flang] GettingInvolved: update LLVM Alias Analysis Technical Call info

The google doc was changed and the calls are now using teams.

Reviewed By: sameeranjoshi

Differential Revision: https://reviews.llvm.org/D114145

2 years ago[HIPSPV] Add CUDA->SPIR-V address space mapping
Anastasia Stulova [Thu, 2 Dec 2021 13:30:05 +0000 (13:30 +0000)]
[HIPSPV] Add CUDA->SPIR-V address space mapping

Add mapping for CUDA address spaces for HIP to SPIR-V
translation. This change allows HIP device code to be
emitted as valid SPIR-V by mapping unqualified pointers
to generic address space and by mapping __device__ and
__shared__ AS to their equivalent AS in SPIR-V
(CrossWorkgroup and Workgroup, respectively).

Cuda's __constant__ AS is handled specially. In HIP
unqualified pointers (aka "flat" pointers) can point to
__constant__ objects. Mapping this AS to ConstantMemory
would produce to illegal address space casts to
generic AS. Therefore, __constant__ AS is mapped to
CrossWorkgroup.

Patch by linjamaki (Henry Linjamäki)!

Differential Revision: https://reviews.llvm.org/D108621

2 years agoFix documentation for `forEachLambdaCapture` and `hasAnyCapture`
James King [Thu, 2 Dec 2021 13:27:33 +0000 (13:27 +0000)]
Fix documentation for `forEachLambdaCapture` and `hasAnyCapture`

Updates the return types of these matchers' definitions to use
`internal::Matcher<LambdaCapture>` instead of `LambdaCaptureMatcher`. This
ensures that they are categorized as traversal matchers, instead of narrowing
matchers.

Reviewed By: ymandel, tdl-g, aaron.ballman

Differential Revision: https://reviews.llvm.org/D114809

2 years agoAdd new clang-tidy check for string_view(nullptr)
CJ Johnson [Thu, 2 Dec 2021 13:17:12 +0000 (13:17 +0000)]
Add new clang-tidy check for string_view(nullptr)

Checks for various ways that the `const CharT*` constructor of `std::basic_string_view` can be passed a null argument and replaces them with the default constructor in most cases. For the comparison operators, braced initializer list does not compile so instead a call to `.empty()` or the empty string literal are used, where appropriate.

This prevents code from invoking behavior which is unconditionally undefined. The single-argument `const CharT*` constructor does not check for the null case before dereferencing its input. The standard is slated to add an explicitly-deleted overload to catch some of these cases: wg21.link/p2166

https://reviews.llvm.org/D114823 is a companion change to prevent duplicate warnings from the `bugprone-string-constructor` check.

Reviewed By: ymandel

Differential Revision: https://reviews.llvm.org/D113148

2 years ago[fir] Declare test function inline
Valentin Clement [Thu, 2 Dec 2021 13:17:28 +0000 (14:17 +0100)]
[fir] Declare test function inline

Declare functions checkCallOp and checkCallOpFromResultBox inline due to buildbot failure flang-aarch64-latest-clang

2 years agoExpand testing of necessary features for print-changed=dot-cfg.
Jamie Schmeiser [Thu, 2 Dec 2021 13:16:18 +0000 (08:16 -0500)]
Expand testing of necessary features for print-changed=dot-cfg.

Summary:
Expand the testing for whether the lit tests for print-changed=dot-cfg
are supported to include checking whether dot supports pdf output.

Author: Jamie Schmeiser <schmeise@ca.ibm.com>
Reviewed By: hvdijk (Harald van Dijk)
Differential Revision: https://reviews.llvm.org/D113187

2 years ago[AArch64][SVE] Enable bf16 vector.insert
Matt Devereau [Tue, 30 Nov 2021 15:10:06 +0000 (15:10 +0000)]
[AArch64][SVE] Enable bf16 vector.insert

Allow passthrough bf16 registers for vector.insert

Differential revision: https://reviews.llvm.org/D114858

2 years ago[VE][Clang][NFC] Disable VE toolchain tests on Windows
Simon Moll [Thu, 2 Dec 2021 12:33:46 +0000 (13:33 +0100)]
[VE][Clang][NFC] Disable VE toolchain tests on Windows

VE hardware is unsupported under Windows. Disable the clang VE toolchain
tests here. Tests breaking because of non-POSIX path separators.

2 years agoReland "[LICM] Hoist LOAD without sinking the STORE"
Djordje Todorovic [Thu, 2 Dec 2021 11:40:00 +0000 (03:40 -0800)]
Reland "[LICM] Hoist LOAD without sinking the STORE"

When doing load/store promotion within LICM, if we
cannot prove that it is safe to sink the store we won't
hoist the load, even though we can prove the load could
be dereferenced and moved outside the loop. This patch
implements the load promotion by moving it in the loop
preheader by inserting proper PHI in the loop. The store
is kept as is in the loop. By doing this, we avoid doing
the load from a memory location in each iteration.

Please consider this small example:

loop {
  var = *ptr;
  if (var) break;
  *ptr= var + 1;
}
After this patch, it will be:

var0 = *ptr;
loop {
  var1 = phi (var0, var2);
  if (var1) break;
  var2 = var1 + 1;
  *ptr = var2;
}
This addresses some problems from [0].

[0] https://bugs.llvm.org/show_bug.cgi?id=51193

Differential revision: https://reviews.llvm.org/D113289

2 years ago[BasicAA] Add tests for memset_pattern{4,8,16}.
Florian Hahn [Thu, 2 Dec 2021 11:50:32 +0000 (11:50 +0000)]
[BasicAA] Add tests for memset_pattern{4,8,16}.

This also removes the existing memset_pattern.ll test, which was relying
on GVN. It is also covered by the new test directly.

2 years ago[DAG][PowerPC] Enable initial ISD::BITCAST SimplifyDemandedBits/SimplifyMultipleUseDe...
Simon Pilgrim [Thu, 2 Dec 2021 11:47:43 +0000 (11:47 +0000)]
[DAG][PowerPC] Enable initial ISD::BITCAST SimplifyDemandedBits/SimplifyMultipleUseDemandedBits big-endian handling

This patch begins extending handling for peeking through bitcast nodes to big-endian targets as well as the existing little-endian case.

Differential Revision: https://reviews.llvm.org/D114676

2 years ago[LICM] Adding the test as a precommit for the D113289
Djordje Todorovic [Thu, 2 Dec 2021 11:31:53 +0000 (03:31 -0800)]
[LICM] Adding the test as a precommit for the D113289

2 years ago[ARM] Correct range in isLegalAddressImm
David Green [Thu, 2 Dec 2021 11:33:40 +0000 (11:33 +0000)]
[ARM] Correct range in isLegalAddressImm

The ranges in isLegalAddressImm were off by one, not allowing the
maximum values for unscaled offsets.

Differential Revision: https://reviews.llvm.org/D114636

2 years ago[llvm-readobj] Add support for machine-independent NetBSD ELF core notes.
Frederic Cambus [Mon, 29 Nov 2021 07:04:04 +0000 (08:04 +0100)]
[llvm-readobj] Add support for machine-independent NetBSD ELF core notes.

Notes generated in NetBSD core files provide additional information about
processes. These notes are described in core.5, which can be viewed here:
https://man.netbsd.org/core.5

Differential Revision: https://reviews.llvm.org/D114635

2 years ago[BuildLibCalls] Add support for memset_pattern{4,8}.
Florian Hahn [Thu, 2 Dec 2021 11:04:25 +0000 (11:04 +0000)]
[BuildLibCalls] Add support for memset_pattern{4,8}.

Add support for memset_pattern{4,8} similar to the existing
memset_pattern16 handling.

Reviewed By: ab

Differential Revision: https://reviews.llvm.org/D114883

2 years ago[GlobalOpt] Fix assertion failure during instruction deletion
Nikita Popov [Thu, 2 Dec 2021 10:55:56 +0000 (11:55 +0100)]
[GlobalOpt] Fix assertion failure during instruction deletion

This fixes the assertion failure reported in https://reviews.llvm.org/D114889#3166417,
by making RecursivelyDeleteTriviallyDeadInstructionsPermissive()
more permissive. As the function accepts a WeakTrackingVH, even if
originally only Instructions were inserted, we may end up with
different Value types after a RAUW operation. As such, we should
not assume that the vector only contains instructions.

Notably this matches the behavior of the
RecursivelyDeleteTriviallyDeadInstructions() function variant which
accepts a single value rather than vector.

2 years agoUse cc/c++ instead of gcc/g++ on FreeBSD.
Frederic Cambus [Wed, 24 Nov 2021 12:59:46 +0000 (13:59 +0100)]
Use cc/c++ instead of gcc/g++ on FreeBSD.

All supported FreeBSD platforms do not have GCC in base anymore.

Differential Revision: https://reviews.llvm.org/D114530

2 years ago[ARM] Add additional postinc distribute tests and regenerate tests. NFC
David Green [Thu, 2 Dec 2021 10:40:10 +0000 (10:40 +0000)]
[ARM] Add additional postinc distribute tests and regenerate tests. NFC

2 years ago[Flang] Replace notifyMatchFailure with TODO hard failures
Kiran Chandramohan [Wed, 1 Dec 2021 22:12:12 +0000 (22:12 +0000)]
[Flang] Replace notifyMatchFailure with TODO hard failures

For unimplemented patterns we revert to using TODO hard failures instead of
notifyMatchFailure.

For fir.select_type revert to using mlir::emiterror.
For the fir.embox TODO on a type with len params we cannot add a test since the type cannot be converted to llvm.

Adding negative tests using not and checking for the error message.
TODO exits with an error in a build without assertion but aborts in a
build with assertions. Abort requires using not with the --crash
option. The two different usages of not is handled by using a custom
command %not_todo_cmd which is converted to not or not --crash
depending on the presence or absence of assertions. Using llvm-config
to check the presence of assertions.

Reviewed By: clementval, awarzynski

Differential Revision: https://reviews.llvm.org/D114371

2 years agoRevert "Revert "[VE] Make VE official""
Simon Moll [Thu, 2 Dec 2021 10:17:47 +0000 (11:17 +0100)]
Revert "Revert "[VE] Make VE official""

This reverts commit 27c9e8b45b25614a92539ac6787dbb5670d950b3.

Bugs exposed by AddressSanitizer have been reproduced and fixed locally:
* commit e37000f3bff384
* commit 435d44bf8ab392

2 years ago[InferAttrs] Add memset_pattern{4,8} declarations to test.
Florian Hahn [Thu, 2 Dec 2021 10:11:54 +0000 (10:11 +0000)]
[InferAttrs] Add memset_pattern{4,8} declarations to test.

2 years ago[ELF] Discard input .note.gnu.build-id even with default --build-id=none
Fangrui Song [Thu, 2 Dec 2021 05:02:19 +0000 (05:02 +0000)]
[ELF] Discard input .note.gnu.build-id even with default --build-id=none

binutils 2.38 will adopt this behavior
https://sourceware.org/bugzilla/show_bug.cgi?id=28639

Reviewed By: ikudrin

Differential Revision: https://reviews.llvm.org/D114910

2 years ago[BuildLibCalls] Add additional attrs to memcpy_chk.
Florian Hahn [Thu, 2 Dec 2021 09:50:14 +0000 (09:50 +0000)]
[BuildLibCalls] Add additional attrs to memcpy_chk.

`memcpy_chk` can be treated like `memcpy`, with the exception that it
may not return (if it aborts the program).

See D114793 for a similar patch for `memset_chk`.

Reviewed By: xbolva00

Differential Revision: https://reviews.llvm.org/D114863

2 years ago[VE][NFC] Fix use-after-free in PVFMK expansion
Simon Moll [Thu, 2 Dec 2021 09:35:01 +0000 (10:35 +0100)]
[VE][NFC] Fix use-after-free in PVFMK expansion

There is custom expansion code for packed VFMK Pseudos in the VE
backend.  This code erased the Pseudo without telling
ExpandPostRAPseudos about it, causing the generic expansion function to
access the erased Pseudo.  This bug triggered in the
test/CodeGen/VE/VELIntrinsics/vfmk.ll test with asan-enabled builds.

Detected by:
sanitizer-x86_64-linux-fast
(https://lab.llvm.org/buildbot/#/builders/5/builds/15393)

2 years ago[ORC] Fix ambiguous call to overloaded function.
Lang Hames [Thu, 2 Dec 2021 09:40:16 +0000 (20:40 +1100)]
[ORC] Fix ambiguous call to overloaded function.

This should fix the build failure at
https://lab.llvm.org/buildbot#builders/110/builds/8359

2 years ago[clangd] IncludeClenaer: Don't mark forward declarations of a class if it's declared...
Kirill Bobyrev [Thu, 2 Dec 2021 09:21:19 +0000 (10:21 +0100)]
[clangd] IncludeClenaer: Don't mark forward declarations of a class if it's declared in the main file

This will mark more headers that are unrelated to used symbol but contain its
forawrd declaration. E.g. the following are examples of headers forward
declaring `llvm::StringRef`:

- clang/include/clang/Basic/Cuda.h
- llvm/include/llvm/Support/SHA256.h
- llvm/include/llvm/Support/TrigramIndex.h
- llvm/include/llvm/Support/RandomNumberGenerator.
- ... and more (~50 in total)

This patch is a reduced version of D112707 which was controversial.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D114864

2 years ago[fir] Add fir numeric intrinsic runtime call builder
Valentin Clement [Thu, 2 Dec 2021 09:18:38 +0000 (10:18 +0100)]
[fir] Add fir numeric intrinsic runtime call builder

This patch adds the FIR builder to generate the numeric intrinsic
runtime call.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: rovka

Differential Revision: https://reviews.llvm.org/D114477

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: mleair <leairmark@gmail.com>
2 years ago[llvm-c] Make LLVMAddAlias opaque pointer compatible
Nikita Popov [Wed, 1 Dec 2021 11:12:35 +0000 (12:12 +0100)]
[llvm-c] Make LLVMAddAlias opaque pointer compatible

Deprecate LLVMAddAlias in favor of LLVMAddAlias2, which accepts a
value type and an address space. Previously these were extracted
from the pointer type.

Differential Revision: https://reviews.llvm.org/D114860

2 years ago[GlobalOpt] Add test for PR39751 (NFC)
Nikita Popov [Thu, 2 Dec 2021 08:13:20 +0000 (09:13 +0100)]
[GlobalOpt] Add test for PR39751 (NFC)

This has been fixed by D114889, as noted in the comments.

2 years ago[clang-format] Add better support for co-routinues
mydeveloperday [Thu, 2 Dec 2021 08:05:30 +0000 (08:05 +0000)]
[clang-format] Add better support for co-routinues

Responding to a Discord call to help {D113977} and heavily inspired by the unlanded {D34225} add some support to help coroutinues from not being formatted from

```for co_await(auto elt : seq)```

to

```
for
co_await(auto elt : seq)
```

Because of the dominance of clang-format in the C++ community, I don't think we should make it the blocker that prevents users from embracing the newer parts of the standard because we butcher the layout of some of the new constucts.

Reviewed By: HazardyKnusperkeks, Quuxplusone, ChuanqiXu

Differential Revision: https://reviews.llvm.org/D114859

2 years ago[NFC][sanitizer] Check &real_pthread_join
Vitaly Buka [Thu, 2 Dec 2021 07:55:04 +0000 (23:55 -0800)]
[NFC][sanitizer] Check &real_pthread_join

It's a weak function which may be undefined.

2 years ago[openmp][amdgpu] Disable three tests in preparation for new runtime
Jon Chesterfield [Thu, 2 Dec 2021 07:57:01 +0000 (07:57 +0000)]
[openmp][amdgpu] Disable three tests in preparation for new runtime

2 years ago[ARM] Teach getIntImmCostInst about the cost of saturating fp converts
David Green [Thu, 2 Dec 2021 07:56:27 +0000 (07:56 +0000)]
[ARM] Teach getIntImmCostInst about the cost of saturating fp converts

Given a min(max(fptosi, INT_MIN), INT_MAX) with the correct constants,
we can now generate a fptosi.sat. But in the arm backend, the constant
can be treated as high cost, pulling it out of the basic block in a way
that the DAG combine can no longer see it. This teaches it again that it
is a low cost constant, not worth hoisting out.

Recommitted from 0e98659ea1193c with a fix for APInt comparison.

Differential Revision: https://reviews.llvm.org/D114380

2 years ago[ORC] Add support for removing JITDylibs.
Lang Hames [Tue, 30 Nov 2021 03:46:15 +0000 (14:46 +1100)]
[ORC] Add support for removing JITDylibs.

This allows JITDylibs to be removed from the ExecutionSession. Calling
ExecutionSession::removeJITDylib will disconnect the JITDylib from the
ExecutionSession and clear it (removing all trackers associated with it). The
JITDylib object will then be destroyed as soon as the last JITDylibSP pointing
at it is destroyed.

2 years ago[ORC] Only use JITDylib::GeneratorsMutex while running generators.
Lang Hames [Fri, 26 Nov 2021 01:13:11 +0000 (12:13 +1100)]
[ORC] Only use JITDylib::GeneratorsMutex while running generators.

GeneratorsMutex should prevent lookups from proceeding through the
generators of a single JITDylib concurrently (since this could
result in redundant attempts to generate definitions). Mutation of
the generators list itself should be done under the session lock.

2 years ago[ORC] Hold ResourceTracker in MaterializationResponsibility.
Lang Hames [Wed, 1 Dec 2021 23:48:50 +0000 (10:48 +1100)]
[ORC] Hold ResourceTracker in MaterializationResponsibility.

This keeps the tracker alive for the lifetime of the MR. This is needed so that
we can check whether the tracker has become defunct before posting results (or
failure) for the MR.

2 years ago[AMDGPU] Set most sched model resource's BufferSize to one
Austin Kerbow [Wed, 10 Nov 2021 17:59:31 +0000 (09:59 -0800)]
[AMDGPU] Set most sched model resource's BufferSize to one

Using a BufferSize of one for memory ProcResources will result in better
ILP since it more accurately models the dependencies between memory ops
and their consumers on an in-order processor. After this change, the
scheduler will treat the data edges from loads as blocking so that
stalls are guaranteed when waiting for data to be retreaved from memory.
Since we don't actually track waitcnt here, this should do a better job
at modeling their behavior.

Practically, this means that the scheduler will trigger the 'STALL'
heuristic more often.

This type of change needs to be evaluated experimentally. Preliminary
results are positive.

Fixes: SWDEV-282962

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D114777

2 years ago[AMDGPU][clang] Fix __builtin_nontemporal_store() failure on AMDGPU
skc7 [Wed, 1 Dec 2021 06:12:57 +0000 (06:12 +0000)]
[AMDGPU][clang] Fix  __builtin_nontemporal_store() failure on AMDGPU

Reviewed By: yaxunl, sameerds

Differential Revision: https://reviews.llvm.org/D114849

2 years ago[X86][FP16] Only generate approximate rsqrt when Reciprocal is true for half type
Phoebe Wang [Thu, 2 Dec 2021 05:11:07 +0000 (13:11 +0800)]
[X86][FP16] Only generate approximate rsqrt when Reciprocal is true for half type

We have reasonable fast sqrt and accurate rsqrt for half type due to the
limited fractions. So neither do we need multi steps refinement for
rsqrt nor replace sqrt by rsqrt.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D114844

2 years ago[X86] Insert FMUL for estimated non reciprocal SQRT when `RefinementSteps` = 0
Phoebe Wang [Thu, 2 Dec 2021 05:10:57 +0000 (13:10 +0800)]
[X86] Insert FMUL for estimated non reciprocal SQRT when `RefinementSteps` = 0

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D114843

2 years ago[lldb] Skip test_launch_scripted_process_stack_frames with ASan
Jonas Devlieghere [Thu, 2 Dec 2021 05:33:40 +0000 (21:33 -0800)]
[lldb] Skip test_launch_scripted_process_stack_frames with ASan

This test is failing on the sanitized bot because of a
heap-use-after-free. Disabling the test to turn the bot
green again.

rdar://85954489.

2 years ago[ELF] Prevent internalizing used comdat symbol
Igor Kudrin [Thu, 2 Dec 2021 05:10:07 +0000 (12:10 +0700)]
[ELF] Prevent internalizing used comdat symbol

When a comdat symbol is defined in both bitcode and regular object
files, which are contained in the same archive, the linker could lose
the flag that the symbol is used in the regular object file and allow
LTO to internalize it, which led to "error: undefined symbol".

The issue was introduced in D79300.

Differential Revision: https://reviews.llvm.org/D114801

2 years ago[mlir][drr] Simple heuristic to reduce chance of accidental nullptr dereference
Jacques Pienaar [Thu, 2 Dec 2021 04:45:08 +0000 (20:45 -0800)]
[mlir][drr] Simple heuristic to reduce chance of accidental nullptr dereference

When an attribute is optional & is given an additional constraint in
rewrite pattern that could lead to dereferencing null Attribute. Avoid
cases where the constraints checks attribute but has no check if null.

This should be improved to be more uniformly guarded.

2 years ago[AMDGPU] Add a regclass flag for scalar registers
Christudasan Devadasan [Sat, 18 Sep 2021 06:46:02 +0000 (02:46 -0400)]
[AMDGPU] Add a regclass flag for scalar registers

Along with vector RC flags, this scalar flag will
make various regclass queries like `isVGPR` more
accurate.

Regclasses other than vectors are currently set
with the new flag even though certain unallocatable
classes aren't truly scalars. It would be ok as long
as they remain unallocatable.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D110053

2 years ago[libc++] Implement P1989R2: range constructor for string_view
Joe Loser [Wed, 3 Nov 2021 22:45:04 +0000 (18:45 -0400)]
[libc++] Implement P1989R2: range constructor for string_view

Implement P1989R2 which adds a range constructor for `string_view`.

Adjust `operator/=` in `path` to avoid atomic constraints caching issue
getting provoked from this PR.

Add defaulted template argument to `string_view`'s "sufficient
overloads" to avoid mangling issues in `clang-cl` builds. It is a
MSVC mangling bug that this works around.

Differential Revision: https://reviews.llvm.org/D113161

2 years ago[NFC][sanitizer] Fix "not used" warning in test
Vitaly Buka [Thu, 2 Dec 2021 04:06:31 +0000 (20:06 -0800)]
[NFC][sanitizer] Fix "not used" warning in test

2 years ago[lldb] Fix DYLD_INSERT_LIBRARIES on AS
Jonas Devlieghere [Thu, 2 Dec 2021 04:01:45 +0000 (20:01 -0800)]
[lldb] Fix DYLD_INSERT_LIBRARIES on AS

Don't make DYLD_INSERT_LIBRARIES conditional on the host triple
containing x86.

2 years ago[tests] Precommit tests for writeonly argument attribute inference
Philip Reames [Thu, 2 Dec 2021 03:48:21 +0000 (19:48 -0800)]
[tests] Precommit tests for writeonly argument attribute inference

2 years ago[mlir][linalg][bufferize] Bufferization of tensor.insert
Matthias Springer [Thu, 2 Dec 2021 02:57:26 +0000 (11:57 +0900)]
[mlir][linalg][bufferize] Bufferization of tensor.insert

This is a lightweight operation, useful for writing unit tests. It will be utilized for testing in subsequent commits.

Differential Revision: https://reviews.llvm.org/D114693

2 years agoRevert "[VE] Make VE official"
Kevin Athey [Thu, 2 Dec 2021 00:13:22 +0000 (16:13 -0800)]
Revert "[VE] Make VE official"

Breaks fast buildbot.

This reverts commit a9d1d00b865ab6f6e75dcd649362a7c5cf01d168.

2 years ago[unroll] Fix a functional change in an NFC patch
Daniel Sanders [Thu, 2 Dec 2021 00:15:53 +0000 (16:15 -0800)]
[unroll] Fix a functional change in an NFC patch

5c77aa2b917c [unroll] Use early return in shouldFullUnroll [nfc]
wasn't quite NFC since !(x <= y) is x > y rather than x >= y

Credit to Justin Bogner for spotting the bug

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D114894

2 years agoRevert "[sanitizer] Add compress_stack_depot flag"
Steven Wan [Thu, 2 Dec 2021 01:20:09 +0000 (20:20 -0500)]
Revert "[sanitizer] Add compress_stack_depot flag"

This is failing on clang-s390x-linux,
https://lab.llvm.org/buildbot/#/builders/94/builds/6748.
This reverts commit bf18253b0ee543f98119e5ab6a5b57d05c24d314.

2 years ago[TSan][Darwin] Prevent inlining of functions in tests
Julian Lettner [Thu, 2 Dec 2021 00:58:36 +0000 (16:58 -0800)]
[TSan][Darwin] Prevent inlining of functions in tests

Prevent inlining of functions so we can FileCheck the generated stack
traces.

2 years ago[lldb] Split TestCxxChar8_t
Jonas Devlieghere [Thu, 2 Dec 2021 00:58:13 +0000 (16:58 -0800)]
[lldb] Split TestCxxChar8_t

Split TestCxxChar8_t into two parts: one that check reading variables
without a process and another part with. This allows us to skip the
former on Apple Silicon, where lack of support for chained fix-ups
causes the test to fail.

Differential revision: https://reviews.llvm.org/D114819

2 years ago[clang-tidy] Use `hasCanonicalType()` matcher in `bugprone-unused-raii` check
Fabian Wolff [Thu, 2 Dec 2021 00:34:31 +0000 (01:34 +0100)]
[clang-tidy] Use `hasCanonicalType()` matcher in `bugprone-unused-raii` check

Fixes PR#52217.

Reviewed By: simon.giesecke

Differential Revision: https://reviews.llvm.org/D113429

2 years ago[gn build] Port 170783f991fa
LLVM GN Syncbot [Thu, 2 Dec 2021 00:48:10 +0000 (00:48 +0000)]
[gn build] Port 170783f991fa

2 years ago[llvm] [Support] Add HTTP Client Support library.
Noah Shutty [Wed, 1 Dec 2021 23:46:57 +0000 (23:46 +0000)]
[llvm] [Support] Add HTTP Client Support library.

This patch implements a small HTTP client library consisting primarily of the `HTTPRequest`, `HTTPResponseHandler`, and `BufferedHTTPResponseHandler` classes. Unit tests of the `HTTPResponseHandler` and `BufferedHTTPResponseHandler` are included.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D112751

2 years ago[TSan][Darwin] Mark test unsupported
Julian Lettner [Wed, 1 Dec 2021 23:49:40 +0000 (15:49 -0800)]
[TSan][Darwin] Mark test unsupported

2 years ago[llvm-reduce] Assert that the number of chunks does not change with reductions
Arthur Eubanks [Sat, 13 Nov 2021 00:05:31 +0000 (16:05 -0800)]
[llvm-reduce] Assert that the number of chunks does not change with reductions

Followup to D113537.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D113816

2 years ago[Cloning] Clone metadata on function declarations
Arthur Eubanks [Fri, 12 Nov 2021 23:48:31 +0000 (15:48 -0800)]
[Cloning] Clone metadata on function declarations

Previously we missed cloning metadata on function declarations because
we don't call CloneFunctionInto() on declarations in CloneModule().

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D113812

2 years ago[gn build] Port 7cc2493daaf5
LLVM GN Syncbot [Wed, 1 Dec 2021 23:31:02 +0000 (23:31 +0000)]
[gn build] Port 7cc2493daaf5

2 years agoprofi - a flow-based profile inference algorithm: Part I (out of 3)
spupyrev [Wed, 1 Dec 2021 23:29:35 +0000 (15:29 -0800)]
profi - a flow-based profile inference algorithm: Part I (out of 3)

The benefits of sampling-based PGO crucially depends on the quality of profile
data. This diff implements a flow-based algorithm, called profi, that helps to
overcome the inaccuracies in a profile after it is collected.

Profi is an extended and significantly re-engineered classic MCMF (min-cost
max-flow) approach suggested by Levin, Newman, and Haber [2008, Complementing
missing and inaccurate profiling using a minimum cost circulation algorithm]. It
models profile inference as an optimization problem on a control-flow graph with
the objectives and constraints capturing the desired properties of profile data.
Three important challenges that are being solved by profi:
- "fixing" errors in profiles caused by sampling;
- converting basic block counts to edge frequencies (branch probabilities);
- dealing with "dangling" blocks having no samples in the profile.

The main implementation (and required docs) are in SampleProfileInference.cpp.
The worst-time complexity is quadratic in the number of blocks in a function,
O(|V|^2). However a careful engineering and extensive evaluation shows that
the running time is (slightly) super-linear. In particular, instances with
1000 blocks are solved within 0.1 second.

The algorithm has been extensively tested internally on prod workloads,
significantly improving the quality of generated profile data and providing
speedups in the range from 0% to 5%. For "smaller" benchmarks (SPEC06/17), it
generally improves the performance (with a few outliers) but extra work in
the compiler might be needed to re-tune existing optimization passes relying on
profile counts.

UPD Dec 1st 2021:
- synced the declaration and definition of the option `SampleProfileUseProfi ` to use type `cl::opt<bool`;
- added `inline` for `SampleProfileInference<BT>::findUnlikelyJumps` and `SampleProfileInference<BT>::isExit` to avoid linking problems on windows.

Reviewed By: wenlei, hoy

Differential Revision: https://reviews.llvm.org/D109860

2 years ago[libcxx][test][NFC] Various tests for std::vector
Konstantin Boyarinov [Wed, 1 Dec 2021 23:04:17 +0000 (02:04 +0300)]
[libcxx][test][NFC] Various tests for std::vector

Add missing tests for std::vector funcionality to improve code coverage:

  - Rewrote access tests to check modification of the container using
    the reference returned by the non-const overload
  - Added tests for reverse iterators: rbegin, rend, etc.
  - Added exception test for vector::reserve
  - Extended test cases for vector copy assignment
  - Fixed insert_iter_value.pass.cpp to use insert overload with const
    value_type& (not with value_type&& which is tested in
    iter_rvalue.pass.cpp test)

Reviewed By: Quuxplusone, rarutyun, #libc

Differential Revision: https://reviews.llvm.org/D112438

2 years ago[sanitizer] Implement MprotectReadOnly and MprotectNoAccess
Vitaly Buka [Wed, 1 Dec 2021 22:49:14 +0000 (14:49 -0800)]
[sanitizer] Implement MprotectReadOnly and MprotectNoAccess

MprotectReadOnly for Win and Fuchsia
MprotectNoAccess for Fuchsia

2 years ago[libc++] Make __wrap_iter constexpr
Nikolas Klauser [Tue, 30 Nov 2021 11:02:04 +0000 (12:02 +0100)]
[libc++] Make __wrap_iter constexpr

`__wrap_iter` is currently only constexpr if it's not a debug built, but it isn't used in a constexpr context currently. Making it always constexpr and disabling the debugging utilities at constant evaluation is more usful since it has to be always constexpr to be used in a constexpr context.

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D114733

2 years ago[NFC][sanitizer] constexpr in sanitizer_dense_map_info
Vitaly Buka [Wed, 1 Dec 2021 20:35:29 +0000 (12:35 -0800)]
[NFC][sanitizer] constexpr in sanitizer_dense_map_info

2 years ago[mlir] Remove extractVectorTypeFromShapedValue
Kazu Hirata [Wed, 1 Dec 2021 21:43:17 +0000 (13:43 -0800)]
[mlir] Remove extractVectorTypeFromShapedValue

This patch fixes the build by removing
extractVectorTypeFromShapedValue.  The last use was removed Dec 1,
2021 in commit extractVectorTypeFromShapedValue.

2 years ago[flang] Don't close stderr in runtime (fixes STOP output)
Peter Klausler [Wed, 1 Dec 2021 00:21:11 +0000 (16:21 -0800)]
[flang] Don't close stderr in runtime (fixes STOP output)

STOP statement output was sometimes failing to appear because
the runtime flushes and shuts down open Fortran units beforehand.
But when file descriptor 2 was closed, the STOP statement output
was suppressed.  The fix is to not actually close file descriptors
0-2 if they are connected to Fortran units being closed.  This was
already the policy when an OPEN statement was (re-)opening such a
unit, so that logic has been pulled out into a member function and
shared with CLOSE processing.

Differential Revision: https://reviews.llvm.org/D114897

2 years ago[Analyzer][solver] Simplification: Do a fixpoint iteration before the eq class merge
Gabor Marton [Wed, 1 Dec 2021 15:47:22 +0000 (16:47 +0100)]
[Analyzer][solver] Simplification: Do a fixpoint iteration before the eq class merge

This reverts commit f02c5f3478318075d1a469203900e452ba651421 and
addresses the issue mentioned in D114619 differently.

Repeating the issue here:
Currently, during symbol simplification we remove the original member
symbol from the equivalence class (`ClassMembers` trait). However, we
keep the reverse link (`ClassMap` trait), in order to be able the query
the related constraints even for the old member. This asymmetry can lead
to a problem when we merge equivalence classes:
```
ClassA: [a, b]   // ClassMembers trait,
a->a, b->a       // ClassMap trait, a is the representative symbol
```
Now let,s delete `a`:
```
ClassA: [b]
a->a, b->a
```
Let's merge ClassA into the trivial class `c`:
```
ClassA: [c, b]
c->c, b->c, a->a
```
Now, after the merge operation, `c` and `a` are actually in different
equivalence classes, which is inconsistent.

This issue manifests in a test case (added in D103317):
```
void recurring_symbol(int b) {
  if (b * b != b)
    if ((b * b) * b * b != (b * b) * b)
      if (b * b == 1)
}
```
Before the simplification we have these equivalence classes:
```
trivial EQ1: [b * b != b]
trivial EQ2: [(b * b) * b * b != (b * b) * b]
```

During the simplification with `b * b == 1`, EQ1 is merged with `1 != b`
`EQ1: [b * b != b, 1 != b]` and we remove the complex symbol, so
`EQ1: [1 != b]`
Then we start to simplify the only symbol in EQ2:
`(b * b) * b * b != (b * b) * b --> 1 * b * b != 1 * b --> b * b != b`
But `b * b != b` is such a symbol that had been removed previously from
EQ1, thus we reach the above mentioned inconsistency.

This patch addresses the issue by making it impossible to synthesise a
symbol that had been simplified before. We achieve this by simplifying
the given symbol to the absolute simplest form.

Differential Revision: https://reviews.llvm.org/D114887

2 years ago[TLI] Add memset_pattern4, memset_pattern8 lib functions.
Florian Hahn [Wed, 1 Dec 2021 21:18:19 +0000 (21:18 +0000)]
[TLI] Add memset_pattern4, memset_pattern8 lib functions.

Similar to memset_pattern16, memset_pattern4, memset_pattern8 are
available on Darwin platforms.

https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/memset_pattern4.3.html

Reviewed By: ab

Differential Revision: https://reviews.llvm.org/D114881

2 years ago[gn build] Port a0efb1750065
LLVM GN Syncbot [Wed, 1 Dec 2021 20:41:34 +0000 (20:41 +0000)]
[gn build] Port a0efb1750065

2 years ago[libcxx][modularisation] modularises <numeric> header
Christopher Di Bella [Wed, 1 Dec 2021 01:36:32 +0000 (01:36 +0000)]
[libcxx][modularisation] modularises <numeric> header

Differential Revision: https://reviews.llvm.org/D114836

2 years agoAMDGPU/GlobalISel: Fix constant bus restriction errors for med3
Petar Avramovic [Wed, 1 Dec 2021 16:39:39 +0000 (17:39 +0100)]
AMDGPU/GlobalISel: Fix constant bus restriction errors for med3

Detected on targets older then gfx10 (e.g. gfx9) for constants that are
too large to be inlined (constant are sgpr by default).
In med3 combine it is expected that regbankselect maps all operands of
min/max we try to match to vgpr. However constants are mapped to sgpr
and there will be a sgpr-to-vgpr copy. Matchers look through sgpr-to-vgpr
copies and return sgpr and these break constant bus restriction.
Build med3 with all vgpr operands. Use existing sgpr-to-vgpr copies for
matched sgprs. If there is no such copy (not expected) build one.

Differential Revision: https://reviews.llvm.org/D114700

2 years ago[TLI checker] Update for post-commit review comments
Paul Robinson [Tue, 23 Nov 2021 18:24:29 +0000 (10:24 -0800)]
[TLI checker] Update for post-commit review comments

Ignore undefined symbols; other minor code cleanup.
Replace test objects and their asm source with a yaml equivalent.

Differential Revision: https://reviews.llvm.org/D114478

2 years ago[DSE] Add libcall tests for functions only available on Darwin.
Florian Hahn [Wed, 1 Dec 2021 20:30:15 +0000 (20:30 +0000)]
[DSE] Add libcall tests for functions only available on Darwin.

Add a set of tests for memset_pattern{4,8,16} variants.

2 years agoFix false positives in `fuchsia-trailing-return` check involving deduction guides
Fabian Wolff [Wed, 1 Dec 2021 20:28:01 +0000 (15:28 -0500)]
Fix false positives in `fuchsia-trailing-return` check involving deduction guides

Fixes PR#47614. Deduction guides, implicit or user-defined, look like
function declarations in the AST. They aren't really functions, though,
and they always have a trailing return type, so it doesn't make sense
to issue this warning for them.

2 years ago[GlobalOpt] Simplify CleanupConstantGlobalUsers()
Nikita Popov [Sat, 23 Oct 2021 15:23:56 +0000 (17:23 +0200)]
[GlobalOpt] Simplify CleanupConstantGlobalUsers()

This bases the CleanupConstantGlobalUsers() implementation around
the ConstantFoldLoadFromConst() API. The general approach is that
we discover all users while looking through casts, and then
constant fold loads and drop stores and memintrinsics.

This avoids special cases and limitations in the previous
implementation, which is also incompatible with opaque pointers.
The result is a bit more powerful than before, because we now use
more general load folding logic which can for example look through
pointer bitcasts between different sizes. This is where the test
changes come from, as we now fold more loads and can thus remove
more globals.

Differential Revision: https://reviews.llvm.org/D114889

2 years ago[libc++] [test] Refactor string_view comparison tests for comprehensiveness.
Arthur O'Dwyer [Fri, 26 Nov 2021 19:24:36 +0000 (14:24 -0500)]
[libc++] [test] Refactor string_view comparison tests for comprehensiveness.

Differential Revision: https://reviews.llvm.org/D114658

2 years ago[libc++] [test] C++14/17-friendly `TEST_IS_CONSTANT_EVALUATED` macro.
Arthur O'Dwyer [Mon, 29 Nov 2021 19:56:00 +0000 (14:56 -0500)]
[libc++] [test] C++14/17-friendly `TEST_IS_CONSTANT_EVALUATED` macro.

Reviewed as part of D114658.
Ultimately this will probably have to be flipped around and renamed
`TEST_IS_RUNTIME`, and extended with `TEST_IS_RUNTIME_OR_CXX20` (once
constexpr std::string support is added) and so on for every new C++
version. But we don't need that flexibility yet, so we're not adding it.

2 years ago[libc++] [test] C++03-friendly MAKE_STRING macro.
Arthur O'Dwyer [Fri, 26 Nov 2021 20:17:21 +0000 (15:17 -0500)]
[libc++] [test] C++03-friendly MAKE_STRING macro.

Reviewed as part of D114658.

2 years ago[libcxx][NFC] Make sequence containers slightly more SFINAE-friendly during CTAD.
Konstantin Varlamov [Wed, 1 Dec 2021 19:55:46 +0000 (11:55 -0800)]
[libcxx][NFC] Make sequence containers slightly more SFINAE-friendly during CTAD.

Disable the constructors taking `(size_type, const value_type&,
allocator_type)` if `allocator_type` is not a valid allocator.
Otherwise, these constructors are considered when resolving e.g.
`(int*, int*, NotAnAllocator())`, leading to a hard error during
instantiation. A hard error makes the Standard's requirement to not
consider deduction guides of the form `(Iterator, Iterator,
BadAllocator)` during overload resolution essentially non-functional.

The previous approach was to SFINAE away `allocator_traits`. This patch
SFINAEs away the specific constructors instead, for consistency with
`basic_string` -- see [LWG3076](wg21.link/lwg3076) which describes
a very similar problem for strings (note, however, that unlike LWG3076,
no valid constructor call is affected by the bad instantiation).

Differential Revision: https://reviews.llvm.org/D114311

2 years ago[InstrProf][NFC] Refactor ProfileDataMap usage
Ellis Hoag [Wed, 1 Dec 2021 19:46:18 +0000 (11:46 -0800)]
[InstrProf][NFC] Refactor ProfileDataMap usage

Instead of using `DenseMap::find()` and `DenseMap::insert()`, use
`DenseMap::operator[]` to get a reference to the profile data and update
the reference. This simplifies the changes in D114565.

Reviewed By: kyulee

Differential Revision: https://reviews.llvm.org/D114828

2 years ago[RISCV] Add inline expansion for vector ftrunc/fceil/ffloor.
Craig Topper [Wed, 1 Dec 2021 18:46:30 +0000 (10:46 -0800)]
[RISCV] Add inline expansion for vector ftrunc/fceil/ffloor.

This prevents scalarization of fixed vector operations or crashes
on scalable vectors.

We don't have direct support for these operations. To emulate
ftrunc we can convert to the same sized integer and back to fp using
round to zero. We don't need to do a convert if the value is large
enough to have no fractional bits or is a nan.

The ceil and floor lowering would be better if we changed FRM, but
we don't model FRM correctly yet. So I've used the trunc lowering
with a conditional add or subtract with 1.0 if the truncate rounded
in the wrong direction.

There are also missed opportunities to use masked instructions.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D113543

2 years ago[flang] Adjust names in Semantics that imply too much (NFC)
Peter Klausler [Fri, 26 Nov 2021 21:26:50 +0000 (13:26 -0800)]
[flang] Adjust names in Semantics that imply too much (NFC)

Some kinds of Fortran arrays are declared with the same syntax,
and it is impossible to tell from a shape (:, :) or (*) whether
the object is assumed shape, deferred shape, assumed size, implied
shape, or whatever without recourse to more information about the
symbol in question.  This patch softens the names of some predicate
functions (IsAssumedShape to CanBeAssumedShape) and makes others
more reflective of the syntax they represent (isAssumed to isStar)
in an attempt to encourage coders to seek and find definitive
predicate functions whose names deliver what they seem to mean.

Address TODO comments in IsSimplyContiguous() by using the
updated IsAssumedShape() predicate.

Differential Revision: https://reviews.llvm.org/D114829

2 years agoRevert "[sanitizer] Add delta compression stack depot"
Hans Wennborg [Wed, 1 Dec 2021 19:02:51 +0000 (20:02 +0100)]
Revert "[sanitizer] Add delta compression stack depot"

Broke the build on Windows, where MprotectReadOnly() isn't defined, see comment
on the code review.

> Compress by factor 4x, takes about 10ms per 8 MiB block.
>
> Depends on D114498.
>
> Reviewed By: morehouse
>
> Differential Revision: https://reviews.llvm.org/D114503

This reverts commit 1d8f2957591cad2e82d99e2e04830e0faf87707e.

2 years ago[mlir][ods][nfc] fixing test cases
Mogball [Wed, 1 Dec 2021 18:40:36 +0000 (18:40 +0000)]
[mlir][ods][nfc] fixing test cases

2 years ago[Clang] Remove bogus "REQUIRES arm-registered-target" from SVE ACLE tests.
Paul Walker [Wed, 1 Dec 2021 18:06:11 +0000 (18:06 +0000)]
[Clang] Remove bogus "REQUIRES arm-registered-target" from SVE ACLE tests.

Many of the SVE ACLE tests have gained entries as follows:

  REQUIRES: aarch64-registered-target || arm-registered-target

which can cause test failures when only arm-registered-target is
available because only aarch64-registered-target supports SVE.