platform/upstream/llvm.git
23 months ago[clang] SIGSEGV fix at clang::ASTContext::getRawCommentForDeclNoCacheImpl
Ivan Murashko [Thu, 11 Aug 2022 23:04:23 +0000 (00:04 +0100)]
[clang] SIGSEGV fix at clang::ASTContext::getRawCommentForDeclNoCacheImpl

The `File` might point to an invalid `FileID` when the AST is broken. That leads to clang/clangd crashes while processing comments. The relevant part of the crash is below
```
 #4 0x00007f1d7fbf95bc std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::RawComment*>, std::_Select1st<std::pair<unsigned int const, clang::RawComment*>>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const
, clang::RawComment*>>>::_M_lower_bound(std::_Rb_tree_node<std::pair<unsigned int const, clang::RawComment*>> const*, std::_Rb_tree_node_base const*, unsigned int const&) const /usr/include/c++/8/bits/stl_tree.h:1911:2
 #5 0x00007f1d7fbf95bc std::_Rb_tree<unsigned int, std::pair<unsigned int const, clang::RawComment*>, std::_Select1st<std::pair<unsigned int const, clang::RawComment*>>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::RawComment*>>>::lower_bound(unsigned int const&) const /usr/include/c++/8/bits/stl_tree.h:1214:56
 #6 0x00007f1d7fbf95bc std::map<unsigned int, clang::RawComment*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::RawComment*>>>::lower_bound(unsigned int const&) const /usr/include/c++/8/bits/stl_map.h:1264:36
 #7 0x00007f1d7fbf95bc clang::ASTContext::getRawCommentForDeclNoCacheImpl(clang::Decl const*, clang::SourceLocation, std::map<unsigned int, clang::RawComment*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, clang::RawComment*>>> const&) const /home/ivanmurashko/local/llvm-project/clang/lib/AST/ASTContext.cpp:226:57
```

The corresponding LIT test that reproduces the crash was also added

Same issue is described at https://bugs.llvm.org/show_bug.cgi?id=49707

Reviewed By: gribozavr2

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

23 months ago[mlgo][nfc] regalloc test model generator: prep for TFLite
Mircea Trofin [Thu, 11 Aug 2022 22:52:49 +0000 (15:52 -0700)]
[mlgo][nfc] regalloc test model generator: prep for TFLite

Casting operator to make TFLite happy.

Reviewed By: yundiqian

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

23 months ago[mlir][tosa] Updates tosa.logical_not to use the SameOperandsAndResultType trait
not-jenni [Thu, 11 Aug 2022 21:54:13 +0000 (14:54 -0700)]
[mlir][tosa] Updates tosa.logical_not to use the SameOperandsAndResultType trait

Reviewed By: jpienaar

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

23 months ago[gn build] Make it possible to do PGO-optimized builds
Nico Weber [Thu, 11 Aug 2022 19:09:24 +0000 (15:09 -0400)]
[gn build] Make it possible to do PGO-optimized builds

This is fairly manual for now.

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

23 months ago[NFC] Format ilist_node_options.h to cycle bots
Arthur Eubanks [Thu, 11 Aug 2022 22:38:50 +0000 (15:38 -0700)]
[NFC] Format ilist_node_options.h to cycle bots

23 months ago[RISCV] Use SLTIU X, -1 for (setne X, -1).
Craig Topper [Thu, 11 Aug 2022 22:27:12 +0000 (15:27 -0700)]
[RISCV] Use SLTIU X, -1 for (setne X, -1).

Since -1 is the maximum unsigned value, all values less than it
are not equal to it.

23 months ago[Clang] Fix for Tighten restrictions on enum out of range diagnostic
Shafik Yaghmour [Thu, 11 Aug 2022 22:32:35 +0000 (15:32 -0700)]
[Clang] Fix for Tighten restrictions on enum out of range diagnostic

Ok it looks like this is a bit more subtle, I broke the llvm-test-suite file
paq8p.cpp again. We need both conditions to be true Info.EvalMode ==
EvalInfo::EM_ConstantExpression && Info.InConstantContext. We need to be in a
context that requires a constant value but also in a constant expression context.

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

23 months ago[lldb] Tidy some regex in crashlog.py (NFC)
Dave Lee [Thu, 4 Aug 2022 04:22:40 +0000 (22:22 -0600)]
[lldb] Tidy some regex in crashlog.py (NFC)

A spiritual follow up to D131032. I noticed some regex could be simplified.

This does some of the following:
1. Removes unused capture groups
2. Uses non-capturing `(?:...)` groups where grouping is needed but capturing isn't
3. Removes trailing `.*`
4. Uses `\d` over `[0-9]`
5. Uses raw strings
6. Uses `{N,}` to indicate N-or-more

Also improves the call site of a `re.findall`.

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

23 months ago[llvm] Use hidden visibility when building for MinGW with Clang
Martin Storsjö [Mon, 18 Jul 2022 11:13:05 +0000 (14:13 +0300)]
[llvm] Use hidden visibility when building for MinGW with Clang

Since c5b3de6745c37dd991430b9b88ff97c35b6fc455 (git main,
August 11th), Clang does generate working hidden visibility
on MinGW targets. Using that reduces the number of exports from
a dylib build of LLVM significantly, which is vital for fitting
within the limit of 64k exported symbols from a DLL.

It's essential that if we set CMAKE_CXX_VISIBILITY_PRESET=hidden
(which passes -fvisibility=hidden on the command line), we also
must define LLVM_EXTERNAL_VISIBILITY consistently to override
it. (If there are mismatches, e.g. setting hidden visibility generally
but never overriding it back to default for the symbols that do need
to be exported, we'd get broken builds in such configurations.)

We don't want to be using __attribute__((visibility("hidden"))) on
MinGW with GCC, because GCC produces a warning about it. (GCC hasn't
warned about the command line options that set hidden visibility
though.) Clang has historically not warned about either of them, so
it is harmless to use the hidden visibility when building with older
Clang (so we don't need to detect the exact version of Clang/LLVM where
it has an effect).

This reduces the number of exported symbols for a dylib build of LLVM;
previously libLLVM exported around 64650 symbols (when the maximum is
65536) when the ARM, AArch64 and X86 targets were enabled. If enabling
more targets (or if building with e.g. assertions enabled), it would
exceed the limit. Now with visibility flags in use, the same build
with ARM, AArch64 and X86 ends up at around 35k exported symbols.

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

23 months ago[lldb] Silence a GCC warning about missing returns after a fully covered switch....
Martin Storsjö [Thu, 11 Aug 2022 21:34:21 +0000 (00:34 +0300)]
[lldb] Silence a GCC warning about missing returns after a fully covered switch. NFC.

23 months ago[test][msan] Test origin description argument
Vitaly Buka [Thu, 11 Aug 2022 21:10:55 +0000 (14:10 -0700)]
[test][msan] Test origin description argument

Reviewed By: kda

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

23 months ago[msan] Avoid unnecessary PC increment/decrement
Vitaly Buka [Thu, 11 Aug 2022 16:35:44 +0000 (09:35 -0700)]
[msan] Avoid unnecessary PC increment/decrement

Reviewed By: kda

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

23 months ago[RISCV] Add more ineg+setcc isel patterns to avoid creating neg+xori+slti(u).
Craig Topper [Thu, 11 Aug 2022 19:59:04 +0000 (12:59 -0700)]
[RISCV] Add more ineg+setcc isel patterns to avoid creating neg+xori+slti(u).

Including patterns to select addiw if only the lower 32 bits are used.

I'm not excited about adding this many patterns. I'm looking at whether
we can create the xori during lowering and move the ineg patterns to
DAGCombiner.

23 months ago[Clang] Tighten restrictions on enum out of range diagnostic
Shafik Yaghmour [Thu, 11 Aug 2022 20:42:40 +0000 (13:42 -0700)]
[Clang] Tighten restrictions on enum out of range diagnostic

In D131528 using Info.EvalMode == EvalInfo::EM_ConstantExpression is not strict
enough to restrict the diagnostic to only constant expression contexts. It is
sometimes set in cases where we are still determining if we are in a constant
expression context.

Using InConstantContext will tighten the restriction.

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

23 months ago[OpenMP][OMPT] Fix memory leak when using GCC compatibility code
Jonathan Peyton [Thu, 11 Aug 2022 16:13:01 +0000 (11:13 -0500)]
[OpenMP][OMPT] Fix memory leak when using GCC compatibility code

Serialized parallels allocate lightweight task teams on the heap
but never free them in the corresponding join. This patch adds a wrapper
around the allocation (if ompt enabled) and also adds the corresponding
free in the join call.

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

23 months ago[clang-tidy][docs] Fixed page title for abseil-no-internal-dependencies check documen...
Vladimir Plyashkun [Thu, 11 Aug 2022 20:07:22 +0000 (21:07 +0100)]
[clang-tidy][docs] Fixed page title for abseil-no-internal-dependencies check documentation

It seems that documentation for abseil-no-internal-dependencies has invalid title.
This can be checked by looking at the actual web-site - https://clang.llvm.org/extra/clang-tidy/checks/abseil/no-internal-dependencies.html
There is redundant "subl.. title:: clang-tidy - abseil-no-internal-dependencies" paragraph in the beginning.

Reviewed By: njames93, sylvestre.ledru

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

23 months ago[RISCV][SLP] Add some basic test coverage
Philip Reames [Thu, 11 Aug 2022 18:11:10 +0000 (11:11 -0700)]
[RISCV][SLP] Add some basic test coverage

23 months ago[lldb] Simplify TestExec's source code (2/2)
Jonas Devlieghere [Thu, 11 Aug 2022 19:44:36 +0000 (12:44 -0700)]
[lldb] Simplify TestExec's source code (2/2)

I accidentally forgot to stage part of the changes in the previous
commit.

23 months ago[lldb] Simplify TestExec's source code
Jonas Devlieghere [Thu, 11 Aug 2022 19:34:20 +0000 (12:34 -0700)]
[lldb] Simplify TestExec's source code

Simplify the test's source code, remove unnecessary headers, and convert
it from C++ to C.

23 months ago[libc++] Add a missing assertion in std::span's constructor
Louis Dionne [Thu, 11 Aug 2022 14:28:43 +0000 (10:28 -0400)]
[libc++] Add a missing assertion in std::span's constructor

Also, add missing tests for assertions in span constructors. Now I
believe that all of std::span's API should be hardened, and all the
assertions should have a corresponding test.

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

23 months ago[libc][Obvious] Fix thrd_join's first arg.
Siva Chandra Reddy [Thu, 11 Aug 2022 19:13:12 +0000 (19:13 +0000)]
[libc][Obvious] Fix thrd_join's first arg.

First argument to thrd_join was incorrectly listed as a pointer
to a thrd_t value. It should instead be a thrd_t value argument.

23 months ago[coro async] Mark async suspend function and its resume function pointer intrinsic...
Arnold Schwaighofer [Wed, 10 Aug 2022 22:22:02 +0000 (15:22 -0700)]
[coro async] Mark async suspend function and its resume function pointer intrinsic as nomerge

Coroutine splitting is not possible if the one-to-one mapping between the two is
lost. Every suspend point must have a matching continuation function
pointer.

rdar://98404664

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

23 months ago[flang][openacc] Propagate correct location information from directive
Valentin Clement [Thu, 11 Aug 2022 18:35:17 +0000 (20:35 +0200)]
[flang][openacc] Propagate correct location information from directive

Location information was not correctly propagated when creating OpenACC
operations. This patch propagate the correct location information from
the parse tree nodes to OpenACC MLIR operations.

Reviewed By: razvanlupusoru

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

23 months ago[analyzer] [NFC] Fix comments into more regular form.
Denys Petrov [Thu, 11 Aug 2022 17:58:39 +0000 (20:58 +0300)]
[analyzer] [NFC] Fix comments into more regular form.

23 months ago[libc++][NFC] Replace macros in vector
Nikolas Klauser [Sun, 31 Jul 2022 15:53:10 +0000 (17:53 +0200)]
[libc++][NFC] Replace macros in vector

Reviewed By: ldionne, Mordante, #libc

Spies: libcxx-commits

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

23 months ago[Matrix] Add tests dot product with varied strides
Vir Narula [Thu, 11 Aug 2022 18:09:21 +0000 (19:09 +0100)]
[Matrix] Add tests dot product with varied strides

Add more tests with varied strides. Changes to lowering upcoming in https://reviews.llvm.org/D131125

Reviewed By: fhahn

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

23 months agoCompiler.h: remove unused LLVM_NODISCARD
Fangrui Song [Thu, 11 Aug 2022 18:06:24 +0000 (11:06 -0700)]
Compiler.h: remove unused LLVM_NODISCARD

Reviewed By: kazu

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

23 months ago[NFC][lldb][trace] Fix formatting of tracing files
Walter Erquinigo [Thu, 11 Aug 2022 16:44:52 +0000 (09:44 -0700)]
[NFC][lldb][trace] Fix formatting of tracing files

Pavel Labath taught me that clang-format sorts headers automatically
using llvm's rules, and it's better not to have spaces between

So in this diff I'm removing those spaces and formatting them as well.

I used `clang-format -i` to format these files.

23 months ago[clang][RISCV][test] Add test that shows incorrect ABI lowering
Alex Bradbury [Thu, 11 Aug 2022 17:51:37 +0000 (18:51 +0100)]
[clang][RISCV][test] Add test that shows incorrect ABI lowering

As reported in <https://github.com/llvm/llvm-project/issues/57084>,
under hard float ABIs there are issues with lowering structs that
inherit from other structs.

See <https://reviews.llvm.org/D131677> for a fix.

23 months agoFix crash-on-valid with consteval temporary construction through list initialization
Aaron Ballman [Thu, 11 Aug 2022 17:42:47 +0000 (13:42 -0400)]
Fix crash-on-valid with consteval temporary construction through list initialization

Clang currently crashes when lowering a consteval list initialization
of a temporary. This is partially working around an issue in the
template instantiation code (TreeTransform::TransformCXXTemporaryObjectExpr())
that does not yet know how to handle list initialization of temporaries
in all cases. However, it's also helping reduce fragility by ensuring
we always have a valid QualType when trying to emit a constant
expression during IR generation.

Fixes #55871

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

23 months ago[Support] Remove Log2 workaround for Android API level < 18
Fangrui Song [Thu, 11 Aug 2022 17:39:41 +0000 (17:39 +0000)]
[Support] Remove Log2 workaround for Android API level < 18

The function added by D9467 is unneeded.
https://github.com/android/ndk/wiki/Changelog-r24 shows that the NDK has
moved forward to at least a minimum target API of 19.

Reviewed By: srhines

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

23 months ago[Support] Remove some #if __cplusplus > 201402L
Fangrui Song [Thu, 11 Aug 2022 17:35:02 +0000 (17:35 +0000)]
[Support] Remove some #if __cplusplus > 201402L

23 months ago[clang-doc] Read docstrings for record members
Brett Wilson [Thu, 11 Aug 2022 17:11:23 +0000 (17:11 +0000)]
[clang-doc] Read docstrings for record members

Struct/class data members did not have the comments associated with
them. This adds that information to the MemberTypeInfo class and emits
it in the YAML. This does not update the frontends yet.

Reviewed By: paulkirth

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

23 months ago[RISCV] Move isValidCPUName to RISCVTargetInfo. NFC
Craig Topper [Thu, 11 Aug 2022 16:45:32 +0000 (09:45 -0700)]
[RISCV] Move isValidCPUName to RISCVTargetInfo. NFC

Instead of having separate implementations for RV32 and RV64,
use the triple to control the Is64Bit parameter.

Do the same for isValidTuneCPUName, fillValidCPUList, and
fillValidTuneCPUList.

23 months ago[Docs] Fix duplicate enum item name
Marc Auberer [Thu, 11 Aug 2022 16:59:08 +0000 (09:59 -0700)]
[Docs] Fix duplicate enum item name

Removes duplicated names as recommended here: https://llvm.org/docs/CodingStandards.html#doxygen-use-in-documentation-comments

Reviewed By: MaskRay

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

23 months ago[NFC][sanitizer] Use __builtin_extract_return_addr on all platforms
Vitaly Buka [Thu, 11 Aug 2022 16:45:41 +0000 (09:45 -0700)]
[NFC][sanitizer] Use __builtin_extract_return_addr on all platforms

On most platforms it does nothing, so this eliminates a need for one #if.

23 months ago[NFC][sanitizer] Add () into a few macros
Vitaly Buka [Thu, 11 Aug 2022 16:44:32 +0000 (09:44 -0700)]
[NFC][sanitizer] Add () into a few macros

23 months ago[X86] lowerShuffleWithVPMOV - support direct lowering to VPMOV on VLX targets
Simon Pilgrim [Thu, 11 Aug 2022 16:35:44 +0000 (17:35 +0100)]
[X86] lowerShuffleWithVPMOV - support direct lowering to VPMOV on VLX targets

lowerShuffleWithVPMOV currently only matches shuffle(truncate(x)) patterns, but on VLX targets the truncate isn't usually necessary to make the VPMOV node worthwhile (as we're only targetting v16i8/v8i16 shuffles we're almost always ending up with a PSHUFB node instead). PACKSS/PACKUS are still preferred vs VPMOV due to their lower uop count.

Fixes the remaining regression from the fixes in rG293899c64b75

23 months ago[OpenMP] Allow data members in interop init/use/destroy clauses
Mike Rice [Thu, 4 Aug 2022 22:16:43 +0000 (15:16 -0700)]
[OpenMP] Allow data members in interop init/use/destroy clauses

Previously a diagnostic was given if the expression was not strictly a
DeclRef. Now also allow use of data members inside member functions.

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

23 months ago[lldb] Allow DataFileCache to be constructed with a different policy
Augusto Noronha [Tue, 9 Aug 2022 23:52:15 +0000 (16:52 -0700)]
[lldb] Allow DataFileCache to be constructed with a different policy

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

23 months ago[X86] vector-rotate-128/265.ll - add VLX + NOVLX check prefixes to reduce CHECK dupli...
Simon Pilgrim [Thu, 11 Aug 2022 16:11:30 +0000 (17:11 +0100)]
[X86] vector-rotate-128/265.ll - add VLX + NOVLX check prefixes to reduce CHECK duplication

23 months ago[FPEnv][InstSimplify] Fix formatting error.
Kevin P. Neal [Thu, 11 Aug 2022 16:04:03 +0000 (12:04 -0400)]
[FPEnv][InstSimplify] Fix formatting error.

My most recent change for D131607 had a formatting error that I didn't
notice until after I committed it. Let me fix it now so changes to this
file will be back-to-back from me.

23 months ago[InstCombine] fold reassociative fadd with negated operand
Sanjay Patel [Thu, 11 Aug 2022 15:40:54 +0000 (11:40 -0400)]
[InstCombine] fold reassociative fadd with negated operand

We manage to iteratively achieve this result with no extra
uses, and the reassociate pass can also do this, but this
pattern falls through the cracks in the example from
issue #57053.

23 months ago[InstCombine] add tests for reassociative fadd with negated op; NFC
Sanjay Patel [Thu, 11 Aug 2022 15:01:56 +0000 (11:01 -0400)]
[InstCombine] add tests for reassociative fadd with negated op; NFC

Extra uses inhibit more basic folds, so we miss the larger fold.

23 months ago[MLIR] Fix hasNoInterveningEffect in the presence of ops from different affine scopes
Uday Bondhugula [Thu, 28 Jul 2022 11:51:43 +0000 (17:21 +0530)]
[MLIR] Fix hasNoInterveningEffect in the presence of ops from different affine scopes

Fix hasNoInterveningEffect in the presence of ops from different affine
scopes. Also, correctly check for dependence failures as well instead of
just for the existence of a dependence.

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

23 months ago[FPEnv][InstSimplify] 0.0 - -X ==> X
Kevin P. Neal [Wed, 10 Aug 2022 18:23:51 +0000 (14:23 -0400)]
[FPEnv][InstSimplify] 0.0 - -X ==> X

Another ticket split out of D107285, this extends the optimization
of 0.0 - -X to just X when using constrained intrinsics and the
optimization is allowed.

If the negation of X is done with fsub then the match fails because of
the lack of IR Matcher support for constrained intrinsics.

While I'm here, remove some TODO notices since the work is no longer
planned.

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

23 months ago[X86] Add RDPRU instruction CPUID bit masks
Simon Pilgrim [Thu, 11 Aug 2022 15:07:28 +0000 (16:07 +0100)]
[X86] Add RDPRU instruction CPUID bit masks

As mentioned on D128934 - we weren't including the CPUID bit handling for the RDPRU instruction

AMD's APMv3 (24594) lists it as CPUID Fn8000_0008_EBX Bit#4

23 months ago[AMDGPU] Autogenerate spill-vector-superclass. NFC
Joe Nash [Thu, 11 Aug 2022 14:31:13 +0000 (10:31 -0400)]
[AMDGPU] Autogenerate spill-vector-superclass. NFC

This test is already a subset of the autogenerated test lines, so truly
auto-generate it to make it easier to update.

23 months ago[OpenMP][FIX] Ensure __kmpc_kernel_parallel is reachable
Johannes Doerfert [Thu, 11 Aug 2022 03:26:31 +0000 (22:26 -0500)]
[OpenMP][FIX] Ensure __kmpc_kernel_parallel is reachable

The problem is we create the call to __kmpc_kernel_parallel in the
openmp-opt pass but while we optimize the code, the call is not there
yet. Thus, we assume we never reach it from __kmpc_target_deinit. That
allows us to remove the store in there (`ParallelRegionFn = nullptr`),
which leads to bad results later on.

This is a shortstop solution until we come up with something better.

Fixes https://github.com/llvm/llvm-project/issues/57064

23 months ago[clang][X86] Add RDPRU predefined macro tests for znver2/znver3 targets
Simon Pilgrim [Thu, 11 Aug 2022 14:48:30 +0000 (15:48 +0100)]
[clang][X86] Add RDPRU predefined macro tests for znver2/znver3 targets

These were missed in D128934

23 months ago[DAGCombine] Check zext legality in zext-extract-extend combine
Peter Waller [Tue, 9 Aug 2022 15:13:50 +0000 (15:13 +0000)]
[DAGCombine] Check zext legality in zext-extract-extend combine

Discussed in D131503.

Fix to D130782.

23 months ago[ms] [llvm-ml] Add support for nested PROC/ENDP pairs
Eric Astor [Thu, 11 Aug 2022 14:18:32 +0000 (14:18 +0000)]
[ms] [llvm-ml] Add support for nested PROC/ENDP pairs

This is believed to match behavior by ML.EXE and ML64.EXE.

Reviewed By: thakis

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

23 months ago[AMDGPU][MC][GFX11][NFC] Add tests for VOP1 and VOP2 16 bit opcodes
Dmitry Preobrazhensky [Thu, 11 Aug 2022 14:09:35 +0000 (17:09 +0300)]
[AMDGPU][MC][GFX11][NFC] Add tests for VOP1 and VOP2 16 bit opcodes

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

23 months ago[analyzer] exploded-graph-rewriter: Fix python3 string encoding issues
Balazs Benics [Thu, 11 Aug 2022 14:07:52 +0000 (16:07 +0200)]
[analyzer] exploded-graph-rewriter: Fix python3 string encoding issues

This encapsulates 3 changes:
 - `DotDumpVisitor` now aggregates strings instead of *bytes* for both
   `python2` and `python3`. This difference caused crashes when it tried
    to write out the content as *strings*, similarly described at D71746.
 - `graphviz.pipe()` expects the input in *bytes* instead of unicode
   strings. And it results in *bytes*. Due to string concatenations and
   similar operations, I'm using unicode string as the default, and
   converting to *bytes* on demand.
 - `write_temp_file()` now appends the `egraph-` prefix and more
   importantly, it will create the temp file in the **current working
   directory** instead of in the *temp*. This change makes `Firefox` be
   able to open the file even if the `security.sandbox.content.level` is
   set to the (default) most restricting `4`.
   See https://support.mozilla.org/si/questions/1259285

An artifact of the bad byte handling was previously in the `HTML`
produced by the script that it displayed the `b'` string at the top left
corner. Now it won't anymore :)

I've tested that the following command works on `Ubuntu 22.04`:
```
exploded-graph-rewriter my-egraph.dot
```
Both `python2` and `python3` works as expected.

PS: I'm not adding tests, as the current test infra does not support
testing HTML outputs for this script.
Check the `clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg`.
We always pass the `--dump-dot-only` flag to the script.
Along with that, the default invocation will not only create this HTML
report but also try to open it. In addition to this, I'm not sure if the
buildbots have `graphviz` installed and also if this package is installed
on `pip`.
Unless we change some of these, we cannot test this change.
Given that D71746 had no tests, I'm not too worried about this either.

Reviewed By: NoQ

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

23 months ago[lldb][unittests] Add more test cases to CPlusPlusNameParser unit-tests
Michael Buch [Thu, 4 Aug 2022 15:22:47 +0000 (16:22 +0100)]
[lldb][unittests] Add more test cases to CPlusPlusNameParser unit-tests

Add test cases for the possible function qualifiers that the
`CPlusPlusNameParser` supports.

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

23 months ago[Orc] Reorder operations in ExecutorSharedMemoryMapperService shutdown
Anubhab Ghosh [Tue, 9 Aug 2022 17:23:43 +0000 (22:53 +0530)]
[Orc] Reorder operations in ExecutorSharedMemoryMapperService shutdown

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

23 months agoRemove redundant condition check, NFC
Jun Zhang [Thu, 11 Aug 2022 07:30:05 +0000 (15:30 +0800)]
Remove redundant condition check, NFC

Signed-off-by: Jun Zhang <jun@junz.org>
23 months ago[LLDB][RISCV] Fix risc-v target build
Emmmer [Thu, 11 Aug 2022 09:12:28 +0000 (17:12 +0800)]
[LLDB][RISCV] Fix risc-v target build

Fixed an inconsistency between D130985 and D130342

This should be a follow-up of D130985

Reviewed By: DavidSpickett

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

23 months ago[libc] Change sinf/cosf range reduction to mod pi/32 to be shared with tanf.
Tue Ly [Thu, 11 Aug 2022 06:14:13 +0000 (02:14 -0400)]
[libc] Change sinf/cosf range reduction to mod pi/32 to be shared with tanf.

Change sinf/cosf range reduction to mod pi/32 to be shared with tanf,
since polynomial approximations for tanf on subintervals of length pi/16 do not
provide enough accuracy.

Reviewed By: orex

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

23 months ago[clang][AArch64][SVE] Change SVE_VECTOR_OPERATORS macro for VLA vectors
David Truby [Thu, 11 Aug 2022 13:23:35 +0000 (13:23 +0000)]
[clang][AArch64][SVE] Change SVE_VECTOR_OPERATORS macro for VLA vectors

The __ARM_FEATURE_SVE_VECTOR_OPERATORS macro should be changed to
indicate that this feature is now supported on VLA vectors as well as
VLS vectors. There is a complementary PR to the ACLE spec here
https://github.com/ARM-software/acle/pull/213

Reviewed By: peterwaller-arm

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

23 months ago[clang][AArch64][SVE] Clarify documentation for sizeof operator on SVE
David Truby [Thu, 11 Aug 2022 13:21:21 +0000 (13:21 +0000)]
[clang][AArch64][SVE] Clarify documentation for sizeof operator on SVE

Previously the table in LanguageExtensions said that sizeof worked on
SVE types but this is only correct for fixed-length vectors so a
clarification has been added.

23 months ago[AArch64] Add bf16 select handling
David Green [Thu, 11 Aug 2022 13:20:36 +0000 (14:20 +0100)]
[AArch64] Add bf16 select handling

A bfloat select operation will currently crash, but is allowed from C.
This adds handling for the operation, turning it into a FCSELHrrr if
fullfp16 is present, or converting it to a FCSELSrrr if not. The
FCSELSrrr is created via using INSERT_SUBREG/EXTRACT_SUBREG to convert
the bf16 to a f32 and using the f32 pattern for FCSELSrrr. (I originally
attempted to do this via a tablegen pattern, but it appears that the
nzcv glue is places onto the wrong node, causing it to be forgotten and
incorrect scheduling to be emitted).

The FCSELSrrr can also be used for fp16 selects when +fullfp16 is not
present, which helps avoid an unnecessary promotion to f32.

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

23 months ago[X86] lowerShuffleWithVPMOV - remove oneuse constraints on shuffle(trunc(x),undef...
Simon Pilgrim [Thu, 11 Aug 2022 13:04:09 +0000 (14:04 +0100)]
[X86] lowerShuffleWithVPMOV - remove oneuse constraints on shuffle(trunc(x),undef) -> vpmov(x) lowering

These were added in rG057bdd63 but shuffle combining has gotten a lot better at folding different vector widths since then.

23 months ago[clang][dataflow] Don't crash when caller args are missing storage locations
Sam Estep [Wed, 10 Aug 2022 17:50:14 +0000 (17:50 +0000)]
[clang][dataflow] Don't crash when caller args are missing storage locations

This patch modifies `Environment`'s `pushCall` method to pass over arguments that are missing storage locations, instead of crashing.

Reviewed By: gribozavr2

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

23 months ago[AMDGPU][MC][GFX11][NFC] Correct tests for 16-bit VOP2 opcodes which use v128 or...
Dmitry Preobrazhensky [Thu, 11 Aug 2022 12:54:16 +0000 (15:54 +0300)]
[AMDGPU][MC][GFX11][NFC] Correct tests for 16-bit VOP2 opcodes which use v128 or higher VGPRs

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

23 months ago[clang][dataflow] Analyze constructor bodies
Sam Estep [Wed, 10 Aug 2022 14:01:18 +0000 (14:01 +0000)]
[clang][dataflow] Analyze constructor bodies

This patch adds the ability to context-sensitively analyze constructor bodies, by changing `pushCall` to allow both `CallExpr` and `CXXConstructExpr`, and extracting the main context-sensitive logic out of `VisitCallExpr` into a new `transferInlineCall` method which is now also called at the end of `VisitCXXConstructExpr`.

Reviewed By: ymandel, sgatev, xazax.hun

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

23 months ago[TypePromotion] Update comment in testcase. RFC
Andre Vieira [Thu, 11 Aug 2022 12:34:53 +0000 (13:34 +0100)]
[TypePromotion] Update comment in testcase. RFC

23 months ago[pseudo] Use C++17 variant to simplify the DirectiveTree::Chunk class, NFC.
Haojian Wu [Sun, 7 Aug 2022 20:23:33 +0000 (22:23 +0200)]
[pseudo] Use C++17 variant to simplify the DirectiveTree::Chunk class, NFC.

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

23 months agoAMDGPU: mbcnt allow for non-zero src1 for known-bits
David Stuttard [Tue, 9 Aug 2022 07:46:55 +0000 (08:46 +0100)]
AMDGPU: mbcnt allow for non-zero src1 for known-bits

Src1 for mbcnt can be a non-zero literal or register. Take this into account
when calculating known bits.

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

23 months ago[AMDGPU][MC][GFX11][NFC] Remove test duplicates
Dmitry Preobrazhensky [Thu, 11 Aug 2022 12:10:01 +0000 (15:10 +0300)]
[AMDGPU][MC][GFX11][NFC] Remove test duplicates

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

23 months ago[AMDGPU][MC][GFX11][NFC] Consolidate VOP tests by encoding
Dmitry Preobrazhensky [Thu, 11 Aug 2022 12:00:40 +0000 (15:00 +0300)]
[AMDGPU][MC][GFX11][NFC] Consolidate VOP tests by encoding

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

23 months agoDo not use the same identifier for a data member as a type; NFC
Aaron Ballman [Thu, 11 Aug 2022 11:32:32 +0000 (07:32 -0400)]
Do not use the same identifier for a data member as a type; NFC

This should help address a build failure found after
09117b21890c652994f7ada0229d309b35b44259

../tools/clang/lib/Sema/SemaDeclCXX.cpp: In member function \91void clang::Sema::DiagnoseStaticAssertDetails(const clang::Expr*)\92:
../tools/clang/lib/Sema/SemaDeclCXX.cpp:16666:19: error: declaration of \91const clang::Expr* clang::Sema::DiagnoseStaticAssertDetails(const clang::Expr*)::<unnamed struct>::Expr\92 changes meaning of \91Expr\92 [-fpermissive]
16666 |       const Expr *Expr;
      |                   ^~~~
In file included from ../tools/clang/include/clang/AST/DeclCXX.h:22,
                 from ../tools/clang/include/clang/AST/ASTLambda.h:18,
                 from ../tools/clang/lib/Sema/SemaDeclCXX.cpp:15:
../tools/clang/include/clang/AST/Expr.h:109:7: note: \91Expr\92 declared here as \91class clang::Expr\92
  109 | class Expr : public ValueStmt {
      |       ^~~~

23 months ago[Builtins] Do not claim most libfuncs are readnone with trapping math.
Florian Hahn [Thu, 11 Aug 2022 11:29:01 +0000 (12:29 +0100)]
[Builtins] Do not claim most libfuncs are readnone with trapping math.

At the moment, Clang only considers errno when deciding if a builtin
is const. This ignores the fact that some library functions may raise
floating point exceptions, which may modify global state, e.g. when
updating FP status registers.

To model the fact that some library functions/builtins may raise
floating point exceptions, this patch adds a new 'g' modifier for
builtins. If a builtin is marked with 'g', it cannot be considered
const, unless FP exceptions are ignored.

So far I've not added CHECK lines for all calls in math-libcalls.c. I'll
do that once we agree on the overall direction.

A consequence seems to be that we fail to select some of the constrained
math builtins now, but I am not entirely sure what's going on there.

Reviewed By: john.brawn

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

23 months ago[pseudo] Fix a bug in checking the duplicated grammar rules.
Haojian Wu [Thu, 11 Aug 2022 11:05:40 +0000 (13:05 +0200)]
[pseudo] Fix a bug in checking the duplicated grammar rules.

2 years ago[LLDB] Disable FP test for arm 32 bit
Pavel Kosov [Tue, 14 Sep 2021 15:50:18 +0000 (18:50 +0300)]
[LLDB] Disable FP test for arm 32 bit

Test was introduced in https://reviews.llvm.org/D126359

~~~

OS Laboratory. Huawei RRI. Saint-Petersburg

23 months ago[CostModel][X86] Sync masked-intrinsic-cost.ll and masked-intrinsic-cost-inseltpoison.ll
Simon Pilgrim [Thu, 11 Aug 2022 11:05:50 +0000 (12:05 +0100)]
[CostModel][X86] Sync masked-intrinsic-cost.ll and masked-intrinsic-cost-inseltpoison.ll

We'd lost some type test coverage in masked-intrinsic-cost-inseltpoison.ll

23 months ago[LLDB][ARM] Extend testing for vpush emulation
David Spickett [Thu, 11 Aug 2022 09:00:26 +0000 (09:00 +0000)]
[LLDB][ARM] Extend testing for vpush emulation

https://reviews.llvm.org/D131658 found a bug in
ReadPseudoRegisterValue which would mean we read out
of bounds if the s register number was high enough.

This adds a memory check to vpush-1-thumb, which
should have been doing that anyway. Then copies that
test and uses the last 4 s registers instead.

Without the mentioned fix we see random values in
the final memory, with the fix it passes.

Reviewed By: fixathon

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

23 months ago[mlir][sparse] Refine f695554a2a55 wording a bit and fix the double conversion I...
Benjamin Kramer [Thu, 11 Aug 2022 09:56:41 +0000 (11:56 +0200)]
[mlir][sparse] Refine f695554a2a55 wording a bit and fix the double conversion I broke with aggressive copy&paste

23 months ago[RISCV] Peephole optimization to fold merge.vvm and unmasked intrinsics.
Yeting Kuo [Sat, 16 Jul 2022 07:11:35 +0000 (15:11 +0800)]
[RISCV] Peephole optimization to fold merge.vvm and unmasked intrinsics.

The patch uses peephole method to fold merge.vvm and unmasked intrinsics to
masked intrinsics. Using peephole intead of tablegen patterns is to avoid large
auto gnerated code.

Note: The patch ignores segment loads since I don't know how to test them.

Reviewed By: craig.topper

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

23 months ago[MC] NFC. Avoid redundant copies when constructing StructFieldInfo
Ilya Biryukov [Thu, 11 Aug 2022 09:48:28 +0000 (11:48 +0200)]
[MC] NFC. Avoid redundant copies when constructing StructFieldInfo

Follow-up after D131595, see comments in the review thread.

The intention of having two constructors was to minimize the copies of
`vector`, but a lack of `std::move` on the call site caused the wrong
constructor to be called.

Switched to a single constructor that accepts a value.
Accepting by value allows to have a single constructor and still decide
to copy or move on the call site.

23 months ago[RISCV] Re-enable JIT support
Jonas Hahnfeld [Wed, 10 Aug 2022 20:31:05 +0000 (22:31 +0200)]
[RISCV] Re-enable JIT support

Commit 8922adf646 recently made JITTargetMachineBuilder honor the
hasJIT property of the target. LLVM supports just-in-time compilation
on RISC-V, so set the flag.

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

23 months ago[mlir] Fix calling the native mlir-pdll-tblgen
Marius Brehler [Wed, 10 Aug 2022 17:19:23 +0000 (17:19 +0000)]
[mlir] Fix calling the native mlir-pdll-tblgen

This sets the `MLIR_PDLL_TABLEGEN_EXE` and `MLIR_PDLL_TABLEGEN_TARGET`
as cache variables which is necessary for cross-compiling projects that
rely on MLIR and the mlir-pdll-tblgen tool.

The patch is similar to https://reviews.llvm.org/D130350.

Reviewed By: jpienaar

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

23 months ago[bazel] Add WindowsDriver as a dep of OrcJIT (llvmorg-16-init-1433-g7260cdd2e13a)
Krasimir Georgiev [Thu, 11 Aug 2022 09:17:27 +0000 (11:17 +0200)]
[bazel] Add WindowsDriver as a dep of OrcJIT (llvmorg-16-init-1433-g7260cdd2e13a)

23 months ago[COFF] Emit embedded -exclude-symbols: directives for hidden visibility for MinGW
Martin Storsjö [Mon, 18 Jul 2022 21:18:16 +0000 (00:18 +0300)]
[COFF] Emit embedded -exclude-symbols: directives for hidden visibility for MinGW

This works with the automatic export of all symbols; in MinGW mode,
when a DLL has no explicit dllexports, it exports all symbols (except
for some that are hardcoded to be excluded, including some toolchain
libraries).

By hooking up the hidden visibility to the -exclude-symbols: directive,
the automatic export of all symbols can be controlled in an easier
way (with a mechanism that doesn't require strict annotation of every
single symbol, but which allows gradually marking more unnecessary
symbols as hidden).

The primary use case is dylib builds of LLVM/Clang. These can be done
in MinGW mode but not in MSVC mode, as MinGW builds can export all
symbols (and the calling code can use APIs without corresponding
dllimport directives). However, as all symbols are exported, it can
easily overflow the max number of exported symbols in a DLL (65536).

In the llvm-mingw distribution, only the X86, ARM and AArch64 backends
are enabled; for the LLVM 13.0.0 release, libLLVM-13.dll ended up with
58112 exported symbols. For LLVM 14.0.0, it was 62015 symbols. Current
builds of the 15.x branch end up at around 64650 symbols - i.e. extremely
close to the limit.

The msys2 packages of LLVM have had to progressively disable more
of their backends in their builds, to be able to keep building with a
dylib.

This allows improving the current mingw dylib situation significantly,
by using the same hidden visibility options and attributes as on Unix.
With those in place, a current build of LLVM git main ends up at 35142
symbols instead of 64650.

For code using hidden visibility, this now requires linking with either
a current git lld or ld.bfd. (Older lld error out on the unknown
directives, older ld.bfd will successfully link, but will print huge
amounts of warnings.)

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

23 months ago[LLD] [COFF] Add support for a new, mingw specific embedded directive -exclude-symbols:
Martin Storsjö [Sun, 17 Jul 2022 21:11:37 +0000 (00:11 +0300)]
[LLD] [COFF] Add support for a new, mingw specific embedded directive -exclude-symbols:

This is an entirely new embedded directive - extending the GNU ld
command line option --exclude-symbols to be usable in embedded
directives too.

(GNU ld.bfd also got support for the same new directive, currently in
the latest git version, after the 2.39 branch.)

This works as an inverse to the regular embedded dllexport directives,
for cases when autoexport of all eligible symbols is performed.

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

23 months ago[LLD] [MinGW] Implement the --exclude-symbols option
Martin Storsjö [Mon, 18 Jul 2022 20:43:02 +0000 (23:43 +0300)]
[LLD] [MinGW] Implement the --exclude-symbols option

This adds support for the existing GNU ld command line option, which
allows excluding individual symbols from autoexport (when linking a
DLL and no symbols are marked explicitly as dllexported).

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

23 months ago[TypePromotion] Search from ZExt + PHI
Andre Vieira [Thu, 11 Aug 2022 08:47:53 +0000 (09:47 +0100)]
[TypePromotion] Search from ZExt + PHI

Expand TypePromotion pass to try to promote PHI-nodes in loops that are the
operand of a ZExt, using the ZExt's result type to determine the Promote Width.

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

23 months ago[TypePromotion] Hoist out Promote Width calculation
Andre Vieira [Thu, 11 Aug 2022 08:41:59 +0000 (09:41 +0100)]
[TypePromotion] Hoist out Promote Width calculation

Hoist out promote width calculation to simplify runOnFunction.

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

23 months ago[TypePromotion] Don't delete Insns when iterating
Andre Vieira [Thu, 11 Aug 2022 08:39:20 +0000 (09:39 +0100)]
[TypePromotion] Don't delete Insns when iterating

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

23 months ago[TypePromotion] Don't insert Truncate for a no-op ZExt
Andre Vieira [Thu, 11 Aug 2022 08:37:42 +0000 (09:37 +0100)]
[TypePromotion] Don't insert Truncate for a no-op ZExt

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

23 months ago[MemorySanitizer] Support memcpy.inline and memset.inline
Marco Elver [Thu, 11 Aug 2022 08:40:57 +0000 (10:40 +0200)]
[MemorySanitizer] Support memcpy.inline and memset.inline

Other sanitizers (ASan, TSan, see added tests) already handle
memcpy.inline and memset.inline by not relying on InstVisitor to turn
the intrinsics into calls. Only MSan instrumentation currently does not
support them due to missing InstVisitor callbacks.

Fix it by actually making InstVisitor handle Mem*InlineInst.

While the mem*.inline intrinsics promise no calls to external functions
as an optimization, for the sanitizers we need to break this guarantee
since access into the runtime is required either way, and performance
can no longer be guaranteed. All other cases, where generating a call is
incorrect, should instead use no_sanitize.

Fixes: https://github.com/llvm/llvm-project/issues/57048

Reviewed By: vitalybuka, dvyukov

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

23 months ago[mlir][sparse] Use the correct ABI on x86 and re-enable tests
Benjamin Kramer [Thu, 11 Aug 2022 08:38:12 +0000 (10:38 +0200)]
[mlir][sparse] Use the correct ABI on x86 and re-enable tests

c7ec6e19d5446a448f888b33f66316cf2ec6ecae made LLVM adhere to the x86
psABI and pass bf16 in SSE registers instead of GPRs. This breaks the
custom versions of runtime functions we have for bf16 conversion. A
great fix for this would be to use __bf16 types instead which carry the
right ABI, but that type isn't widely available.

Instead just pretend it's a 32 bit float on the ABI boundary and
carefully cast it to the right type.

Fixes #57042

23 months ago[gn build] Port 9ae5896d9673
LLVM GN Syncbot [Thu, 11 Aug 2022 08:37:36 +0000 (08:37 +0000)]
[gn build] Port 9ae5896d9673

23 months ago[LLDB] Fix out-of-bounds memory access in EmulationStateArm
Slava Gurevich [Thu, 11 Aug 2022 08:08:25 +0000 (01:08 -0700)]
[LLDB] Fix out-of-bounds memory access in EmulationStateArm

Functionally broken code for reading and writing registers, likely due to typos,
and could cause out-of-bounds memory access.

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

23 months ago[clang-tidy] Add cppcoreguidelines-avoid-const-or-ref-data-members check
Carlos Galvez [Thu, 2 Jun 2022 13:10:07 +0000 (13:10 +0000)]
[clang-tidy] Add cppcoreguidelines-avoid-const-or-ref-data-members check

Flags uses of const-qualified and reference data members in structs.
Implements rule C.12 of C++ Core Guidelines.

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

23 months ago[clang][dataflow] Store DeclContext of block being analysed in Environment if available.
Wei Yi Tee [Wed, 3 Aug 2022 14:48:49 +0000 (14:48 +0000)]
[clang][dataflow] Store DeclContext of block being analysed in Environment if available.

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

23 months ago[clang] [HLSL] Fix GCC warnings about virtual methods that are hidden
Martin Storsjö [Tue, 2 Aug 2022 07:28:52 +0000 (10:28 +0300)]
[clang] [HLSL] Fix GCC warnings about virtual methods that are hidden

This fixes the following warnings produced by GCC 9:

In file included from ../tools/clang/include/clang/Sema/ExternalSemaSource.h:15,
                 from ../tools/clang/include/clang/Sema/HLSLExternalSemaSource.h:17,
                 from ../tools/clang/lib/Sema/HLSLExternalSemaSource.cpp:12:
../tools/clang/include/clang/AST/ExternalASTSource.h:211:16: warning: ‘virtual void clang::ExternalASTSource::CompleteType(clang::ObjCInterfaceDecl*)’ was hidden [-Woverloaded-virtual]
  211 |   virtual void CompleteType(ObjCInterfaceDecl *Class);
      |                ^~~~~~~~~~~~
In file included from ../tools/clang/lib/Sema/HLSLExternalSemaSource.cpp:12:
../tools/clang/include/clang/Sema/HLSLExternalSemaSource.h:49:8: warning:   by  virtual void clang::HLSLExternalSemaSource::CompleteType(clang::TagDecl*)’ [-Woverloaded-virtual]
   49 |   void CompleteType(TagDecl *Tag) override;
      |        ^~~~~~~~~~~~

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

23 months ago[libcxx] [test] Merge the experimental-lib-exports testcases into static-lib-exports
Martin Storsjö [Thu, 7 Jul 2022 20:38:38 +0000 (23:38 +0300)]
[libcxx] [test] Merge the experimental-lib-exports testcases into static-lib-exports

Since bb939931a1adb9a47a2de13c359d6a72aeb277c8, the c++experimental
library is always built, so these tested files should always be built
(even if they aren't used in tests).

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

23 months ago[clang] Try to fix builders
Timm Bäder [Thu, 11 Aug 2022 07:06:41 +0000 (09:06 +0200)]
[clang] Try to fix builders

Try to fix these errors:

SemaDeclCXX.cpp:16666:19: error: declaration of ‘const clang::Expr* clang::Sema::DiagnoseStaticAssertDetails(const clang::Expr*)::<unnamed struct>::Expr’ changes meaning of ‘Expr’ [-fpermissive]
16666 |       const Expr *Expr;
      |                   ^~~~

23 months ago[test][asan] Disable symbolization
Vitaly Buka [Thu, 11 Aug 2022 07:01:14 +0000 (00:01 -0700)]
[test][asan] Disable symbolization

Reduces runtime of the test.
Unrelated pre-merge checks often timeouts here.