Changes

Summary

  1. [sanitizer] Support IsRssLimitExceeded in all sanitizers (details)
  2. [NFC][sanitizer] Iterator adaptors for Leb128 encoding (details)
  3. [sanitizer] Add Lempel–Ziv–Welch encoder/decoder (details)
  4. [test-release.sh] Do not run chrpath on AIX. (details)
  5. [DebugInfo] Check DIEnumerator bit width when comparing for equality (details)
  6. ThreadPool: grow the pool only as needed (details)
  7. [clang][ARM] relax -mtp=cp15 for non-thumb cases (details)
  8. Revert "[mlir][tosa] Add tosa.conv2d as fully_connected canonicalization" (details)
  9. [ELF][test] Fix typo in aarch64-cortex-a53-843419-recognize.s (details)
  10. [gn build] (semiautomatically) port 98bb198693ca (details)
  11. [NFC] const-ify some methods on CommandReturnObject (details)
  12. [mlir][sparse] Adding a stress test (details)
  13. [NFC][sanitizer] Add test for command line flag for enable-noundef-analysis. (details)
Commit 6318001209932f075fd6f12439ec9e0327e9af05 by Vitaly Buka
[sanitizer] Support IsRssLimitExceeded in all sanitizers

Reviewed By: kstoimenov

Differential Revision: https://reviews.llvm.org/D115000
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
The file was modifiedcompiler-rt/lib/hwasan/hwasan_allocator.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_allocator.cpp
The file was modifiedcompiler-rt/lib/memprof/memprof_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
The file was modifiedcompiler-rt/lib/msan/msan_allocator.cpp
The file was modifiedcompiler-rt/lib/dfsan/dfsan_allocator.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.h
Commit 5f1d1854eb1450d352663ee732235893c5782237 by Vitaly Buka
[NFC][sanitizer] Iterator adaptors for Leb128 encoding

It's similar to back_insert_iterator

Needed for D114924

Reviewed By: morehouse, kstoimenov

Differential Revision: https://reviews.llvm.org/D114980
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
Commit 98bb198693ca562742b4d4698c9680399a4cc1f5 by Vitaly Buka
[sanitizer] Add Lempel–Ziv–Welch encoder/decoder

It's very simple, fast and efficient for the stack depot compression if used on entire pointers.

Reviewed By: morehouse, kstoimenov

Differential Revision: https://reviews.llvm.org/D114918
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
The file was addedcompiler-rt/lib/sanitizer_common/tests/sanitizer_lzw_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_lzw.h
Commit 97eb3bb80ff9caa705c174c9adc2d683d8da79a3 by amy.kwan1
[test-release.sh] Do not run chrpath on AIX.

Upon testing the use of test-release.sh on AIX, the script initially fails
because chrpath is not present on AIX. This patch adds checks for AIX and allows
the script to continue running to completion.

Differential Revision: https://reviews.llvm.org/D115046
The file was modifiedllvm/utils/release/test-release.sh
Commit 93a20ecee4b6c6618e0a8e1112f4f929d55ffcbb by aeubanks
[DebugInfo] Check DIEnumerator bit width when comparing for equality

As mentioned in D106585, this causes non-determinism, which can also be
shown by this test case being flaky without this patch.

We were using the APSInt's bit width for hashing, but not for checking
for equality. APInt::isSameValue() does not check bit width.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D115054
The file was modifiedllvm/unittests/IR/DebugInfoTest.cpp
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
Commit 728b982bb2aec5a5e9c887a7b0181ee360b27b54 by joker.eph
ThreadPool: grow the pool only as needed

On my 96-core cloudtop 'machine', it seems unnecessary to always start
96 threads upfront... particularly as the ThreadPool is created even
with -mlir-disable-threading. Things like the resuling spew in GDB and
the obfuscated output of `(gdb) info threads` are my motivation here,
but it probably also doesn't hurt for at least some efficiency metrics to
avoid creating many threads upfront.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D115019
The file was modifiedllvm/lib/Support/ThreadPool.cpp
The file was modifiedllvm/include/llvm/Support/ThreadPool.h
Commit 9f95bc7dc18390199553cf2ea3bfcdc6a95717ef by ndesaulniers
[clang][ARM] relax -mtp=cp15 for non-thumb cases

Building -march=armv6k Linux kernels with -mtp=cp15 fails to
compile:

error: hardware TLS register is not supported for the arm
sub-architecture

@ardb found docs for ARM1176JZF-S (ARMv6K) that reference hard thread
pointer.

Relax our ARMv6 check for cases where we're targeting ARM via -marm (vs
Thumb1 via -mthumb).  This more closely matches the KConfig requirements
for where we plan to use these (ie. ARMv6K, ARMv7 (arm or thumb2)).

As @peter.smith mentions:
  on armv5 we can write the instruction to read/write to CP15 C13 with
  the ThreadID opcode. However on no armv5 implementation will the CP15
  C13 have a Thread ID register. The GCC intent seems to be whether the
  instruction is encodable rather than check what the CPU supports.

Link: https://github.com/ClangBuiltLinux/linux/issues/1502
Link: https://developer.arm.com/documentation/ddi0301/h/system-control-coprocessor/system-control-processor-registers/c13--thread-and-process-id-registers

Reviewed By: ardb, peter.smith

Differential Revision: https://reviews.llvm.org/D114116
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.h
The file was modifiedclang/test/Driver/clang-translation.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
Commit e2d8b607427d7d01bd9bdc007af4f4a4ac9833c6 by ravishankarm
Revert "[mlir][tosa] Add tosa.conv2d as fully_connected canonicalization"

This reverts commit 13bdb7ab4a7acaea7144a042fe583d45fbb9b5c4. The commit introduced/uncovered an unintended bug in models containing Conv2D.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D115079
The file was modifiedmlir/test/Dialect/Tosa/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Commit 9bd6f6f6d5598286efe9042dfb2be77ec4736823 by i
[ELF][test] Fix typo in aarch64-cortex-a53-843419-recognize.s
The file was modifiedlld/test/ELF/aarch64-cortex-a53-843419-recognize.s
Commit 6c11b872c481c20a1c965f021855c40f5efe5705 by thakis
[gn build] (semiautomatically) port 98bb198693ca
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Commit fddedcaeb8de067d2e349c7001ccd28061eacc5e by rupprecht
[NFC] const-ify some methods on CommandReturnObject
The file was modifiedlldb/source/Interpreter/CommandReturnObject.cpp
The file was modifiedlldb/include/lldb/Interpreter/CommandReturnObject.h
Commit 4748cc69314ad1ffd85fd6f0265d64fbbeba4430 by 2998727+wrengr
[mlir][sparse] Adding a stress test

Addresses https://bugs.llvm.org/show_bug.cgi?id=52410
Depends on D114192

Reviewed By: aartbik, mehdi_amini

Differential Revision: https://reviews.llvm.org/D114118
The file was modifiedmlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
The file was addedmlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
Commit 6c2be3015e07f25912b8cd5b75214c532f568638 by kda
[NFC][sanitizer] Add test for command line flag for enable-noundef-analysis.

A simple unit test to demonstrate the flags working correctly.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D114485
The file was addedcompiler-rt/test/msan/noundef_analysis.cpp