SuccessChanges

Summary

  1. [StackProtector] Speed up RequiresStackProtector (details)
  2. Use llvm::is_contained where appropriate (NFC) (details)
  3. [GWP-ASan] Crash handler API returns sizeof(collected trace) (details)
  4. Prefix some AArch64/ARM passes with "aarch64-"/"arm-" (details)
  5. [mlir] [VectorOps] [integration_test] Sparse matrix times vector (DOT version) (details)
  6. Recommit "[libFuzzer] Disable implicit builtin knowledge about memcmp-like functions when -fsanitize=fuzzer-no-link is given." (details)
  7. Replace fuzzer::FuzzerDriver's INTERFACE marking with new LLVMRunFuzzerDriver. (details)
  8. [clangd] Add more logs and attach tracers to remote index server routines (details)
  9. [Attributor][NFC] Add tests to noalias.ll (details)
Commit df880b77302d2e12d988e620eba242defdd6d4a7 by nadav256
[StackProtector] Speed up RequiresStackProtector

Speed up the method RequiresStackProtector by checking the intrinsic
value of the call. The original code calls getName() that returns an
allocating std::string on each check. This change removes about 96072
std::string instances when compiling sqlite3.c; The function was
discovered with a Facebook-internal performance tool.

Differential Revision: https://reviews.llvm.org/D84620
The file was modifiedllvm/lib/CodeGen/StackProtector.cpp
Commit 902cbcd59e22ccd853f6b0c22acc772fd955dc46 by kazu
Use llvm::is_contained where appropriate (NFC)

Summary:
This patch replaces std::find with llvm::is_contained where
appropriate.

Reviewers: efriedma, nhaehnle

Reviewed By: nhaehnle

Subscribers: arsenm, jvesely, nhaehnle, hiraditya, rogfer01, kerbowa, llvm-commits, vkmr

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D84489
The file was modifiedllvm/lib/Transforms/Scalar/GVNSink.cpp
The file was modifiedllvm/tools/bugpoint/ExtractFunction.cpp
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Analysis.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
The file was modifiedllvm/lib/Target/BPF/BPFMIChecking.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
The file was modifiedllvm/lib/Analysis/AssumptionCache.cpp
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanSLP.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
Commit d19af2f2476b5e13a65d5283cce9859e2c1ef763 by 31459023+hctim
[GWP-ASan] Crash handler API returns sizeof(collected trace)

Summary:
Fix up a slight bug with the crash handler API, where we say that we
return the size of the collected trace (instead of the size of the trace
that's returned) when the return buffer is too small, and the result is
truncated.

Also, as a result, patch up a small uninitialized memory bug.

Reviewers: morehouse, eugenis

Reviewed By: eugenis

Subscribers: #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D84652
The file was modifiedcompiler-rt/lib/gwp_asan/common.cpp
The file was modifiedcompiler-rt/lib/gwp_asan/crash_handler.cpp
The file was modifiedcompiler-rt/lib/gwp_asan/tests/backtrace.cpp
Commit 2a672767ccca4525baa323e9911f7a946cc1693d by aeubanks
Prefix some AArch64/ARM passes with "aarch64-"/"arm-"

For consistency with other target specific passes.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D84560
The file was modifiedllvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AArch64/falkor-hwpf-fix.mir
The file was modifiedllvm/test/CodeGen/AArch64/stack-tagging.ll
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
The file was modifiedllvm/test/CodeGen/AArch64/stack-tagging-dbg.ll
The file was modifiedllvm/test/CodeGen/AArch64/stack-tagging-ex-1.ll
The file was modifiedllvm/test/CodeGen/AArch64/stack-tagging-ex-2.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsic-opts-reinterpret.ll
The file was modifiedllvm/test/CodeGen/AArch64/falkor-hwpf.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-optimisation-deep.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTagging.cpp
The file was modifiedllvm/test/CodeGen/AArch64/stack-tagging-initializer-merge.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsic-opts-ptest.ll
Commit 7832d0f63d3210b4a4f0e8bfc968ebe44dba0da5 by ajcbik
[mlir] [VectorOps] [integration_test] Sparse matrix times vector (DOT version)

Integration test that illustrates the gather operation with a
real-world operation expressed in mostly the Vector dialect.
Uses jagged diagonal storage.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D84571
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-sparse-dot-matvec.mlir
Commit b52b2e1c188072e3cbc91500cfd503fb26d50ffc by dokyungs
Recommit "[libFuzzer] Disable implicit builtin knowledge about memcmp-like functions when -fsanitize=fuzzer-no-link is given."

Summary: This patch disables implicit builtin knowledge about memcmp-like functions when compiling the program for fuzzing, i.e., when -fsanitize=fuzzer(-no-link) is given. This allows libFuzzer to always intercept memcmp-like functions as it effectively disables optimizing calls to such functions into different forms. This is done by adding a set of flags (-fno-builtin-memcmp and others) in the clang driver. Individual -fno-builtin-* flags previously used in several libFuzzer tests are now removed, as it is now done automatically in the clang driver.

The patch was once reverted in 8ef9e2bf355d05bc81d8b0fe1e5333eec59a0a91, as this patch was dependent on a reverted commit f78d9fceea736d431e9e3cbca291e3909e3aa46d. This reverted commit was recommitted in 831ae45e3dc609e43ba561af07670a8fe47461ef, so relanding this dependent patch too.

Reviewers: morehouse, hctim

Subscribers: cfe-commits, #sanitizers

Tags: #clang, #sanitizers

Differential Revision: https://reviews.llvm.org/D83987
The file was addedcompiler-rt/test/fuzzer/noasan-bcmp.test
The file was modifiedcompiler-rt/test/fuzzer/noasan-memcmp64.test
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedcompiler-rt/test/fuzzer/noasan-memcmp.test
The file was modifiedcompiler-rt/test/fuzzer/noasan-strcmp.test
The file was modifiedcompiler-rt/test/fuzzer/noasan-strstr.test
The file was modifiedcompiler-rt/test/fuzzer/noasan-strncmp.test
Commit 34ddf0b2b040918a6c946f589eeaf1d4fef95e7a by mascasa
Replace fuzzer::FuzzerDriver's INTERFACE marking with new LLVMRunFuzzerDriver.

This adds a new extern "C" function that serves the same purpose. This removes the need for external users to depend on internal headers in order to use this feature. It also standardizes the interface in a way that other fuzzing engines will be able to match.

Patch By: IanPudney

Reviewed By: kcc

Differential Revision: https://reviews.llvm.org/D84561
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDriver.cpp
The file was modifiedllvm/docs/LibFuzzer.rst
Commit 731043c0c494672efe1eeea9ee0f0c7788813dea by kbobyrev
[clangd] Add more logs and attach tracers to remote index server routines

Reviewers: kadircet

Reviewed By: kadircet

Subscribers: sammccall, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D84499
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
Commit bef19abcf7e2807f8b48b00445b221ff20dd3923 by okuraofvegetable
[Attributor][NFC] Add tests to noalias.ll

Summary: Add tests to `noalias.ll` to make changes in D84665 clear

Reviewers: jdoerfert, sstefan1, uenoku, homerdin, baziotis

Subscribers: uenoku, kuter, bbn, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D84688
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll