SuccessChanges

Summary

  1. [RISCV][ASAN] support code for architecture-specific parts of asan (details)
  2. [CodeGen] Improve likelihood branch weights (details)
  3. [RISCV][ASAN] instrumentation pass now uses proper shadow offset (details)
  4. [X86][SSE] isTargetShuffleEquivalent - ensure shuffle inputs are the correct size. (details)
Commit 7ce4dfb4dd2ca431f17b62ef563cc3b2737c677e by kupokupokupopo
[RISCV][ASAN] support code for architecture-specific parts of asan

[9/11] patch series to port ASAN for riscv64

Depends On D87579

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D87580
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.h
The file was modifiedcompiler-rt/lib/asan/asan_shadow_setup.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Commit 1113fbf44c2250621548e278d2a1e11ab2b2d63d by koraq
[CodeGen] Improve likelihood branch weights

Bruno De Fraine discovered some issues with D85091. The branch weights
generated for `logical not` and `ternary conditional` were wrong. The
`logical and` and `logical or` differed from the code generated of
`__builtin_predict`.

Adjusted the generated code for the likelihood to match
`__builtin_predict`. The patch is based on Bruno's suggestions.

Differential Revision: https://reviews.llvm.org/D88363
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was addedclang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
Commit a566f0525a692e6e696add6f369edab979d6f300 by kupokupokupopo
[RISCV][ASAN] instrumentation pass now uses proper shadow offset

[10/11] patch series to port ASAN for riscv64

Depends On D87580

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87581
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit e4e5c42896df5ed61a98926ea42f5b1ab734e1c4 by llvm-dev
[X86][SSE] isTargetShuffleEquivalent - ensure shuffle inputs are the correct size.

Preliminary patch for the next stage of PR45974 - we don't want to be creating 'padded' vectors on-the-fly at all in combineX86ShufflesRecursively, and only pad the source inputs if we have a definite match inside combineX86ShuffleChain.

This means that the inputs to combineX86ShuffleChain might soon be smaller than the final root value type, so we should ensure that isTargetShuffleEquivalent only matches with the inputs if they are the correct size.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp