Revision tags: llvmorg-21-init |
|
#
6292a808 |
| 24-Jan-2025 |
Jeremy Morse <jeremy.morse@sony.com> |
[NFC][DebugInfo] Use iterator-flavour getFirstNonPHI at many call-sites (#123737)
As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNo
[NFC][DebugInfo] Use iterator-flavour getFirstNonPHI at many call-sites (#123737)
As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and similar feed into
instruction insertion positions. Call-sites where that's necessary were
updated a year ago; but to ensure some type safety however, we'd like to
have all calls to getFirstNonPHI use the iterator-returning version.
This patch changes a bunch of call-sites calling getFirstNonPHI to use
getFirstNonPHIIt, which returns an iterator. All these call sites are
where it's obviously safe to fetch the iterator then dereference it. A
follow-up patch will contain less-obviously-safe changes.
We'll eventually deprecate and remove the instruction-pointer
getFirstNonPHI, but not before adding concise documentation of what
considerations are needed (very few).
---------
Co-authored-by: Stephen Tozer <Melamoto@gmail.com>
show more ...
|
#
8e702735 |
| 24-Jan-2025 |
Jeremy Morse <jeremy.morse@sony.com> |
[NFC][DebugInfo] Use iterator moveBefore at many call-sites (#123583)
As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and sim
[NFC][DebugInfo] Use iterator moveBefore at many call-sites (#123583)
As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and similar feed into
instruction insertion positions. Call-sites where that's necessary were
updated a year ago; but to ensure some type safety however, we'd like to
have all calls to moveBefore use iterators.
This patch adds a (guaranteed dereferenceable) iterator-taking
moveBefore, and changes a bunch of call-sites where it's obviously safe
to change to use it by just calling getIterator() on an instruction
pointer. A follow-up patch will contain less-obviously-safe changes.
We'll eventually deprecate and remove the instruction-pointer
insertBefore, but not before adding concise documentation of what
considerations are needed (very few).
show more ...
|
Revision tags: llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
4d12a143 |
| 06-Nov-2024 |
Kazu Hirata <kazu@google.com> |
[Instrumentation] Remove unused includes (NFC) (#115117)
Identified with misc-include-cleaner.
|
Revision tags: llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0 |
|
#
2ae968a0 |
| 16-Sep-2024 |
Antonio Frighetto <10052132+antoniofrighetto@users.noreply.github.com> |
[Instrumentation] Move out to Utils (NFC) (#108532)
Utility functions have been moved out to Utils. Minor opportunity to
drop the header where not needed.
|
Revision tags: llvmorg-19.1.0-rc4 |
|
#
d23c24f3 |
| 22-Aug-2024 |
Alexander Shaposhnikov <ashaposhnikov@google.com> |
[llvm][nsan] Skip function declarations (#105598)
Skip function declarations in the instrumentation pass.
|
Revision tags: llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
430b90f0 |
| 01-Aug-2024 |
Wu Yingcong <yingcong.wu@intel.com> |
[nsan][NFC] Use cast when dyn_cast is not needed. (#101147)
Use `cast` instead to replace `dyn_cast` when `dyn_cast` is not
needed/not checked.
|
Revision tags: llvmorg-19.1.0-rc1 |
|
#
70a9535f |
| 26-Jul-2024 |
Alexander Shaposhnikov <ashaposhnikov@google.com> |
[Instrumentation][nsan] Add support for Freeze instruction (#100490)
Add support for Freeze.
This fixes https://github.com/llvm/llvm-project/issues/98143 .
|
#
cd82fee3 |
| 24-Jul-2024 |
Dmitry Chestnykh <dm.chestnykh@gmail.com> |
[nsan] Fix `Wstring-conversion` error (#100328)
Fix error: implicit conversion turns string literal into bool: 'const
char[46]' to 'bool' [-Werror,-Wstring-conversion]
|
#
ddf5725e |
| 24-Jul-2024 |
Dmitry Chestnykh <dm.chestnykh@gmail.com> |
[nsan] Emit calls to optimized functions (#98900)
As previously noted in nsan.cpp we can implement
optimized variants of `__nsan_copy_values` and
`__nsan_set_value_unknown` if a memory operation
[nsan] Emit calls to optimized functions (#98900)
As previously noted in nsan.cpp we can implement
optimized variants of `__nsan_copy_values` and
`__nsan_set_value_unknown` if a memory operation
size is known.
Now the instrumentation creates calls to optimized functions if there is
4, 8 or 16-byte memory operation like
`memset(X, value, 4/8/16)` or `memcpy(dst, src, 4/8/16)`
nsan.cpp provides definitions of the optimized functions.
show more ...
|
Revision tags: llvmorg-20-init |
|
#
d32d20f3 |
| 01-Jul-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
NumericalStabilitySanitizer.cpp - fix MSVC "not all control paths return a value" warnings. NFC.
|
#
17106792 |
| 29-Jun-2024 |
Alexander Shaposhnikov <ashaposhnikov@google.com> |
Reapply "[LLVM][Instrumentation] Add numerical sanitizer (#85916)"
This reverts commit 493c384a7d94cce1d18824a6b0e1f9ee20cdc681 and includes a fix for the build breakage.
|
#
61cd6bbb |
| 29-Jun-2024 |
Alexander Shaposhnikov <ashaposhnikov@google.com> |
Revert "[Instrumentation] Fix a warning"
This reverts commit de18ff35caa764998321dc01306b509efe4be431. The initial commit for nsan needs to be reverted for now because of the issue detected by https
Revert "[Instrumentation] Fix a warning"
This reverts commit de18ff35caa764998321dc01306b509efe4be431. The initial commit for nsan needs to be reverted for now because of the issue detected by https://lab.llvm.org/buildbot/#/builders/11/builds/822.
show more ...
|
#
de18ff35 |
| 28-Jun-2024 |
Kazu Hirata <kazu@google.com> |
[Instrumentation] Fix a warning
This patch fixes:
llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp:1528:38: error: unused variable 'TableRef' [-Werror,-Wunused-variable]
|
#
15ad7919 |
| 28-Jun-2024 |
Alexander Shaposhnikov <ashaposhnikov@google.com> |
[LLVM][Instrumentation] Add numerical sanitizer (#85916)
This PR introduces the numerical sanitizer originally proposed by
Clement Courbet on https://reviews.llvm.org/D97854
(https://arxiv.org/abs
[LLVM][Instrumentation] Add numerical sanitizer (#85916)
This PR introduces the numerical sanitizer originally proposed by
Clement Courbet on https://reviews.llvm.org/D97854
(https://arxiv.org/abs/2102.12782).
The main additions include:
- Migration to LLVM opaque pointers
- Migration to various updated APIs
- Extended coverage for LLVM instructions/intrinsics
- Code refactoring
The tool is still very experimental, the coverage (e.g. for intrinsics /
library functions) is incomplete.
Link: https://discourse.llvm.org/t/rfc-revival-of-numerical-sanitizer/79601
---------
Co-authored-by: Fangrui Song <i@maskray.me>
show more ...
|