SuccessChanges

Summary

  1. [NFC][lsan][fuzzer] Relax fuzzer-leak.test (details)
  2. [X86] Pre-commit test cases for D87593 (details)
  3. [NFC][Asan] Don't use MetaData for size (details)
  4. [NFC][Asan] Remove from_memalign and rz_log (details)
  5. Revert "[Sema] Address-space sensitive index check for unbounded arrays" (details)
  6. [NFC][Asan] Reorder bitfields (details)
  7. [Asan] Cleanup kAllocBegMagic setup (details)
  8. [NFC][Asan] Return uptr as before D87646 (details)
  9. [NFC][Asan] Remove chunk pointer from metadata (details)
  10. [SVE] Fix isLoadInvariantInLoop for scalable vectors (details)
Commit 3023f057d83a5920e39c647b7eaf677676b3a191 by Vitaly Buka
[NFC][lsan][fuzzer] Relax fuzzer-leak.test

With lsan we can't guarantee to catch leak on the same iteration.
The file was modifiedcompiler-rt/test/fuzzer/fuzzer-leak.test (diff)
Commit c6aadd2b72cf38142f137278a483fea7eb9bd16f by craig.topper
[X86] Pre-commit test cases for D87593

The memory operand for these is incorrect.
The file was modifiedllvm/test/CodeGen/X86/vmaskmov-offset.ll (diff)
Commit d74e1f3a5119ba6b2b6f49a3e5cfab10ea903d93 by Vitaly Buka
[NFC][Asan] Don't use MetaData for size

Now we have enough space in the ChunkHeader.
45 bit is enough for kMaxAllowedMallocSize.

Depends on D87642.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87643
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp (diff)
Commit cad961bb24d3b1ec63571e8cac6aa8b16245f95b by Vitaly Buka
[NFC][Asan] Remove from_memalign and rz_log

Before D87643 they where used to optimize UsedSize(). Which was
called frequently from leak scanner.
It was also used for calls from QuarantineCallback
but we have heavy get_allocator().Deallocate call there anyway.

Depends on D87643.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87644
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp (diff)
Commit c8ddf27ddbbe140d8acbcf1b2d3fdfbba253d02c by Chris.Hamilton
Revert "[Sema] Address-space sensitive index check for unbounded arrays"

This reverts commit da55e9ba1273284f1af61bceeaeb25e487838034.

Build bots uncovered coverage gap in testing.  Change not ready.
The file was modifiedclang/test/Sema/const-eval.c (diff)
The file was modifiedclang/lib/Sema/SemaChecking.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was removedclang/test/Sema/unbounded-array-bounds.c
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp (diff)
Commit a61bb7f0980805ef13ca188892ba17f386a2347d by Vitaly Buka
[NFC][Asan] Reorder bitfields

Depends on D87644.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87645
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp (diff)
Commit 08507d83be15387c85edb538517b66add9dc6295 by Vitaly Buka
[Asan] Cleanup kAllocBegMagic setup

Make it atomic.
Wrap it into class.
Set it late after chunk is initialized.
Reset it soon when the chunk is still valid.

Depends on D87645.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87646
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp (diff)
Commit 4540d3baad06e060ba1e42c8fb60ba8c32308db5 by Vitaly Buka
[NFC][Asan] Return uptr as before D87646
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp (diff)
Commit 943b0c8bffc55eba4cebaaffc4bd33856e271e94 by Vitaly Buka
[NFC][Asan] Remove chunk pointer from metadata

kAllocBegMagic should be enough.
kAllocBegMagic is already set for the Secondary allocations.
kAllocBegMagic is good enough for the Primary, but it's even safer for
the Secondary allocator as all allocated block are from mmap.

Depends on D87646.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D87647
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp (diff)
Commit 69cccb3189d6e0535ab78411a37cfcccf06a58a7 by david.sherwood
[SVE] Fix isLoadInvariantInLoop for scalable vectors

I've amended the isLoadInvariantInLoop function to bail out for
scalable vectors for now since the invariant.start intrinsic is only
ever generated by the clang frontend for thread locals or struct
and class constructors, neither of which support sizeless types.
In addition, the intrinsic itself does not currently support the
concept of a scaled size, which makes it impossible to compare
the sizes of different scalable objects, e.g. <vscale x 32 x i8>
and <vscale x 16 x i8>.

Added new tests here:

  Transforms/LICM/AArch64/sve-load-hoist.ll
  Transforms/LICM/hoisting.ll

Differential Revision: https://reviews.llvm.org/D87227
The file was addedllvm/test/Transforms/LICM/AArch64/lit.local.cfg
The file was addedllvm/test/Transforms/LICM/AArch64/sve-load-hoist.ll
The file was modifiedllvm/test/Transforms/LICM/hoisting.ll (diff)
The file was modifiedllvm/lib/IR/Verifier.cpp (diff)
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp (diff)