SuccessChanges

Summary

  1. [scudo] Test on mips and ppc QEMU (details)
Commit 01a0a609bffc75deec7dbcf2afa53bd1424b3abf by Vitaly Buka
[scudo] Test on mips and ppc QEMU
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)

Summary

  1. sanitizer_common/symbolizer: fix crashes during exit (details)
  2. [LV] Return both fixed and scalable Max VF from computeMaxVF. (details)
  3. [RDA] Fix printing of regs / reg units. NFC (details)
  4. [NFC][scudo] Reduce test region size on MIPS32 (details)
  5. [lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB (details)
  6. [ASTimporter] Remove decl from lookup only if it has decl context (details)
  7. [mlir][docs] Fix broken link to Toy example (details)
Commit 00a1007545ba8ad2105876a41364b35235749e2a by dvyukov
sanitizer_common/symbolizer: fix crashes during exit

Override __cxa_atexit and ignore callbacks.
This prevents crashes in a configuration when the symbolizer
is built into sanitizer runtime and consequently into the test process.
LLVM libraries have some global objects destroyed during exit,
so if the test process triggers any bugs after that, the symbolizer crashes.
An example stack trace of such crash:

For the standalone llvm-symbolizer this does not hurt,
we just don't destroy few global objects on exit.

Reviewed By: kda

Differential Revision: https://reviews.llvm.org/D102470
The file was addedcompiler-rt/test/tsan/atexit4.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp (diff)
Commit 81fdc73e5dc74bfe7cda1e16f01f23836406d709 by sander.desmalen
[LV] Return both fixed and scalable Max VF from computeMaxVF.

This patch introduces a new class, MaxVFCandidates, that holds the
maximum vectorization factors that have been computed for both scalable
and fixed-width vectors.

This patch is intended to be NFC for fixed-width vectors, although
considering a scalable max VF (which is disabled by default) pessimises
tail-loop elimination, since it can no longer determine if any chosen VF
(less than fixed/scalable MaxVFs) is guaranteed to handle all vector
iterations if the trip-count is known. This issue will be addressed in
a future patch.

Reviewed By: fhahn, david-arm

Differential Revision: https://reviews.llvm.org/D98721
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp (diff)
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h (diff)
Commit b3d38327b2bfcc92b5e34d0d2f2fa52a1ba063a0 by david.green
[RDA] Fix printing of regs / reg units. NFC

It was printing RegUnits as Regs, leading to much confusion in the debug
logs.
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp (diff)
Commit 2e92f1a9bcd5550761be936ac9c0848e6d9fcb40 by Vitaly Buka
[NFC][scudo] Reduce test region size on MIPS32
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/primary_test.cpp (diff)
Commit bbea361039c11dc2e6e281c80fa8aa569f1c7c2d by Raphael Isemann
[lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB

A long time ago LLDB wanted to start using StringRef instead of
C-Strings/ConstString but was blocked by the fact that the StringRef constructor
that takes a C-string was asserting that the C-string isn't a nullptr. To
workaround this, D24697 introduced a special function called `withNullAsEmpty`
and that's what LLDB (and only LLDB) started to use to build StringRefs from
C-strings.

A bit later it seems that `withNullAsEmpty` was declared too awkward to use and
instead the assert in the StringRef constructor got removed (see D24904). The
rest of LLDB was then converted to StringRef by just calling the now perfectly
usable implicit constructor.

However, all the calls to `withNullAsEmpty` just remained and are now just
strange artefacts in the code base that just look out of place. It's also
curiously a LLDB-exclusive function and no other project ever called it since
it's introduction half a decade ago.

This patch removes all uses of `withNullAsEmpty`. The follow up will be to
remove the function from StringRef.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D102597
The file was modifiedlldb/source/Commands/CommandObjectType.cpp (diff)
The file was modifiedlldb/source/Interpreter/OptionValue.cpp (diff)
The file was modifiedlldb/include/lldb/Interpreter/OptionValueRegex.h (diff)
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp (diff)
The file was modifiedlldb/source/API/SBTypeCategory.cpp (diff)
The file was modifiedlldb/source/API/SBLanguageRuntime.cpp (diff)
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp (diff)
The file was modifiedlldb/source/API/SBDebugger.cpp (diff)
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp (diff)
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp (diff)
The file was modifiedlldb/include/lldb/Interpreter/OptionValueString.h (diff)
The file was modifiedlldb/source/Breakpoint/BreakpointResolverName.cpp (diff)
The file was modifiedlldb/source/API/SBPlatform.cpp (diff)
The file was modifiedlldb/source/Target/ThreadPlanStepInRange.cpp (diff)
Commit 88ee91cd87794813f4394f82d2c693c8d766e1d2 by balazs.benics
[ASTimporter] Remove decl from lookup only if it has decl context

In the case of TypedefDecls we set the DeclContext after we imported it.
It turns out, it could lead to null pointer dereferences during the
cleanup part of a failed import.

This patch demonstrates this issue and fixes it by checking if the
DeclContext is available or not.

Reviewed By: shafik

Differential Revision: https://reviews.llvm.org/D102640
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp (diff)
The file was modifiedclang/lib/AST/ASTImporter.cpp (diff)
Commit dfd929d26174108ccfe84de33abf23d660e1373d by marius.brehler
[mlir][docs] Fix broken link to Toy example
The file was modifiedmlir/docs/LangRef.md (diff)