platform/upstream/llvm.git
3 years ago[AIX] Enabling vector type arguments and return for AIX
Zarko Todorovski [Fri, 27 Nov 2020 13:31:56 +0000 (08:31 -0500)]
[AIX] Enabling vector type arguments and return for AIX

This patch enables vector type arguments on AIX.  All non-aggregate Altivec vector types are 16bytes in size and are 16byte aligned.

Reviewed By: Xiangling_L

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

3 years agoDon't elide splat attributes during printing
Tamas Berghammer [Thu, 26 Nov 2020 11:03:12 +0000 (11:03 +0000)]
Don't elide splat attributes during printing

A splat attribute have a single element during printing so we should
treat it as such when we decide if we elide it or not based on the flag
intended to elide large attributes.

Reviewed By: rriddle, mehdi_amini

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

3 years agoRevert "[ASTMatchers] Matcher macros with params move params instead of copying"
Hans Wennborg [Fri, 27 Nov 2020 13:43:14 +0000 (14:43 +0100)]
Revert "[ASTMatchers] Matcher macros with params move params instead of copying"

This broke some clang matcher tests in 32-bit MSVC builds; see PR46781.

> Summary: Use move semantics instead of copying for AST Matchers with parameters
>
> Reviewers: aaron.ballman, gribozavr2
>
> Reviewed By: gribozavr2
>
> Subscribers: cfe-commits
>
> Tags: #clang
>
> Differential Revision: https://reviews.llvm.org/D75096

This reverts commit 3e9a7b2ba470bbe9cf3de3e4b15ba09dcfd206aa.

3 years ago[AArch64][SLP] Precommit tests which would be better not to SLP vectorize. NFC.
Sjoerd Meijer [Fri, 27 Nov 2020 13:41:35 +0000 (13:41 +0000)]
[AArch64][SLP] Precommit tests which would be better not to SLP vectorize. NFC.

3 years ago[OpenCL] Check for extension string extension lookup
Erik Tomusk [Fri, 27 Nov 2020 10:14:16 +0000 (10:14 +0000)]
[OpenCL] Check for extension string extension lookup

Calling any of the OpenCLOptions::is*() functions (except isKnown())
with an unknown extension string results in a seg fault. This patch
checks that the extension exists in the map before attempting to access
it.

Reviewed By: Anastasia

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

3 years ago[mlir] Fix typos and broken links in LangRef
Felipe de Azevedo Piovezan [Fri, 27 Nov 2020 13:07:01 +0000 (14:07 +0100)]
[mlir] Fix typos and broken links in LangRef

Many pages have had their titles renamed over time,
causing broken links to spread throughout the documentation.

Reviewed By: ftynse

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

3 years ago[obj2yaml] - Dump the `EShNum` key in some cases.
Georgii Rymar [Thu, 26 Nov 2020 13:05:38 +0000 (16:05 +0300)]
[obj2yaml] - Dump the `EShNum` key in some cases.

This patch starts emitting the `EShNum` key, when the `e_shnum = 0`
and the section header table exists.

`e_shnum` might be 0, when the the number of entries in the section header
table is larger than or equal to SHN_LORESERVE (0xff00).
In this case the real number of entries
in the section header table is held in the `sh_size`
member of the initial entry in section header table.

Currently, obj2yaml crashes when an object has `e_shoff != 0` and the `sh_size`
member of the initial entry in section header table is `0`.
This patch fixes it.

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

3 years ago[libc++] [docs] Exclude helper files from Sphinx configuration to avoid generating...
Marek Kurdej [Fri, 27 Nov 2020 12:47:20 +0000 (13:47 +0100)]
[libc++] [docs] Exclude helper files from Sphinx configuration to avoid generating empty pages.

3 years ago[obj2yaml] - Don't assert when trying to calculate the expected section offset.
Georgii Rymar [Thu, 26 Nov 2020 10:40:39 +0000 (13:40 +0300)]
[obj2yaml] - Don't assert when trying to calculate the expected section offset.

The following line asserts when `sh_addralign > MAX_UINT32 && (uint32_t)sh_addralign == 0`:

```
    ExpectedOffset = alignTo(ExpectedOffset,
                             SecHdr.sh_addralign ? SecHdr.sh_addralign : 1);
```

it happens because `sh_addralign` is truncated to 32-bit value, but `alignTo`
doesn't accept `Align == 0`. We should change `1` to `1uLL`.

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

3 years ago[ARM] MVE qabs vectorization test. NFC
David Green [Fri, 27 Nov 2020 12:21:11 +0000 (12:21 +0000)]
[ARM] MVE qabs vectorization test. NFC

3 years ago[SLP] Dump Tree costs. NFC.
Sjoerd Meijer [Fri, 27 Nov 2020 11:30:45 +0000 (11:30 +0000)]
[SLP] Dump Tree costs. NFC.

This adds LLVM_DEBUG messages to dump the (intermediate) tree cost
calculations, which is useful to trace and see how the final cost is
calculated.

3 years ago[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y...
Simon Pilgrim [Fri, 27 Nov 2020 11:00:34 +0000 (11:00 +0000)]
[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal

If usubsat() is legal, this is likely to result in smaller codegen expansion than the default cmp+select codegen expansion.

Allows us to move the x86-specific lowering to the generic expansion code.

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

3 years ago[X86] Regenerate extract-store.ll tests
Simon Pilgrim [Thu, 26 Nov 2020 18:50:29 +0000 (18:50 +0000)]
[X86] Regenerate extract-store.ll tests

Rename prefix from X32 to X86 as we typically use X32 for gnux32 triples

3 years ago[libc] Fix typo in buildbot README.txt.
Cheng Wang [Thu, 29 Oct 2020 11:10:44 +0000 (19:10 +0800)]
[libc] Fix typo in buildbot README.txt.

Reviewed By: sivachandra

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

3 years ago[LegacyPM] Avoid a redundant map lookup in setLastUser. NFC.
Jay Foad [Thu, 26 Nov 2020 16:48:14 +0000 (16:48 +0000)]
[LegacyPM] Avoid a redundant map lookup in setLastUser. NFC.

As a bonus this makes it (IMO) obvious that the iterator is not
invalidated, so remove the comment explaining that.

3 years ago[LegacyPM] Remove unused undocumented parameter. NFC.
Jay Foad [Fri, 27 Nov 2020 10:03:05 +0000 (10:03 +0000)]
[LegacyPM] Remove unused undocumented parameter. NFC.

The Direction parameter to AnalysisResolver::getAnalysisIfAvailable has
never been documented or used for anything.

3 years ago[ASTImporter] Import the default argument of NonTypeTemplateParmDecl
Raphael Isemann [Thu, 26 Nov 2020 17:02:25 +0000 (18:02 +0100)]
[ASTImporter] Import the default argument of NonTypeTemplateParmDecl

The test case isn't using the AST matchers for all checks as there doesn't seem to be support for
matching NonTypeTemplateParmDecl default arguments. Otherwise this is simply importing the
default arguments.

Reviewed By: martong

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

3 years ago[SVE] Add a couple of extra sizeless type tests
Richard Sandiford [Thu, 5 Mar 2020 19:23:35 +0000 (19:23 +0000)]
[SVE] Add a couple of extra sizeless type tests

This patch adds tests for things that happened to be fixed by previous
patches, but that should continue working if we do decide to treat
sizeless types as incomplete types.

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

3 years ago[InstSimplify] Clarify use of FixedVectorType in SimplifySelectInst
Cullen Rhodes [Tue, 24 Nov 2020 18:07:13 +0000 (18:07 +0000)]
[InstSimplify] Clarify use of FixedVectorType in SimplifySelectInst

Folding a select of vector constants that include undef elements only
applies to fixed vectors, but there's no earlier check the type is not
scalable so it crashes for scalable vectors. This adds a check so this
optimization is only attempted for fixed vectors.

Reviewed By: sdesmalen

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

3 years agoReland [SimplifyCFG] FoldBranchToCommonDest: lift use-restriction on bonus instructions
Roman Lebedev [Fri, 27 Nov 2020 07:21:33 +0000 (10:21 +0300)]
Reland [SimplifyCFG] FoldBranchToCommonDest: lift use-restriction on bonus instructions

This was orginally committed in 2245fb8aaa1c1f85f53f7b19a1ee3ac69b1a1dfe.
but was immediately reverted in f3abd54958ab90ba7c100d3fa936a3ce0dd2ad04
because of a PHI handling issue.

Original commit message:

1. It doesn't make sense to enforce that the bonus instruction
   is only used once in it's basic block. What matters is
   whether those user instructions fit within our budget, sure,
   but that is another question.
2. It doesn't make sense to enforce that said bonus instructions
   are only used within their basic block. Perhaps the branch
   condition isn't using the value computed by said bonus instruction,
   and said bonus instruction is simply being calculated
   to be used in successors?

So iff we can clone bonus instructions, to lift these restrictions,
we just need to carefully update their external uses
to use the new cloned instructions.

Notably, this transform (even without this change) appears to be
poison-unsafe as per alive2, but is otherwise (including the patch) legal.

We don't introduce any new PHI nodes, but only "move" the instructions
around, i'm not really seeing much potential for extra cost modelling
for the transform, especially since now we allow at most one such
bonus instruction by default.

This causes the fold to fire +11.4% more (13216 -> 14725)
as of vanilla llvm test-suite + RawSpeed.

The motivational pattern is IEEE-754-2008 Binary16->Binary32
extension code:
https://github.com/darktable-org/rawspeed/blob/ca57d77fb2ba81f21fc712cfac26e54f46406473/src/librawspeed/common/FloatingPoint.h#L115-L120
^ that should be a switch, but it is not now: https://godbolt.org/z/bvja5v
That being said, even thought this seemed like this would fix it: https://godbolt.org/z/xGq3TM
apparently that fold is happening somewhere else afterall,
so something else also has a similar 'artificial' restriction.

3 years ago[NFC][SimplifyCFG] FoldBranchToCommonDest: add one more test with PHI
Roman Lebedev [Fri, 27 Nov 2020 08:47:41 +0000 (11:47 +0300)]
[NFC][SimplifyCFG] FoldBranchToCommonDest: add one more test with PHI

This is the problematic pattern i didn't think of,
that lead to revert of 2245fb8aaa1c1f85f53f7b19a1ee3ac69b1a1dfe
in f3abd54958ab90ba7c100d3fa936a3ce0dd2ad04.

3 years ago[MLIR][SCF] Find all innermost loops for parallel loop tiling
Frederik Gossen [Fri, 27 Nov 2020 09:06:29 +0000 (10:06 +0100)]
[MLIR][SCF] Find all innermost loops for parallel loop tiling

Overcome the assumption that parallel loops are only nested in other parallel
loops.

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

3 years ago[mlir] Add gpu.allocate, gpu.deallocate ops with LLVM lowering to runtime function...
Christian Sigg [Tue, 24 Nov 2020 21:07:34 +0000 (22:07 +0100)]
[mlir] Add gpu.allocate, gpu.deallocate ops with LLVM lowering to runtime function calls.

The ops are very similar to the std variants, but support async GPU execution.

gpu.alloc does not currently support an alignment attribute, and the new ops do not have
canonicalizers/folders like their std siblings do.

Reviewed By: herhut

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

3 years ago[msan] Fix bugs when instrument x86.avx512*_cvt* intrinsics.
Wang, Pengfei [Fri, 27 Nov 2020 08:02:09 +0000 (16:02 +0800)]
[msan] Fix bugs when instrument x86.avx512*_cvt* intrinsics.

Scalar intrinsics x86.avx512*_cvt* have an extra rounding mode operand.
We can directly ignore it to reuse the SSE/AVX math.
This fix the bug https://bugs.llvm.org/show_bug.cgi?id=48298.

Reviewed By: craig.topper

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

3 years ago[mlir] Let ModuleTranslate propagate LLVM triple
Nicolas Vasilache [Thu, 26 Nov 2020 15:58:34 +0000 (15:58 +0000)]
[mlir] Let ModuleTranslate propagate LLVM triple

This adds LLVM triple propagation and updates the test that did not check it properly.

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

3 years ago[libc][Obvious] Fix typo in strnlen_test.cpp.
Cheng Wang [Fri, 27 Nov 2020 07:38:16 +0000 (15:38 +0800)]
[libc][Obvious] Fix typo in strnlen_test.cpp.

3 years agoRevert "[DebugInfo] Improve dbg preservation in LSR."
Markus Lavin [Fri, 27 Nov 2020 07:49:20 +0000 (08:49 +0100)]
Revert "[DebugInfo] Improve dbg preservation in LSR."

This reverts commit 06758c6a6135f59deec8e73d4fcb69946ab47f54.

Bug: https://bugs.llvm.org/show_bug.cgi?id=48166
Additional discussion in: https://reviews.llvm.org/D91711

3 years ago[llvm-readelf/obj] - Stop calling `reportError` in `printArchSpecificInfo()`.
Georgii Rymar [Wed, 25 Nov 2020 11:54:35 +0000 (14:54 +0300)]
[llvm-readelf/obj] - Stop calling `reportError` in `printArchSpecificInfo()`.

This is related to MIPS. Currently we might report an error and exit,
though there is no problem to report a warning and try to continue dumping
an object. The code uses `MipsGOTParser<ELFT> Parser`, which is isolated
in this method.

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

3 years ago[RISCV] Don't remove (and X, 0xffffffff) from inputs when matching RISCVISD::DIVUW...
Craig Topper [Fri, 27 Nov 2020 06:31:13 +0000 (22:31 -0800)]
[RISCV] Don't remove (and X, 0xffffffff) from inputs when matching RISCVISD::DIVUW/REMUW to 64-bit DIVU/REMU.

These patterns are using zexti32 which matches either assertzexti32
or (and X, 0xffffffff). But if we match (and X, 0xffffffff) it will
remove the AND and the inputs may no longer have the zero bits
needed to guarantee the result has enough zeros.

This commit changes the patterns to only match assertzexti32.
I'm not sure how to test the broken case since the DIVUW/REMUW nodes
are created during type legalization, but type legalization won't
create an (and X, 0xfffffffff) directly on the inputs.

I've also changed the zexti32 on the root of the pattern to just
checking for AND. We were previously also matching assertzexti32,
but I doubt that pattern would ever occur.

3 years ago[Test] Add some more tests showing how we fail to widen IV
Max Kazantsev [Fri, 27 Nov 2020 07:03:05 +0000 (14:03 +0700)]
[Test] Add some more tests showing how we fail to widen IV

3 years ago[IR] Use llvm::is_contained and pred_size (NFC)
Kazu Hirata [Fri, 27 Nov 2020 06:02:04 +0000 (22:02 -0800)]
[IR] Use llvm::is_contained and pred_size (NFC)

3 years ago[IndVars] LCSSA Phi users should not prevent widening
Max Kazantsev [Fri, 27 Nov 2020 04:19:54 +0000 (11:19 +0700)]
[IndVars] LCSSA Phi users should not prevent widening

When widening an IndVar that has LCSSA Phi users outside
the loop, we can safely widen it as usual and then truncate
the result outside the loop without hurting the performance.

Differential Revision: https://reviews.llvm.org/D91593
Reviewed By: skatkov

3 years ago[clangd] Add support for within-file rename of complicated fields
Kirill Bobyrev [Fri, 27 Nov 2020 02:59:24 +0000 (03:59 +0100)]
[clangd] Add support for within-file rename of complicated fields

This was originally a part of D71880 but is separated for simplicity and ease
of reviewing.

Fixes: https://github.com/clangd/clangd/issues/582

Reviewed By: hokein

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

3 years ago[DAGCombine] Adding a hook to improve the precision of fsqrt if the input is denormal
QingShan Zhang [Fri, 27 Nov 2020 02:10:55 +0000 (02:10 +0000)]
[DAGCombine] Adding a hook to improve the precision of fsqrt if the input is denormal

For now, we will hardcode the result as 0.0 if the input is denormal or 0. That will
have the impact the precision. As the fsqrt added belong to the cold path of the
cmp+branch, it won't impact the performance for normal inputs for PowerPC, but improve
the precision if the input is denormal.

Reviewed By: Spatel

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

3 years ago[InlineCost] Fix indentation (NFC)
Kazu Hirata [Fri, 27 Nov 2020 02:00:54 +0000 (18:00 -0800)]
[InlineCost] Fix indentation (NFC)

3 years ago[LangRef] Add poison constant
Juneyoung Lee [Thu, 26 Nov 2020 10:33:42 +0000 (19:33 +0900)]
[LangRef] Add poison constant

This patch adds a description about the newly added poison constant to LangRef.

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

3 years ago[RISCV] Add isel patterns to use SBSET for (1 << X) by using X0 as the input.
Craig Topper [Thu, 26 Nov 2020 23:08:54 +0000 (15:08 -0800)]
[RISCV] Add isel patterns to use SBSET for (1 << X) by using X0 as the input.

3 years ago[clangd] Fix use of system-installed GRPC after f726101b6240a6740b3c0926af759da5e7336f8a
Sam McCall [Wed, 25 Nov 2020 16:18:00 +0000 (17:18 +0100)]
[clangd] Fix use of system-installed GRPC after f726101b6240a6740b3c0926af759da5e7336f8a

We need a real target now, and it was only being created if grpc was
built from source or imported from homebrew.

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

3 years ago[BasicAA] Fix BatchAA results for phi-phi assumptions
Nikita Popov [Sun, 22 Nov 2020 17:23:53 +0000 (18:23 +0100)]
[BasicAA] Fix BatchAA results for phi-phi assumptions

Add a flag that disables caching when computing aliasing results
potentially based on a phi-phi NoAlias assumption. We'll still
insert cache entries temporarily to catch infinite recursion,
but will drop them afterwards, so they won't persist in BatchAA.

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

3 years ago[test] Fix runtime-pointer-checking-insert-typesize.ll under NPM
Arthur Eubanks [Thu, 26 Nov 2020 20:33:24 +0000 (12:33 -0800)]
[test] Fix runtime-pointer-checking-insert-typesize.ll under NPM

Also clean it up a bit.

3 years ago[libc++] Install missing package in the Dockerfile
Louis Dionne [Thu, 26 Nov 2020 20:14:02 +0000 (15:14 -0500)]
[libc++] Install missing package in the Dockerfile

python3-distutils is required to use `import distutils.spawn`, which is
required by the ABI list targets.

3 years agoRevert "[SimplifyCFG] FoldBranchToCommonDest: lift use-restriction on bonus instructions"
Roman Lebedev [Thu, 26 Nov 2020 20:11:26 +0000 (23:11 +0300)]
Revert "[SimplifyCFG] FoldBranchToCommonDest: lift use-restriction on bonus instructions"

Many bots are unhappy, at the very least missed a few codegen tests,
and possibly this has a logic hole inducing a miscompile
(will be really awesome to have ready reproducer..)

Need to investigate.

This reverts commit 2245fb8aaa1c1f85f53f7b19a1ee3ac69b1a1dfe.

3 years ago[llvmbuildectomy] Also include component groups in llvm-config --components list
Mariusz Ceier [Thu, 26 Nov 2020 20:03:22 +0000 (21:03 +0100)]
[llvmbuildectomy] Also include component groups in llvm-config --components list

Without this change mesa fails while looking for llvm components like amdgpu, engine or native:

    Run-time dependency LLVM (modules: amdgpu(missing), bitreader, bitwriter, core, engine(missing), executionengine, instcombine, ipo, mcdisassembler, mcjit, native(missing), scalaropts, transformutils, coroutines)
    Looking for a fallback subproject for the dependency llvm (modules: bitwriter, engine, mcdisassembler, mcjit, core, executionengine, scalaropts, transformutils, instcombine, amdgpu, native, bitreader, ipo)

This change adds component groups (like all-targets, engine, native, amdgpu) to the "all" component.

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

3 years ago[SimplifyCFG] FoldBranchToCommonDest: lift use-restriction on bonus instructions
Roman Lebedev [Thu, 26 Nov 2020 16:41:31 +0000 (19:41 +0300)]
[SimplifyCFG] FoldBranchToCommonDest: lift use-restriction on bonus instructions

1. It doesn't make sense to enforce that the bonus instruction
   is only used once in it's basic block. What matters is
   whether those user instructions fit within our budget, sure,
   but that is another question.
2. It doesn't make sense to enforce that said bonus instructions
   are only used within their basic block. Perhaps the branch
   condition isn't using the value computed by said bonus instruction,
   and said bonus instruction is simply being calculated
   to be used in successors?

So iff we can clone bonus instructions, to lift these restrictions,
we just need to carefully update their external uses
to use the new cloned instructions.

Notably, this transform (even without this change) appears to be
poison-unsafe as per alive2, but is otherwise (including the patch) legal.

We don't introduce any new PHI nodes, but only "move" the instructions
around, i'm not really seeing much potential for extra cost modelling
for the transform, especially since now we allow at most one such
bonus instruction by default.

This causes the fold to fire +11.4% more (13216 -> 14725)
as of vanilla llvm test-suite + RawSpeed.

The motivational pattern is IEEE-754-2008 Binary16->Binary32
extension code:
https://github.com/darktable-org/rawspeed/blob/ca57d77fb2ba81f21fc712cfac26e54f46406473/src/librawspeed/common/FloatingPoint.h#L115-L120
^ that should be a switch, but it is not now: https://godbolt.org/z/bvja5v
That being said, even thought this seemed like this would fix it: https://godbolt.org/z/xGq3TM
apparently that fold is happening somewhere else afterall,
so something else also has a similar 'artificial' restriction.

3 years ago[NFC][SimplifyCFG] Add test coverage for FoldBranchToCommonDest xform with live-out...
Roman Lebedev [Thu, 26 Nov 2020 12:21:56 +0000 (15:21 +0300)]
[NFC][SimplifyCFG] Add test coverage for FoldBranchToCommonDest xform with live-out bonus instuctions

The uses of the bonus instructions should not be preventing the transformation.

3 years ago[NFC][SimplifyCFG] Add statistic to `FoldBranchToCommonDest()` fold
Roman Lebedev [Thu, 26 Nov 2020 11:58:28 +0000 (14:58 +0300)]
[NFC][SimplifyCFG] Add statistic to `FoldBranchToCommonDest()` fold

3 years ago[libc++] Remove ABI lists for previous releases
Louis Dionne [Thu, 26 Nov 2020 19:45:07 +0000 (14:45 -0500)]
[libc++] Remove ABI lists for previous releases

We don't actually update the ABI lists at every release -- it's too much
work, since we'd technically have to do it even for minor releases.
Furthermore, I don't think anybody uses those (I certainly don't rely
on them for anything).

Instead, it is better to rely on the ABI list changelog and the canonical
ABI list that we always keep up to date. If one wants to know what symbols
were shipped in a specific release, that can be discovered easily using
Git, which is a superior tool than keeping textual copies of old versions.

3 years ago[libc++] Fix the Homebrew tap to install Buildkite on macOS hosts
Louis Dionne [Thu, 26 Nov 2020 19:40:38 +0000 (14:40 -0500)]
[libc++] Fix the Homebrew tap to install Buildkite on macOS hosts

3 years ago[clangd] AddUsing: do not crash on non-namespace using decls.
Adam Czachorowski [Thu, 26 Nov 2020 16:51:04 +0000 (17:51 +0100)]
[clangd] AddUsing: do not crash on non-namespace using decls.

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

3 years ago[X86] Regenerate i64-to-float.ll tests with avx512 coverage
Simon Pilgrim [Thu, 26 Nov 2020 18:29:37 +0000 (18:29 +0000)]
[X86] Regenerate i64-to-float.ll tests with avx512 coverage

Rename prefix from X32 to X86 as we typically use X32 for gnux32 triples

3 years ago[BPF][NewPM] Port bpf-adjust-opt to NPM and add it to pipeline
Arthur Eubanks [Thu, 19 Nov 2020 17:37:40 +0000 (09:37 -0800)]
[BPF][NewPM] Port bpf-adjust-opt to NPM and add it to pipeline

Reviewed By: yonghong-song

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

3 years ago[AA] Split up LocationSize::unknown()
Nikita Popov [Tue, 17 Nov 2020 19:11:09 +0000 (20:11 +0100)]
[AA] Split up LocationSize::unknown()

Currently, we have some confusion in the codebase regarding the
meaning of LocationSize::unknown(): Some parts (including most of
BasicAA) assume that LocationSize::unknown() only allows accesses
after the base pointer. Some parts (various callers of AA) assume
that LocationSize::unknown() allows accesses both before and after
the base pointer (but within the underlying object).

This patch splits up LocationSize::unknown() into
LocationSize::afterPointer() and LocationSize::beforeOrAfterPointer()
to make this completely unambiguous. I tried my best to determine
which one is appropriate for all the existing uses.

The test changes in cs-cs.ll in particular illustrate a previously
clearly incorrect AA result: We were effectively assuming that
argmemonly functions were only allowed to access their arguments
after the passed pointer, but not before it. I'm pretty sure that
this was not intentional, and it's certainly not specified by
LangRef that way.

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

3 years ago[MC] Set the unique id of .stack_sizes to the associated .text section's
Fangrui Song [Thu, 26 Nov 2020 17:13:08 +0000 (09:13 -0800)]
[MC] Set the unique id of .stack_sizes to the associated .text section's

Similar to D92113. Currently `clang -fstack-size-section -fno-unique-section-names`
sets the linked-to symbol to the first `.text`, which is:

* incorrect for COMDAT sections
* inferior for non-COMDAT sections in -ffunction-sections mode (poor --gc-sections: .stack_sizes cannot be separately discarded)

Note, if the section symbol can be referenced in more places (if the
function begin symbol does not apply), we probably should consider
defining a different BeginSymbol for sections with ",unique" linkage.

Reviewed By: grimar, jhenderson

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

3 years ago[AIX] Add support for non var_arg extended vector ABI calling convention on AIX
Zarko Todorovski [Thu, 26 Nov 2020 16:15:00 +0000 (11:15 -0500)]
[AIX] Add support for non var_arg extended vector ABI calling convention on AIX

This patch enables passing non variadic vector type parameters on the caller and callee side and vector return on AIX that are passed in vector registers only.

So far, support is enabled for only the AIX extended Altivec ABI Calling convention.

Reviewed By: sfertile, DiggerLin

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

3 years ago[ASTImporter] Import the default argument of TemplateTypeParmDecl
Raphael Isemann [Thu, 26 Nov 2020 16:02:31 +0000 (17:02 +0100)]
[ASTImporter] Import the default argument of TemplateTypeParmDecl

The test case isn't using the AST matchers for all checks as there doesn't seem to be support for
matching TemplateTypeParmDecl default arguments. Otherwise this is simply importing the
default arguments.

Also updates several LLDB tests that now as intended omit the default template
arguments of several std templates.

Reviewed By: martong

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

3 years ago[libc++] Remove sysctl-based implementation of thread::hardware_concurrency()
Louis Dionne [Wed, 25 Nov 2020 21:42:42 +0000 (16:42 -0500)]
[libc++] Remove sysctl-based implementation of thread::hardware_concurrency()

Using sysctl requires including headers that are considered internal on
Linux, like <sys/sysctl.h> & friends. Instead, sysconf is defined by POSIX
(and we have a fallback for Windows), so all the systems we support should
be happy with just sysconf.

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

3 years ago[libc++] Attempt to fix spurious modules-related failures in the CI
Louis Dionne [Wed, 25 Nov 2020 21:17:23 +0000 (16:17 -0500)]
[libc++] Attempt to fix spurious modules-related failures in the CI

I'm not 100% sure what the issue actually is since I can't reproduce it
locally, however what I explain in the comment is my best attempt to
explain what's going on.

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

3 years ago[mlir][DialectConversion] Do not prematurely drop unused cast operations
Stephan Herhut [Thu, 26 Nov 2020 16:08:49 +0000 (17:08 +0100)]
[mlir][DialectConversion] Do not prematurely drop unused cast operations

The rewrite logic has an optimization to drop a cast operation after
rewriting block arguments if the cast operation has no users. This is
unsafe as there might be a pending rewrite that replaced the cast operation
itself and hence would trigger a second free.

Instead, do not remove the casts and leave it up to a later canonicalization
to do so.

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

3 years ago[libc++] Fix two fr_FR locale tests on FreeBSD
Alex Richardson [Thu, 26 Nov 2020 14:47:31 +0000 (14:47 +0000)]
[libc++] Fix two fr_FR locale tests on FreeBSD

FreeBSD's locale data uses the same U+2027 separator as Glibc 2.27 and newer.

Reviewed By: #libc, emaste, ldionne

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

3 years ago[AArch64] Regenerate min/max tests and add vXi64 umin/umax test coverage
Simon Pilgrim [Thu, 26 Nov 2020 15:33:27 +0000 (15:33 +0000)]
[AArch64] Regenerate min/max tests and add vXi64 umin/umax test coverage

3 years ago[ARM] Cleanup for the MVETailPrediction pass
David Green [Thu, 26 Nov 2020 15:10:44 +0000 (15:10 +0000)]
[ARM] Cleanup for the MVETailPrediction pass

This strips out a lot of the code that should no longer be needed from
the MVETailPredictionPass, leaving the important part - find active lane
mask instructions and convert them to VCTP operations.

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

3 years agoRevert rG12d59b696b330 "[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax...
Simon Pilgrim [Thu, 26 Nov 2020 15:07:45 +0000 (15:07 +0000)]
Revert rG12d59b696b330 "[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal"

This reverts commit 12d59b696b33065e070d6ee7a55d2e8c019d138b.

Prematurely pushed this to trunk

3 years ago[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y...
Simon Pilgrim [Thu, 26 Nov 2020 14:47:06 +0000 (14:47 +0000)]
[DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal

If usubsat() is legal, this is likely to result in smaller codegen expansion than the default cmp+select codegen expansion.

Allows us to move the x86-specific lowering to the generic expansion code.

3 years agoRemove stray debug-only from test
Benjamin Kramer [Thu, 26 Nov 2020 14:37:18 +0000 (15:37 +0100)]
Remove stray debug-only from test

3 years ago[clang][cli] Port Target option flags to new option parsing system
Jan Svoboda [Tue, 24 Nov 2020 11:48:11 +0000 (12:48 +0100)]
[clang][cli] Port Target option flags to new option parsing system

Depends on D83697

Original patch by Daniel Grumberg.

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

3 years ago[LiveDebugVariables] Strip all debug instructions from nodebug functions
Robert Lougher [Wed, 25 Nov 2020 19:52:20 +0000 (19:52 +0000)]
[LiveDebugVariables] Strip all debug instructions from nodebug functions

A crash/assertion failure in the greedy register allocator was tracked
down to a debug instr being passed to LiveIntervals::getInstructionIndex.
Normally this should not occur as debug instructions are collected and
removed by LiveDebugVariables before RA, and reinserted afterwards.
However, when a function has no debug info, LiveDebugVariables simply
strips any debug values that are present as they're not needed (this
situation will occur when a function with debug info is inlined into a
nodebug function). The problem is, it only removes DBG_VALUE instructions,
leaving DBG_LABELs (the cause of the crash).

This patch updates the LiveDebugVariables nodebug path to remove all debug
instructions. The test case verifies that DBG_VALUE/DBG_LABEL instructions
are present, and that they are stripped.

When -experimental-debug-variable-locations is enabled, certain variable
locations are represented by DBG_INSTR_REF instead of DBG_VALUE. The test
case verifies that a DBG_INSTR_REF is emitted by the option, and that it
is also stripped.

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

3 years ago[ASTImporter] Import the default argument of TemplateTemplateParmDecl
Raphael Isemann [Thu, 26 Nov 2020 12:38:49 +0000 (13:38 +0100)]
[ASTImporter] Import the default argument of TemplateTemplateParmDecl

Same idea as in D92103 and D92106, but I realised after creating those reviews that there are
also TemplateTemplateParmDecls that can have default arguments, so here's hopefully the
last patch for default template arguments.

Reviewed By: martong

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

3 years ago[VPlan] Turn VPReplicateRecipe into a VPValue.
Florian Hahn [Thu, 26 Nov 2020 13:50:24 +0000 (13:50 +0000)]
[VPlan] Turn VPReplicateRecipe into a VPValue.

Update VPReplicateRecipe to inherit from VPValue. This still does not
update scalarizeInstruction to set the result for the VPValue of
VPReplicateRecipe, because this first requires tracking scalar values in
VPTransformState.

Reviewed By: reames

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

3 years ago[mlir][linalg] Mark linalg.yield as ReturnLike
Stephan Herhut [Thu, 26 Nov 2020 13:40:21 +0000 (14:40 +0100)]
[mlir][linalg] Mark linalg.yield as ReturnLike

This change is required so that bufferization can properly identify
the linalg.yield as a terminator with an associated parent op.

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

3 years ago[IndVarSimplify] Fix Modified status when handling dead PHI nodes
David Stenberg [Thu, 26 Nov 2020 09:15:59 +0000 (10:15 +0100)]
[IndVarSimplify] Fix Modified status when handling dead PHI nodes

When bailing out in rewriteLoopExitValues() you could be left with PHI
nodes in the DeadInsts vector. Those would be not handled by the use of
RecursivelyDeleteTriviallyDeadInstructions() in IndVarSimplify. This
resulted in the IndVarSimplify pass returning an incorrect modified
status. This was caught by the expensive check introduced in D86589.

This patches changes IndVarSimplify so that it deletes those PHI nodes,
using RecursivelyDeleteDeadPHINode().

This fixes PR47486.

Reviewed By: mkazantsev

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

3 years ago[AArch64][CostModel] Precommit some vector mul tests. NFC.
Sjoerd Meijer [Thu, 26 Nov 2020 13:03:37 +0000 (13:03 +0000)]
[AArch64][CostModel] Precommit some vector mul tests. NFC.

The cost-model is not getting the cost right for a mul with <2 x i64>
operands, i.e. we don't have a MUL.2d, and this is precommitting some
tests before adjusting this.

3 years ago[VE] Add comprehensive stackframe tests
Kazushi (Jam) Marukawa [Mon, 23 Nov 2020 06:37:46 +0000 (15:37 +0900)]
[VE] Add comprehensive stackframe tests

Add comprehensive stackframe regression tests as a preparation of
VEFrameLowering.cpp optimizations.

Reviewed By: simoll

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

3 years ago[mlir][bufferize] Add argument materialization for bufferization
Stephan Herhut [Thu, 26 Nov 2020 12:26:08 +0000 (13:26 +0100)]
[mlir][bufferize] Add argument materialization for bufferization

This enables partial bufferization that includes function signatures. To test this, this
change also makes the func-bufferize partial and adds a dedicated finalizing-bufferize pass.

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

3 years ago[clangd][query-driver] Extract target
Aleksandr Platonov [Thu, 26 Nov 2020 11:58:22 +0000 (14:58 +0300)]
[clangd][query-driver] Extract target

In some cases system includes extractions is not enough, we also need target specific defines.
The problems appears when clang default target is not the same as toolchain's one (GCC cross-compiler, MinGW on Windows).
After this patch `query-driver` also extracts target and adds `--target=<extracted target>` compile option.

Reviewed By: sammccall

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

3 years ago[X86] Extend neg-abs test coverage
Simon Pilgrim [Thu, 26 Nov 2020 12:01:26 +0000 (12:01 +0000)]
[X86] Extend neg-abs test coverage

Add 32-bit tests and test i8/i16/i32/i64/i128 like we do for abs.ll

3 years ago[CostModel] Add basic implementation of getGatherScatterOpCost.
Florian Hahn [Wed, 25 Nov 2020 17:27:11 +0000 (17:27 +0000)]
[CostModel] Add basic implementation of getGatherScatterOpCost.

Add a basic implementation of getGatherScatterOpCost to BasicTTIImpl.

The implementation estimates the cost of scalarizing the loads/stores,
the cost of packing/extracting the individual lanes and the cost of
only selecting enabled lanes.

This more accurately reflects the current cost on targets like AArch64.

Reviewed By: dmgreen

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

3 years ago[clang][Driver] Handle risvc in Baremetal.cpp.
Hafiz Abid Qadeer [Thu, 26 Nov 2020 11:31:45 +0000 (11:31 +0000)]
[clang][Driver] Handle risvc in Baremetal.cpp.

I am working on a baremetal riscv toolchain using LLVM runtime and
LLD linker. Baremetal.cpp provides most of the things needed for such
toolchain. So I have modified it to also handle riscv64/32-unknown-elf
 targets alongside arm-none-eabi.

Currently, targets like riscv64-unknown-elf are handled by RISCVToolChain
which mostly expects a gcc toolchain to be present. If you dont
want the dependency on gcc-toolchain/libgloss or want to use LLD, then
RISCVToolChain is not a good fit.

So in the toolchain selection code, I have made this dependency of
RISCVToolChain on gcc toolchain explicit. It is created if gcc-toolchain
option is present. Otherwise Baremetal toolchain is created. I will be
happy to hear if there is a better way to choose between these two
toolchains.

Reviewed By: jroelofs

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

3 years ago[libc++] Mark a few more tests as unsupported on gcc-8/9.
Marek Kurdej [Thu, 26 Nov 2020 11:40:50 +0000 (12:40 +0100)]
[libc++] Mark a few more tests as unsupported on gcc-8/9.

This will fix remaining failures on gcc-9 buildbot: http://lab.llvm.org:8011/#/builders/101.
gcc-8 and gcc-9 do not support constexpr destructors nor constexpr allocation.

Fix gcc warnings: -Wconversion, -Wpragmas.

3 years ago[SVE][CodeGen] Extend isConstantSplatValue to support ISD::SPLAT_VECTOR
Kerry McLaughlin [Thu, 26 Nov 2020 10:54:56 +0000 (10:54 +0000)]
[SVE][CodeGen] Extend isConstantSplatValue to support ISD::SPLAT_VECTOR

Updated the affected scalable_of_scalable tests in sve-gep.ll, as isConstantSplatValue now returns true in DAGCombiner::visitMUL and folds `(mul x, 1) -> x`

Reviewed By: sdesmalen

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

3 years agoRevert "Return "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByC...
Max Kazantsev [Thu, 26 Nov 2020 11:12:04 +0000 (18:12 +0700)]
Revert "Return "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond", 2nd try"

This reverts commit f690986f314fbf3f4b3ca9ec0b87b95166008dc1.

Compile time then and again...

3 years ago[X86] Fix -DAG checks on gnux32 pic tests
Simon Pilgrim [Thu, 26 Nov 2020 11:01:03 +0000 (11:01 +0000)]
[X86] Fix -DAG checks on gnux32 pic tests

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

3 years agoReturn "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond...
Max Kazantsev [Thu, 26 Nov 2020 10:30:44 +0000 (17:30 +0700)]
Return "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond", 2nd try

Reverted because the compile time impact is still too high.

isKnownViaNonRecursiveReasoning is used twice, we can do it just once.

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

3 years agoRevert "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond"
Max Kazantsev [Thu, 26 Nov 2020 10:27:42 +0000 (17:27 +0700)]
Revert "[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond"

This reverts commit 3d4c0460ec6040fc071e56dc113afd181294591e.

Compile time impact is still high. Need to understand why.

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

3 years ago[llvm-readelf/obj] - Report a warning when the value of the DT_PLTREL dynamic tag...
Georgii Rymar [Wed, 25 Nov 2020 10:58:40 +0000 (13:58 +0300)]
[llvm-readelf/obj] - Report a warning when the value of the DT_PLTREL dynamic tag is invalid.

We report an error for unknown `DT_PLTREL` values.
This switches the error to warning.

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

3 years ago[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond
Max Kazantsev [Thu, 26 Nov 2020 09:59:39 +0000 (16:59 +0700)]
[SCEV] Use isBasicBlockEntryGuardedByCond in isLoopBackedgeGuardedByCond

Previously we tried to using isKnownPredicateAt, but it makes an
extra query to isKnownPredicate, which has negative impact on compile
time. Let's try to use more lightweight isBasicBlockEntryGuardedByCond.

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

3 years ago[RISCV] Add isel patterns for sbsetw/sbclrw/sbinvw with sext_inreg as the root.
Craig Topper [Thu, 26 Nov 2020 10:02:38 +0000 (02:02 -0800)]
[RISCV] Add isel patterns for sbsetw/sbclrw/sbinvw with sext_inreg as the root.

This handles cases were the input isn't known to be sign extended.

3 years ago[RISCV] Add test cases for missed opportunities to use sbsetw/sbclrw/sbinvw when...
Craig Topper [Thu, 26 Nov 2020 09:54:07 +0000 (01:54 -0800)]
[RISCV] Add test cases for missed opportunities to use sbsetw/sbclrw/sbinvw when the result isn't known to be sign extended.

If the input isn't sign extended, but the output of the or/xor/and
is used by a sign_inreg we can still use sbsetw/sbclrw/sbinvw.

3 years ago[llvm-profgen] [docs] Fix invalid header. Add to ToC. NFC.
Marek Kurdej [Thu, 26 Nov 2020 09:40:52 +0000 (10:40 +0100)]
[llvm-profgen] [docs] Fix invalid header. Add to ToC. NFC.

3 years agoRevert "[SCEV] Use isKnownPredicateAt in isLoopBackedgeGuardedByCond"
Max Kazantsev [Thu, 26 Nov 2020 09:42:43 +0000 (16:42 +0700)]
Revert "[SCEV] Use isKnownPredicateAt in isLoopBackedgeGuardedByCond"

This reverts commit 14f2ad0e3cc54d5eb254b545a469e8ffdb62b119.

Reverting to investigate compile time drop.

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

3 years ago[NFC][libc++] Mark LWG3296 as complete.
Mark de Wever [Thu, 26 Nov 2020 09:37:04 +0000 (10:37 +0100)]
[NFC][libc++] Mark LWG3296 as complete.

I recalled Marshall had already made this change. The change is
committed in e3f89a989a23b9bfcb9f9d01172cebb63db627e1.

3 years ago[libc++] Fix gcc warning -Wsign-compare.
Marek Kurdej [Thu, 26 Nov 2020 09:20:09 +0000 (10:20 +0100)]
[libc++] Fix gcc warning -Wsign-compare.

3 years ago[libc++] [P0966] [C++20] Fix bug PR45368 by correctly implementing P0966: string...
Marek Kurdej [Thu, 26 Nov 2020 09:07:16 +0000 (10:07 +0100)]
[libc++] [P0966] [C++20] Fix bug PR45368 by correctly implementing P0966: string::reserve should not shrink.

This patch fixes the implementation as well as the tests that didn't actually test the wanted behaviour.
You'll find all the details in the bug report.
It adds as well deprecation warning for reserve() (without argument) and adds a test.

http://wg21.link/P0966R1
https://bugs.llvm.org/show_bug.cgi?id=45368
https://reviews.llvm.org/D54992

Reviewed By: ldionne, #libc

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

3 years ago[AMDGPU] Introduce and use isGFX10Plus. NFC.
Jay Foad [Wed, 25 Nov 2020 11:51:23 +0000 (11:51 +0000)]
[AMDGPU] Introduce and use isGFX10Plus. NFC.

It's more future-proof to use isGFX10Plus from the start, on the
assumption that future architectures will be based on current
architectures.

Also make use of the existing isGFX9Plus in a few places.

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

3 years ago[libc++] [docs] Migrate C++ status pages to RestructuredText (RST).
Marek Kurdej [Thu, 26 Nov 2020 08:03:50 +0000 (09:03 +0100)]
[libc++] [docs] Migrate C++ status pages to RestructuredText (RST).

Currently, papers and issues are in separate .csv files (that is easier to update), but I can put them inline.Transforming current html tables into rst are done by the script (attached to the patch FYI but I'll remove it before committing).
I'll of course update RST files before committing to match any modifications that may happen in master branch.

This patch moves the status pages in www/ to RST format in docs/.

It also does some other minor changes: fix copyright year and broken comment end, adds substitutions for coherence (and add colors, but that can be removed easily).
It adds as well redirects from old to new status pages.

Reviewed By: ldionne, #libc

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

3 years ago[lldb] Fix TestThreadStepOut.py after "Flush local value map on every instruction"
Raphael Isemann [Thu, 26 Nov 2020 08:40:02 +0000 (09:40 +0100)]
[lldb] Fix TestThreadStepOut.py after "Flush local value map on every instruction"

After cf1c774d6ace59c5adc9ab71b31e762c1be695b1, Clang seems to generate code
that is more similar to icc/Clang, so we can use the same line numbers for
all compilers in this test.

3 years ago[clangd] Do not treat line as inactive if skipped range ends at character position 0
Nathan Ridge [Thu, 26 Nov 2020 02:31:09 +0000 (21:31 -0500)]
[clangd] Do not treat line as inactive if skipped range ends at character position 0

Fixes https://github.com/clangd/clangd/issues/602

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

3 years agoFix use-of-uninitialized-value in rG75f50e15bf8f
Zhengyang Liu [Thu, 26 Nov 2020 07:10:36 +0000 (00:10 -0700)]
Fix use-of-uninitialized-value in rG75f50e15bf8f

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

3 years ago[libc++] [www] Fix HTML. NFC.
Marek Kurdej [Thu, 26 Nov 2020 08:31:20 +0000 (09:31 +0100)]
[libc++] [www] Fix HTML. NFC.

Needed for a future automatic update to RST.

3 years ago[OpenMP][OMPT] Fix building with OMPT disabled after 6d3b81664a4b79
Martin Storsjö [Thu, 26 Nov 2020 08:09:32 +0000 (10:09 +0200)]
[OpenMP][OMPT] Fix building with OMPT disabled after 6d3b81664a4b79

3 years ago[libc++] [libc++abi] Mark a few tests as unsupported/xfail on gcc-7/8/9.
Marek Kurdej [Thu, 26 Nov 2020 07:58:44 +0000 (08:58 +0100)]
[libc++] [libc++abi] Mark a few tests as unsupported/xfail on gcc-7/8/9.

This should make the builder http://lab.llvm.org:8011/#/builders/101/ happy.
It uses gcc-9 and not Tip-Of-Trunk as its name indicates BTW.
GCC-10 passes all these tests.

Fix gcc warnings: -Wsign-compare, -Wparentheses, -Wpragmas.

Reviewed By: ldionne, #libc, #libc_abi

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