platform/upstream/llvm.git
2 years ago[lldb/gdb-remote] Refactor ReadExtFeature
Pavel Labath [Thu, 7 Oct 2021 12:23:26 +0000 (14:23 +0200)]
[lldb/gdb-remote] Refactor ReadExtFeature

replace stl and lldb apis with standard llvm ones.

2 years ago[lldb] Remove shared_ptr from some global Properties objects
Pavel Labath [Thu, 7 Oct 2021 13:44:47 +0000 (15:44 +0200)]
[lldb] Remove shared_ptr from some global Properties objects

they're unnecessary, make the code longer, and their removal actually
ensures proper initialization in multithreaded scenarios.

2 years ago[clangd] Revert unwanted change from D108194
Kirill Bobyrev [Fri, 8 Oct 2021 08:40:40 +0000 (10:40 +0200)]
[clangd] Revert unwanted change from D108194

Left-overs from the review process were not deleted.

2 years ago[LoopBoundSplit] Handle the case in which exiting block is loop header
Jingu Kang [Mon, 4 Oct 2021 09:23:54 +0000 (10:23 +0100)]
[LoopBoundSplit] Handle the case in which exiting block is loop header

Update the incoming value of phi nodes in header of post-loop correctly.

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

2 years ago[LoopIdiom] Transform loop containing memcpy to memmove
Dawid Jurczak [Tue, 5 Oct 2021 15:31:08 +0000 (17:31 +0200)]
[LoopIdiom] Transform loop containing memcpy to memmove

The purpose of patch is to learn Loop Idiom Recognize pass how to recognize simple memmove patterns
in similar way like GCC does: https://godbolt.org/z/dKjGvTGff
It's follow-up of following change: https://reviews.llvm.org/D104464

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

2 years ago[NFC] [Clang] Remove pre-computed complex float types
Qiu Chaofan [Fri, 8 Oct 2021 07:48:01 +0000 (15:48 +0800)]
[NFC] [Clang] Remove pre-computed complex float types

As discussed in D109948, pre-computing all complex float types is not
necessary and brings extra overhead. This patch removes these defined
types, and construct them in-place when needed.

Reviewed By: teemperor

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

2 years ago[mlir][python] support taking ops instead of values in op constructors
Alex Zinenko [Thu, 7 Oct 2021 16:29:03 +0000 (18:29 +0200)]
[mlir][python] support taking ops instead of values in op constructors

Introduce support for accepting ops instead of values when constructing ops. A
single-result op can be used instead of a value, including in lists of values,
and any op can be used instead of a list of values. This is similar to, but
more powerful, than the C++ API that allows for implicitly casting an OpType to
Value if it is statically known to have a single result - the cast in Python is
based on the op dynamically having a single result, and also handles the
multi-result case. This allows to build IR in a more concise way:

    op = dialect.produce_multiple_results()
    other = dialect.produce_single_result()
    dialect.consume_multiple_results(other, op)

instead of having to access the results manually

    op = dialect.produce.multiple_results()
    other = dialect.produce_single_result()
    dialect.consume_multiple_results(other.result, op.operation.results)

The dispatch is implemented directly in Python and is triggered automatically
for autogenerated OpView subclasses. Extension OpView classes should use the
functions provided in ods_common.py if they want to implement this behavior.
An alternative could be to implement the dispatch in the C++ bindings code, but
it would require to forward opaque types through all Python functions down to a
binding call, which makes it hard to inspect them in Python, e.g., to obtain
the types of values.

Reviewed By: gysit

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

2 years ago[Polly] Completely remove -polly-opt-fusion.
Michael Kruse [Wed, 6 Oct 2021 17:34:45 +0000 (12:34 -0500)]
[Polly] Completely remove -polly-opt-fusion.

This was missing from 07e7cb9433daa80e7a8b418cb334c663abe68202.
The switch did nothing since then.

2 years ago[mlir][linalg] Retire Linalg ConvOp.
Tobias Gysi [Fri, 8 Oct 2021 06:50:52 +0000 (06:50 +0000)]
[mlir][linalg] Retire Linalg ConvOp.

The convolution op is one of the remaining hard coded Linalg operations that have no region attached. It got obsolete due to the OpDSL convolution operations. Removing it allows us to delete specialized code and tests that are not needed for the OpDSL counterparts that rely on the standard code paths.

Test needed due to specialized implementations are removed. Tiling and fusion tests are replaced by variants using linalg.conv_2d.

Reviewed By: nicolasvasilache

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

2 years ago[GlobalISel][IRTranslator] Fix a use-after-free bug when translating trap-func-name...
Amara Emerson [Fri, 8 Oct 2021 06:26:35 +0000 (23:26 -0700)]
[GlobalISel][IRTranslator] Fix a use-after-free bug when translating trap-func-name traps.

This was using MachineFunction::createExternalSymbolName() before, which seems
reasonable, but in fact this is freed before the asm emitter which tries to access
the function name string. Switching it to use the string returned by the attribute
seems to fix the problem.

2 years ago[GlobalISel] Combine G_UMULH x, (1 << c)) -> x >> (bitwidth - c)
Amara Emerson [Mon, 4 Oct 2021 05:26:26 +0000 (22:26 -0700)]
[GlobalISel] Combine G_UMULH x, (1 << c)) -> x >> (bitwidth - c)

In order to not generate an unnecessary G_CTLZ, I extended the constant folder
in the CSEMIRBuilder to handle G_CTLZ. I also added some extra handing of
vector constants too. It seems we don't have any support for doing constant
folding of vector constants, so the tests show some other useless G_SUB
instructions too.

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

2 years ago[mlir][linalg] Add loop interchange to CodegenStrategy.
Tobias Gysi [Fri, 8 Oct 2021 06:39:22 +0000 (06:39 +0000)]
[mlir][linalg] Add loop interchange to CodegenStrategy.

Add a loop interchange pass and integrate it with CodegenStrategy.

This patch depends on https://reviews.llvm.org/D110728 and https://reviews.llvm.org/D110746.

Reviewed By: nicolasvasilache

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

2 years ago[TargetPassConfig] Remove an obsolete FIXME comment
Jay Foad [Fri, 8 Oct 2021 06:32:44 +0000 (07:32 +0100)]
[TargetPassConfig] Remove an obsolete FIXME comment

The "coloring with register" functionality it refers to was removed ten
years ago in svn r144481 "Remove the -color-ss-with-regs option".

2 years ago[mlir][linalg] Add generalization to CodegenStrategy.
Tobias Gysi [Fri, 8 Oct 2021 06:06:12 +0000 (06:06 +0000)]
[mlir][linalg] Add generalization to CodegenStrategy.

Add a generalization pass and integrate it with CodegenStrategy.

This patch depends on https://reviews.llvm.org/D110728.

Reviewed By: nicolasvasilache

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

2 years ago[VE][Test] Make Scalar/va_arg test generic
Simon Moll [Fri, 8 Oct 2021 06:07:51 +0000 (08:07 +0200)]
[VE][Test] Make Scalar/va_arg test generic

Make match patterns more permissive to be invariant to register
allocation choices.

Reviewed By: kaz7

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

2 years agoReland "[clang-repl] Re-implement clang-interpreter as a test case."
Vassil Vassilev [Tue, 5 Oct 2021 14:31:30 +0000 (14:31 +0000)]
Reland "[clang-repl] Re-implement clang-interpreter as a test case."

  Original commit message: "
    Original commit message: "
        Original commit message:"
          The current infrastructure in lib/Interpreter has a tool, clang-repl, very
          similar to clang-interpreter which also allows incremental compilation.

          This patch moves clang-interpreter as a test case and drops it as conditionally
          built example as we already have clang-repl in place.

          Differential revision: https://reviews.llvm.org/D107049
        "

        This patch also ignores ppc due to missing weak symbol for __gxx_personality_v0
        which may be a feature request for the jit infrastructure. Also, adds a missing
        build system dependency to the orc jit.
    "

    Additionally, this patch defines a custom exception type and thus avoids the
    requirement to include header <exception>, making it easier to deploy across
    systems without standard location of the c++ headers.
  "

  This patch also works around PR49692 and finds a way to use llvm::consumeError
  in rtti mode.

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

2 years ago[NFC][ScalarEvolution] Fix typo in getRangeForAffineAR and getRangeViaFactoring
Jimmy Zhongduo Lin [Fri, 8 Oct 2021 05:58:42 +0000 (11:28 +0530)]
[NFC][ScalarEvolution] Fix typo in getRangeForAffineAR and getRangeViaFactoring

2 years ago[mlir][linalg][bufferize][NFC] API change of aliasesNonWritableBuffer
Matthias Springer [Fri, 8 Oct 2021 05:46:45 +0000 (14:46 +0900)]
[mlir][linalg][bufferize][NFC] API change of aliasesNonWritableBuffer

The function now takes a Value instead of an OpOperand.

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

2 years ago[mlir][linalg][bufferize] Fix/add missing case to getAliasingOpOperand
Matthias Springer [Fri, 8 Oct 2021 05:36:43 +0000 (14:36 +0900)]
[mlir][linalg][bufferize] Fix/add missing case to getAliasingOpOperand

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

2 years ago[mlir][linalg][bufferize] Add bufferRelation to op interface
Matthias Springer [Fri, 8 Oct 2021 03:14:05 +0000 (12:14 +0900)]
[mlir][linalg][bufferize] Add bufferRelation to op interface

Currently supported are: BufferRelation::None, BufferRelation::Equivalent.

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

2 years agoevert "[mlir] Limit Python dependency to Development.Module when possible."
Mehdi Amini [Fri, 8 Oct 2021 05:18:44 +0000 (05:18 +0000)]
evert "[mlir] Limit Python dependency to Development.Module when possible."

This reverts commit 7aebdfc4fcc4a2667f5d5c30ffbdc146f9b014d2.

The build is broken with errors like:

GPUPasses.cpp:(.text.pybind11_object_init[pybind11_object_init]+0x118): undefined reference to `PyExc_TypeError'

2 years ago[mlir] Limit Python dependency to Development.Module when possible.
Mike Urbach [Fri, 8 Oct 2021 04:08:15 +0000 (22:08 -0600)]
[mlir] Limit Python dependency to Development.Module when possible.

After CMake 3.18, we are able to limit the scope of the
find_package(Python3 ...) search to just Development.Module. Searching
for Development will fail in manylinux builds, and isn't necessary
since we are not embedding the Python interpreter. For more information, see:
https://pybind11.readthedocs.io/en/stable/compiling.html#findpython-mode

Reviewed By: stellaraccident

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

2 years agoFix test-rsqrt.mlir to accept AMD's approximation of rsqrt as well
Mehdi Amini [Fri, 8 Oct 2021 01:21:24 +0000 (01:21 +0000)]
Fix test-rsqrt.mlir to accept AMD's approximation of rsqrt as well

These kind of function can behave differently on these X86 chips, there
isn't really "one true answer" so we'll accept both.

Also remove spurious passes and use mattr="avx" to match the instruction
used here.

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

2 years agoRevert "[sanitizer] Support Intel CET"
Arthur Eubanks [Fri, 8 Oct 2021 03:53:43 +0000 (20:53 -0700)]
Revert "[sanitizer] Support Intel CET"

This reverts commit fdf4c035225de52f596899931b1f6100e5e3e928.

Breaks macOS bots, e.g. https://crbug.com/1257863.
Still figuring out if this is actually supported on macOS. Other places
that include <cet.h> only do so on Linux.

2 years ago[RISCV] Remove experimental-b extension that includes all Zb* extensions
Craig Topper [Thu, 7 Oct 2021 19:02:35 +0000 (12:02 -0700)]
[RISCV] Remove experimental-b extension that includes all Zb* extensions

At this point it looks like a B extension will never exist. Instead
Zba, Zbb, Zbc, and Zbs are individual extensions being ratified
together as a package. Unknown at this time when or if the other
Zb* extensions will be ratified.

This patch removes references to the B extension. I've updated and
split tests accordingly.

This has been split from D110669 to make review a little easier.

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

2 years agouse right separator for windows.
Chen Zheng [Fri, 8 Oct 2021 03:44:12 +0000 (03:44 +0000)]
use right separator for windows.

2 years ago[LoopPeel] Peel loops with deoptimizing exits
Max Kazantsev [Fri, 8 Oct 2021 02:09:22 +0000 (09:09 +0700)]
[LoopPeel] Peel loops with deoptimizing exits

Added support for peeling loops with "deoptimizing" exits -
such exits that it or any of its children (or any of their
children, etc) either has a @llvm.experimental.deoptimize call
prior to the terminating return instruction of this basic block
or is terminated with unreachable. All blocks in the the
sequence must have a single successor, maybe except for the last
one.

Previously we only checked the exit block for being deoptimizing.
Now we check if the last reachable block from the exit is deoptimizing.

Patch by Dmitry Makogon!

Differential Revision: https://reviews.llvm.org/D110922
Reviewed By: mkazantsev

2 years ago[XCOFF] support DWARF for 32-bit XCOFF for object output
Chen Zheng [Fri, 8 Oct 2021 02:33:24 +0000 (02:33 +0000)]
[XCOFF] support DWARF for 32-bit XCOFF for object output

Reviewed By: jsji

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

2 years ago[OpenMP] Introduce new flags to assert thread and team usage in the runtime
Joseph Huber [Thu, 7 Oct 2021 19:43:56 +0000 (15:43 -0400)]
[OpenMP] Introduce new flags to assert thread and team usage in the runtime

This patch adds two flags to be supported for the new runtime. The flags
are `-fopenmp-assume-threads-oversubscription` and
-fopenmp-assume-teams-oversubscription`. These add global values that
can be checked by the work sharing runtime functions to make better
judgements about how to distribute work between the threads.

Reviewed By: jdoerfert

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

2 years ago[OpenMP][DeviceRTL] Add the support for printf in a freestanding way
Shilei Tian [Fri, 8 Oct 2021 02:15:23 +0000 (22:15 -0400)]
[OpenMP][DeviceRTL] Add the support for printf in a freestanding way

For NVPTX, `printf` can be used just with a function declaration. For AMDGCN, an
function definition is added, but it simply returns.

Reviewed By: jdoerfert

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

2 years ago[SelectionDAG] Fix shift libcall ABI mismatch in shift-amount argument
Itay Bookstein [Fri, 8 Oct 2021 01:55:55 +0000 (09:55 +0800)]
[SelectionDAG] Fix shift libcall ABI mismatch in shift-amount argument

The shift libcalls have a shift amount parameter of MVT::i32, but
sometimes ExpandIntRes_Shift may be called with a node whose
second operand is a type that is larger than that. This leads to
an ABI mismatch, and for example causes a spurious zeroing of
a register in RV32 for 64-bit shifts. Note that at present regular
shift intstructions already have their shift amount operand adapted
at SelectionDAGBuilder::visitShift time, and funnelled shifts bypass that.

Reviewed By: craig.topper

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

2 years ago[X86] Optimize fdiv with reciprocal instructions for half type
Wang, Pengfei [Fri, 8 Oct 2021 01:05:55 +0000 (09:05 +0800)]
[X86] Optimize fdiv with reciprocal instructions for half type

Reviewed By: craig.topper

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

2 years ago[RISCV][test] Add more tests of (add (mul r, c0), c1)
Ben Shi [Tue, 5 Oct 2021 08:37:44 +0000 (08:37 +0000)]
[RISCV][test] Add more tests of (add (mul r, c0), c1)

Reviewed By: craig.topper

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

2 years ago[OpenMP][FIX] Data race in the SPMD execution of the new runtime
Johannes Doerfert [Fri, 8 Oct 2021 00:57:22 +0000 (20:57 -0400)]
[OpenMP][FIX] Data race in the SPMD execution of the new runtime

We need to synchronize the threads *before* we destroy the RAII objects
that hold the old values and not after to avoid threads executing the
parallel region but seeing an inconsistent state.

Reviewed By: tianshilei1992

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

2 years ago[msan] Print both shadow and user address
Vitaly Buka [Wed, 6 Oct 2021 20:10:35 +0000 (13:10 -0700)]
[msan] Print both shadow and user address

before:
00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00
Shadow map of [0x211000000005, 0x21100000012e), 297 bytes:
now:
0x2f60d213ac10[0x7f60d213ac10]  00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00
Shadow map [0x211000000005, 0x21100000012e) of [0x711000000005, 0x711000000135), 297 bytes:

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

2 years ago[mlir][Tensor] Add ReifyRankedShapedTypeOpInterface to tensor.extract_slice.
MaheshRavishankar [Thu, 7 Oct 2021 23:21:32 +0000 (16:21 -0700)]
[mlir][Tensor] Add ReifyRankedShapedTypeOpInterface to tensor.extract_slice.

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

2 years ago[modules] Fix IRGen assertion on accessing ObjC ivar inside a method.
Volodymyr Sapsai [Wed, 22 Sep 2021 18:20:52 +0000 (11:20 -0700)]
[modules] Fix IRGen assertion on accessing ObjC ivar inside a method.

When have ObjCInterfaceDecl with the same name in 2 different modules,
hitting the assertion

> Assertion failed: (Index < RL->getFieldCount() && "Ivar is not inside record layout!"),
> function lookupFieldBitOffset, file llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp, line 3434.

on accessing an ivar inside a method. The assertion happens because
ivar belongs to one module while its containing interface belongs to
another module and then we fail to find the ivar inside the containing
interface. We already keep a single ObjCInterfaceDecl definition in
redecleration chain and in this case containing interface was correct.
The issue is with ObjCIvarDecl. IVar decl for IRGen is taken from
ObjCIvarRefExpr that is created in `Sema::BuildIvarRefExpr` using ivar
decl returned from `Sema::LookupIvarInObjCMethod`. And ivar lookup
returns a wrong decl because basically we take the first ObjCIvarDecl
found in `ASTReader::FindExternalVisibleDeclsByName` (called by
`DeclContext::lookup`). And in `ASTReader.Lookups` lookup table for a
wrong module comes first because `ASTReader::finishPendingActions`
processes `PendingUpdateRecords` in reverse order and the first
encountered ObjCIvarDecl will end up the last in `ASTReader.Lookups`.

Fix by merging ObjCIvarDecl from different modules correctly and by
using a canonical one in IRGen.

rdar://82854574

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

2 years ago[CMake] Include llvm-libtool-darwin in Fuchsia toolchain
Petr Hosek [Thu, 7 Oct 2021 23:25:15 +0000 (16:25 -0700)]
[CMake] Include llvm-libtool-darwin in Fuchsia toolchain

We want to use this tool in our build.

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

2 years ago[mlir] Fix a bug in Affine LICM.
Amy Zhuang [Thu, 7 Oct 2021 22:45:59 +0000 (15:45 -0700)]
[mlir] Fix a bug in Affine LICM.

Currently Affine LICM checks iterOperands and does not hoist out any
instruction containing iterOperands. We should check iterArgs instead.

Reviewed By: bondhugula

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

2 years ago[lldb] Parse and display reporting errors from JSON crashlogs
Jonas Devlieghere [Thu, 7 Oct 2021 22:12:45 +0000 (15:12 -0700)]
[lldb] Parse and display reporting errors from JSON crashlogs

JSON crashlogs have an optional field named reportNotes that contains
any potential errors encountered by the crash reporter when generating
the crashlog. Parse and display them in LLDB.

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

2 years ago[lldb] Support missing threadState in JSON crashlogs
Jonas Devlieghere [Thu, 7 Oct 2021 18:35:56 +0000 (11:35 -0700)]
[lldb] Support missing threadState in JSON crashlogs

Gracefully deal with JSON crashlogs that don't have thread state
available and print an error saying as much: "No thread state (register
information) available".

rdar://83955858

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

2 years agoWorkaround broken FileCheck default yet another time
Roman Lebedev [Thu, 7 Oct 2021 22:24:32 +0000 (01:24 +0300)]
Workaround broken FileCheck default yet another time

2 years ago[lld][test] Remove /usr/local/lib test requirement
Keith Smiley [Thu, 7 Oct 2021 22:07:33 +0000 (15:07 -0700)]
[lld][test] Remove /usr/local/lib test requirement

This field only exists if the directory exists on the machine running
the test. It likely exists for most Intel macOS users because of
homebrew, but doesn't exist on some of the CI machines. This
unfortunately makes this test a bit less strict.

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

2 years ago[NFC][VectorCombine] Add baseline test coverage for GEP scalarization
Roman Lebedev [Thu, 7 Oct 2021 22:15:29 +0000 (01:15 +0300)]
[NFC][VectorCombine] Add baseline test coverage for GEP scalarization

2 years ago[NFC] Including <string> in llvm-cxxdump/Error.cpp
Qiongsi Wu [Thu, 7 Oct 2021 22:07:30 +0000 (18:07 -0400)]
[NFC] Including <string> in llvm-cxxdump/Error.cpp

A [[ https://reviews.llvm.org/rGf6fa95b77f33c3690e4201e505cb8dce1433abd9 | recent commit  ]] removed `<string>` from `ErrorHandling.h`. The removal caused `<string>` to be no longer included for `llvm/tools/llvm-cxxdump/Error.cpp` which uses the string type.

This patch adds `<string>` to `llvm/tools/llvm-cxxdump/Error.cpp`.

Reviewed By: jsji

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

2 years agoDon't print uselistorder in --print-changed
Arthur Eubanks [Wed, 6 Oct 2021 23:51:38 +0000 (16:51 -0700)]
Don't print uselistorder in --print-changed

Using uselistorders is fairly niche, it shouldn't be on by default and mostly just clutters the output.

Reviewed By: jamieschmeiser

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

2 years ago[libc++] Remove the CI job for Apple/System/Noexceptions
Louis Dionne [Mon, 4 Oct 2021 19:01:27 +0000 (15:01 -0400)]
[libc++] Remove the CI job for Apple/System/Noexceptions

When we recently started using DYLD_LIBRARY_PATH to run the test suite
on the Apple/System configuration of the library, the -fno-exceptions
variant started failing.

It started failing because under that configuration, libc++abi.dylib
doesn't provide support for exceptions. For example, it doesn't provide
some symbols such as ___gxx_personality_v0. Now, the problem is that
when the test suite is run with DYLD_LIBRARY_PATH, /usr/lib/libobjc.dylib
uses the just-built libc++abi.dylib, which doesn't support exceptions,
and we end up with an unresolved reference to ___gxx_personality_v0.

Previously, using -Wl,-rpath,path/to/lib, we would be loading both
/usr/lib/libc++abi.dylib and <just-built>/lib/libc++abi.dylib.
/usr/lib/libobjc.dylib would use the system libc++abi.dylib, which
contains support for exceptions, and the tests would be using the
just-built one, which doesn't.

Disentangling that led me to believe that we shouldn't try to test this
configuration where libc++/libc++abi are built as system libraries, but
where they don't support exceptions, since that just doesn't make any
sense. Doing so is like trying to build libc++/libc++abi and test it as
a system library after performing an ABI break -- of course nothing is
going to work.

For that reason, I am removing this configuration. Note that we could
still test the library on macOS without exceptions if we wanted, only
we wouldn't be building it as a system library. This patch doesn't add
that because we already have a -fno-exceptions CI job on Linux.

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

2 years ago[libc++] Add a from-scratch testing config for GCC
Louis Dionne [Thu, 7 Oct 2021 18:54:14 +0000 (14:54 -0400)]
[libc++] Add a from-scratch testing config for GCC

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

2 years agoReland "[clang][Fuchsia] Re-enable compiler-rt tests in runtimes build"
Leonard Chan [Thu, 7 Oct 2021 21:19:29 +0000 (14:19 -0700)]
Reland "[clang][Fuchsia] Re-enable compiler-rt tests in runtimes build"

This reverts commit a625fd26cea579853bfe6c00f8fd8e6e88388630.

Round 3: The scudo test was addressed in
6727832c324c1fb43946275d24e2931fde94bc0d.

2 years ago[llvm-profgen] Ignore branch count against outline function
wlei [Thu, 16 Sep 2021 07:31:57 +0000 (00:31 -0700)]
[llvm-profgen] Ignore branch count against outline function

For some transformations like hot-cold split or coro split, it can outline its part of function ranges. Since sample loader is the early stage of backend and no split happens at that time, compiler can't recognize those function, so in llvm-profgen we should attribute the sample to the original function. This is already done for the body range samples since we use the symbols from dwarf which is created before the split.

But for branch samples, the call from master function to its outlined function is actually not a call to the original function, we shouldn't add head/callsie samples for it. So instead of dwarf symbol, we use the symbols from symbol table and ignore those functions with special suffixes(like `.cold` ,`.resume`) for accumulating the callsite/head samples.

Reviewed By: hoy, wenlei

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

2 years ago[scudo] Reduce the scope of AllocAfterFork
Kostya Kortchinsky [Thu, 7 Oct 2021 19:29:39 +0000 (12:29 -0700)]
[scudo] Reduce the scope of AllocAfterFork

`ScudoWrappersCppTest.AllocAfterFork` was failing obscurely sometimes.
Someone pointed us to Linux's `vm.max_map_count` that can be
significantly lower on some machines than others. It turned out that
on a machine with that setting set to 65530, some `ENOMEM` errors
would occur with `mmap` & `mprotect` during that specific test.

Reducing the number of times we fork, and the maximum size allocated
during that test makes it pass on those machines.

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

2 years agoDo not emit prologue_end for line 0 locs if there is a non-zero loc present
Adrian Prantl [Thu, 7 Oct 2021 19:58:24 +0000 (12:58 -0700)]
Do not emit prologue_end for line 0 locs if there is a non-zero loc present

This change fixes a bug where the compiler generates a prologue_end
for line 0 locs. That is because line 0 is not associated with any
source location, so there should not be a prolgoue_end at a location
that doesn't correspond to a source location.

There were some LLVM tests that were explicitly checking for line 0
prologue_end's as well since I believe that to be incorrect, I had to
change those tests as well.

Patch by Shubham Rastogi!

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

2 years agoRecognize the Swift compiler in DW_AT_producer
Adrian Prantl [Wed, 6 Oct 2021 22:04:36 +0000 (15:04 -0700)]
Recognize the Swift compiler in DW_AT_producer

This patch adds support for Swift compiler producer strings to DWARFUnit.

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

2 years ago[NFC][sanitizer] Annotate a few branches in StackDepot
Vitaly Buka [Thu, 7 Oct 2021 17:43:49 +0000 (10:43 -0700)]
[NFC][sanitizer] Annotate a few branches in StackDepot

2 years ago[sanitizer] Remove traces from the header
Vitaly Buka [Wed, 6 Oct 2021 21:19:27 +0000 (14:19 -0700)]
[sanitizer] Remove traces from the header

This will simplify removing id proposed by @dvyukov on D111183
Also now we have more flexiliby for traces compressio they
are not interleaving with uncompressable headers.

Depends on D111256.

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

2 years ago[NFC][sanitizer] Remove global PersistentAllocator
Vitaly Buka [Wed, 6 Oct 2021 19:37:21 +0000 (12:37 -0700)]
[NFC][sanitizer] Remove global PersistentAllocator

This way is easier to track memory usage and do other
incremental refactorings.

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

2 years ago[sanitizer] Uninline slow path of PersistentAllocator::alloc
Vitaly Buka [Thu, 7 Oct 2021 17:13:00 +0000 (10:13 -0700)]
[sanitizer] Uninline slow path of PersistentAllocator::alloc

2 years ago[flang] Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]
peter klausler [Wed, 6 Oct 2021 23:29:00 +0000 (16:29 -0700)]
[flang] Error checking for IBCLR/IBSET and ISHFT/SHIFT[ALR]

Bit positions for the intrinsics IBCLR and IBSET and shift counts
for the intrinsics ISHFT/SHIFTA/SHIFTL/SHIFTR should be validated
when folding.

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

2 years ago[scev] Put comments on the right fields [nfc]
Philip Reames [Wed, 6 Oct 2021 23:44:24 +0000 (16:44 -0700)]
[scev] Put comments on the right fields [nfc]

2 years ago[AMDGPU] Preserve MachineDominatorTree in SILowerControlFlow
Jay Foad [Thu, 7 Oct 2021 14:11:31 +0000 (15:11 +0100)]
[AMDGPU] Preserve MachineDominatorTree in SILowerControlFlow

Updating the MachineDominatorTree is easy since SILowerControlFlow only
splits and removes basic blocks. This should save a bit of compile time
because previously we would recompute the dominator tree from scratch
after this pass.

Another reason for doing this is that SILowerControlFlow preserves
LiveIntervals which transitively requires MachineDominatorTree. I think
that means that SILowerControlFlow is obliged to preserve
MachineDominatorTree too as explained here:
https://lists.llvm.org/pipermail/llvm-dev/2020-November/146923.html
although it does not seem to have caused any problems in practice yet.

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

2 years ago[TargetPassConfig] Enable machine verification after miscellaneous passes
Jay Foad [Thu, 7 Oct 2021 20:24:50 +0000 (21:24 +0100)]
[TargetPassConfig] Enable machine verification after miscellaneous passes

In a couple of places machine verification was disabled for no apparent
reason, probably just because an "addPass(..., false)" line was cut and
pasted from elsewhere.

After this patch the only remaining place where machine verification is
disabled in the generic TargetPassConfig code, is after addPreEmitPass.

2 years ago[BasicAA] Use base of decomposed GEP in recursive queries (NFC)
Nikita Popov [Thu, 7 Oct 2021 20:06:53 +0000 (22:06 +0200)]
[BasicAA] Use base of decomposed GEP in recursive queries (NFC)

DecompGEP.Base and UnderlyingV are currently always the same.
However, logically DecompGEP.Base is the right value to use here,
because the decomposed offset is relative to that base.

2 years ago[ARC] ARCRegisterInfo cleanup prior to adding core register pairs (ARC32) and 64...
Mark Schimmel [Thu, 7 Oct 2021 19:59:39 +0000 (12:59 -0700)]
[ARC] ARCRegisterInfo cleanup prior to adding core register pairs (ARC32) and 64-bit core registers (ARC64)

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

2 years ago[clang] Fix darwin REQUIRES test annotation (NFC)
Keith Smiley [Wed, 6 Oct 2021 20:29:08 +0000 (13:29 -0700)]
[clang] Fix darwin REQUIRES test annotation (NFC)

Some subprojects like compiler-rt define the `darwin` feature in their
lit config, but clang does not do that, so we need to use the global
`system-darwin` here instead.

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

2 years ago[LoopFlatten] Mark loop analyses as preserved
Nikita Popov [Thu, 7 Oct 2021 18:38:37 +0000 (20:38 +0200)]
[LoopFlatten] Mark loop analyses as preserved

LoopFlatten does preserve loop analyses (DT, LI and SCEV), but
currently doesn't mark them as preserved in the NewPM (they are
marked as preserved in the LegacyPM). I think this doesn't really
have an effect in the end because the loop pass adaptor will just
assume they're preserved anyway, but let's be explicit about this
for the sake of clarity.

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

2 years ago[Bazel] Update config for 3b01cf9286
Geoffrey Martin-Noble [Thu, 7 Oct 2021 19:45:53 +0000 (12:45 -0700)]
[Bazel] Update config for 3b01cf9286

Updates the Bazel config for changes from
https://github.com/llvm/llvm-project/commit/3b01cf9286
by adding configuration for the new OpenMPOpsInterfaces tablegn target.

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

2 years ago[runtimes] Add tests for vendor-specific properties
Louis Dionne [Tue, 28 Sep 2021 19:54:41 +0000 (15:54 -0400)]
[runtimes] Add tests for vendor-specific properties

Vendors take libc++ and ship it in various ways. Some vendors might
ship it differently from what upstream LLVM does, i.e. the install
location might be different, some ABI properties might differ, etc.

In the past few years, I've come across several instances where
having a place to test some of these properties would have been
incredibly useful. I also just got bitten by the lack of tests
of that kind, so I'm adding some now.

The tests added by this commit for Apple platforms have numerous
TODOs that capture discrepancies between the upstream LLVM CMake
and the slightly-modified build we perform internally to produce
Apple's system libc++. In the future, the goal would be to upstream
all those differences so that it's possible to build a faithful
Apple system libc++ with the upstream LLVM sources only.

But this isn't only useful for Apple - this lays out the path for
any vendor being able to add their own checks (either upstream or
downstream) to libc++.

This is a re-application of 9892d1644f, which was reverted in 138dc27186be
because it broke the build. The issue was that we didn't apply the required
changes to libunwind and our CI didn't notice it because we were not
running the libunwind tests. This has been fixed now, and we're running
the libunwind tests in CI now too.

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

2 years ago[lld][test] Fix darwin REQUIRES (NFC)
Keith Smiley [Wed, 6 Oct 2021 20:41:14 +0000 (13:41 -0700)]
[lld][test] Fix darwin REQUIRES (NFC)

Some subprojects like compiler-rt define the `darwin` feature in their
lit config, but lld does not do that, so we need to use the global
system-darwin here instead. This test seems to have drifted from the
actual behavior so I also had to add `/usr/local/lib` here to make it
pass.

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

2 years agoRevert "Reland A new option -print-on-crash that prints the IR as it was upon enterin...
Jamie Schmeiser [Thu, 7 Oct 2021 19:23:48 +0000 (15:23 -0400)]
Revert "Reland A new option -print-on-crash that prints the IR as it was upon entering the last pass when there is a crash."

This reverts commit 13d1592716a65444314f501109ec9ca344ef1f87.

2 years ago[libomptarget] Reapply 2bc4d48a78b which was accidentally reverted
Jon Chesterfield [Thu, 7 Oct 2021 19:17:02 +0000 (20:17 +0100)]
[libomptarget] Reapply 2bc4d48a78b which was accidentally reverted

2 years ago[InstCombine] ease use check for fold of bitcasted extractelt to trunc
Sanjay Patel [Thu, 7 Oct 2021 18:56:29 +0000 (14:56 -0400)]
[InstCombine] ease use check for fold of bitcasted extractelt to trunc

This helps with examples like:
https://llvm.org/PR52057
...but we need at least one more fold to fix that case.

2 years ago[TwoAddressInstruction] Enable machine verification after this pass
Jay Foad [Fri, 1 Oct 2021 16:31:21 +0000 (17:31 +0100)]
[TwoAddressInstruction] Enable machine verification after this pass

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

2 years ago[PHIElimination] Enable machine verification after this pass
Jay Foad [Sun, 3 Oct 2021 08:10:29 +0000 (09:10 +0100)]
[PHIElimination] Enable machine verification after this pass

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

2 years ago[PHIElimination] Account for INLINEASM_BR when inserting kills
Jay Foad [Thu, 30 Sep 2021 14:35:43 +0000 (15:35 +0100)]
[PHIElimination] Account for INLINEASM_BR when inserting kills

When PHIElimination adds kills after lowering PHIs to COPYs it knows
that some instructions after the inserted COPY might use the same
SrcReg, but it was only looking at the terminator instructions at the
end of the block, not at other instructions like INLINEASM_BR that can
appear after the COPY insertion point.

Since we have already called findPHICopyInsertPoint, which knows about
INLINEASM_BR, we might as well reuse the insertion point that it
calculated when looking for instructions that might use SrcReg.

This fixes a machine verification failure if you force machine
verification to run after PHIElimination (currently it is disabled for
other reasons) when running
test/CodeGen/X86/callbr-asm-phi-placement.ll.

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

2 years ago[PHIElimination] Pre-commit a test case for D110834
Jay Foad [Fri, 1 Oct 2021 18:18:45 +0000 (19:18 +0100)]
[PHIElimination] Pre-commit a test case for D110834

2 years agoReland A new option -print-on-crash that prints the IR as it was upon entering the...
Jamie Schmeiser [Thu, 7 Oct 2021 19:02:19 +0000 (15:02 -0400)]
Reland A new option -print-on-crash that prints the IR as it was upon entering the last pass when there is a crash.

Summary:
The IR is saved in its print form before each pass is started and a
signal handler is registered.  If the compilation crashes, the signal
handler will print the saved IR to dbgs().  This option
can be modified using -print-module-scope to get the IR for the complete
module.  Filtering options can be used to improve performance by limiting
which passes (or functions) save the IR.  Note that this option only works
with the new pass manager.

Author: Jamie Schmeiser <schmeise@ca.ibm.com>
Reviewed By: aeubanks (Arthur Eubanks) yrouban (Yevgeny Rouban)
Differential Revision: https://reviews.llvm.org/D86657

2 years ago[mlir][openmp] Add an interface for Outlineable OpenMP ops
Kiran Chandramohan [Thu, 7 Oct 2021 18:52:15 +0000 (20:52 +0200)]
[mlir][openmp] Add an interface for Outlineable OpenMP ops

Add an interface for outlineable OpenMP operations.
This patch was initially done in fir-dev and is now needed
for the upstreaming.

Reviewed By: schweitz

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

2 years ago[mlir][python] Temporarily disable test for converting unsupported DenseElementsAttr...
Stella Laurenzo [Thu, 7 Oct 2021 18:47:05 +0000 (11:47 -0700)]
[mlir][python] Temporarily disable test for converting unsupported DenseElementsAttr types to a buffer.

* Need to investigate the proper solution to https://github.com/pybind/pybind11/issues/3336 or engineer something different.
* The attempt to produce an empty buffer_info as a workaround triggers asan/ubsan.
* Usage of this API does not arise naturally in practice yet, and it is more important to be asan/crash clean than have a solution right now.
* Switching back to raising an exception, even though that triggers terminate().

2 years ago[X86] Special-case ADD of two identical registers in convertToThreeAddress
Jay Foad [Thu, 30 Sep 2021 13:18:52 +0000 (14:18 +0100)]
[X86] Special-case ADD of two identical registers in convertToThreeAddress

X86InstrInfo::convertToThreeAddress would convert this:

  %1:gr32 = ADD32rr killed %0:gr32(tied-def 0), %0:gr32, implicit-def dead $eflags

to this:

  undef %2.sub_32bit:gr64 = COPY killed %0:gr32
  undef %3.sub_32bit:gr64_nosp = COPY %0:gr32
  %1:gr32 = LEA64_32r killed %2:gr64, 1, killed %3:gr64_nosp, 0, $noreg

Note that in the ADD32rr, %0 was used twice and the first use had a kill
flag, which is what MachineInstr::addRegisterKilled does.

In the converted code, each use of %0 is copied to a new reg, and the
first COPY inherits the kill flag from the ADD32rr. This causes
machine verification to fail (if you force it to run after
TwoAddressInstructionPass) because the second COPY uses %0 after it is
killed. Note that machine verification is currently disabled after
TwoAddressInstructionPass but this is a step towards being able to
enable it.

Fix this by not inserting more than one COPY from the same source
register.

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

2 years ago[X86] Pre-commit a test case for D110829
Jay Foad [Tue, 5 Oct 2021 13:51:12 +0000 (14:51 +0100)]
[X86] Pre-commit a test case for D110829

2 years ago[CUDA] Make sure <string.h> is included with original __THROW defined.
Artem Belevich [Wed, 29 Sep 2021 22:02:36 +0000 (15:02 -0700)]
[CUDA] Make sure <string.h> is included with original __THROW defined.

Otherwise we may end up with an inconsistent redeclarations of the standard
library functions if _FORTIFY_SOURCE is in effect.

https://bugs.llvm.org/show_bug.cgi?id=47869

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

2 years ago[GlobalISel] Port the udiv -> mul by constant combine.
Amara Emerson [Wed, 29 Sep 2021 06:41:11 +0000 (23:41 -0700)]
[GlobalISel] Port the udiv -> mul by constant combine.

This is a straight port from the equivalent DAG combine.

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

2 years ago[RISCV] Correct FileCheck prefixes in rv32zbc-intrinsic.ll and rv64zbc-intrinsic...
Craig Topper [Thu, 7 Oct 2021 18:27:07 +0000 (11:27 -0700)]
[RISCV] Correct FileCheck prefixes in rv32zbc-intrinsic.ll and rv64zbc-intrinsic.ll. NFC

Zbc RUN lines should use ZBC instead of BC in their prefix.

2 years agoRefactor code in ObjCARC.cpp. NFC
Akira Hatanaka [Thu, 7 Oct 2021 18:25:01 +0000 (11:25 -0700)]
Refactor code in ObjCARC.cpp. NFC

This is in preparation for another patch I'm planning to send later.

2 years ago[LangRef] Update ifunc syntax
Fangrui Song [Thu, 7 Oct 2021 18:14:40 +0000 (11:14 -0700)]
[LangRef] Update ifunc syntax

Extracted from Itay Bookstein's D108872.

2 years ago[NFC] Rename functions to match our naming scheme.
Kevin P. Neal [Wed, 6 Oct 2021 18:35:38 +0000 (14:35 -0400)]
[NFC] Rename functions to match our naming scheme.

In the review of D111085 it was pointed out that these functions don't
conform to the naming scheme in use in LLVM. With this commit we should
be good for all of FPEnv.h.

2 years ago[MIRParser] Add support for IsInlineAsmBrIndirectTarget
Jay Foad [Thu, 7 Oct 2021 09:38:38 +0000 (10:38 +0100)]
[MIRParser] Add support for IsInlineAsmBrIndirectTarget

Print this basic block flag as inlineasm-br-indirect-target and parse
it. This allows you to write MIR test cases for INLINEASM_BR. The test
case I added is one that I wanted to precommit anyway for D110834.

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

2 years ago[LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions
Bjorn Pettersson [Wed, 6 Oct 2021 10:58:52 +0000 (12:58 +0200)]
[LoopRotate] Forget SCEV values in RewriteUsesOfClonedInstructions

This patch fixes problems reported in PR51981.

When rotating a loop it isn't enough to just forget SCEV for that
loop nest. When rotating we might clone some instructions from the
old header into the preheader, and insert new PHI nodes to merge
values together. There could be users of the original value that are
updated to use the PHI result. And those users were not necessarily
depending on a PHI node earlier, so they weren't cleaned up when just
forgetting all SCEV:s for the loop nest. So we need to explicitly
forget those values to avoid invalid cached SCEV expressions.

Reviewed By: fhahn, mkazantsev

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

2 years ago[test] Pre-commit test case for PR51981. NFC
Bjorn Pettersson [Thu, 30 Sep 2021 10:33:31 +0000 (12:33 +0200)]
[test] Pre-commit test case for PR51981. NFC

Reviewed By: fhahn

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

2 years agoWorkaround build error for mingw-g++
Luke Drummond [Thu, 7 Oct 2021 14:44:38 +0000 (15:44 +0100)]
Workaround build error for mingw-g++

mingw-g++ does not correctly support the full `std::errc` namespace as
worded in the standard[1]. As such, we cannot reliably use all names
therein. This patch changes the use of
`std::errc::state_not_recoverable`, to use portable error codes from the
`llvm::errc` equivalent.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71444

Reviewed by v.g.vassilev
Differential Revision: https://reviews.llvm.org/D111315

2 years ago[lldb] Fix a "missing field" warning
Kazu Hirata [Thu, 7 Oct 2021 17:25:05 +0000 (10:25 -0700)]
[lldb] Fix a "missing field" warning

This patch fixes:

  llvm-project/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp:204:6:
  error: missing field 'invalidate_regs' initializer
  [-Werror,-Wmissing-field-initializers]

2 years ago[RISCV] Handle vector of pointer in getTgtMemIntrinsic for strided load/store.
Craig Topper [Thu, 7 Oct 2021 00:14:08 +0000 (17:14 -0700)]
[RISCV] Handle vector of pointer in getTgtMemIntrinsic for strided load/store.

getScalarSizeInBits() doesn't work if the scalar type is a pointer.
For that we need to go through DataLayout.

2 years agoAdd information about partially implemented features
Corentin Jabot [Thu, 7 Oct 2021 17:07:15 +0000 (13:07 -0400)]
Add information about partially implemented features

Desccribe in cxx_status.html the missing parts of the partially
implemented proposals described in cxx_status.html.

Uses <details> blocks so the information appears collapsed
by default.

2 years ago[PS4][TargetLibraryInfo] Set TLI info correctly for PS4
Paul Robinson [Thu, 30 Sep 2021 21:12:29 +0000 (14:12 -0700)]
[PS4][TargetLibraryInfo] Set TLI info correctly for PS4

2 years ago[NFC] Update return type of vec_popcnt to vector unsigned.
Amy Kwan [Thu, 7 Oct 2021 15:55:50 +0000 (10:55 -0500)]
[NFC] Update return type of vec_popcnt to vector unsigned.

This patch updates the vec_popcnt builtins to return vector unsigned,
as defined by the Power Vector Intrinsics Programming Reference.
This patch is NFC and all existing tests pass.

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

2 years ago[InstSimplify] (x || y) && (x || !y) --> x
Sanjay Patel [Thu, 7 Oct 2021 15:53:16 +0000 (11:53 -0400)]
[InstSimplify] (x || y) && (x || !y) --> x

https://alive2.llvm.org/ce/z/4BE33w

This is the logical (select-form) equivalent of the bitwise logic fold:
e36d351d19b1

This is another part of solving the regression from:
https://llvm.org/PR52077

2 years ago[llvm-readelf][docs] Add missing options and details to the help output and the comma...
gbreynoo [Thu, 7 Oct 2021 16:09:52 +0000 (17:09 +0100)]
[llvm-readelf][docs] Add missing options and details to the help output and the command guide

This change is to keep the help text and command guide of llvm-readelf
in tandem.

 - In the help text mention that --section-data, --section-relocations,
   --section-symbols and --stack-sizes have no effect on GNU style
   output; give the accepted values for --elf-output-style and update
   the description of --gnu-hash-table to use the command guide
   description.
 - In the command guide add the missing options -a,
   --dependant-libraries,--no-demangle, --wide and -W. Also update the
   description of --symbols so it matches the help text.

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

2 years ago[libc++] Use addressof in assignment operator.
Mark de Wever [Tue, 28 Sep 2021 17:15:18 +0000 (19:15 +0200)]
[libc++] Use addressof in assignment operator.

Replace `&__rhs` with `_VSTD::addressof(__rhs)` to guard against ADL hijacking
of `operator&` in `operator=`. Thanks to @CaseyCarter for bringing it to our
attention.

Similar issues with hijacking `operator&` still exist, they will be
addressed separately.

Reviewed By: #libc, Quuxplusone, ldionne

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

2 years ago[lldb] Mark abort signal test unsupported on AArch64 Linux
David Spickett [Thu, 7 Oct 2021 16:08:08 +0000 (16:08 +0000)]
[lldb] Mark abort signal test unsupported on AArch64 Linux

This has started failing since we moved our bots to Focal.
For unknown reasons the abort_caller stack is missing when
we check from the handler breakpoint.

Mark unsupported while I investigate.

2 years agoC] Add option to ARCOptAddrMode to disable the pass and diagnose errors
Mark Schimmel [Thu, 7 Oct 2021 16:02:19 +0000 (09:02 -0700)]
C] Add option to ARCOptAddrMode to disable the pass and diagnose errors
Fixed formatting issues reported by clang-format

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