|
From: Julian S. <se...@so...> - 2020-09-19 10:12:04
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=913ed1fa179710ada662fbaa84282e5dadd393d1 commit 913ed1fa179710ada662fbaa84282e5dadd393d1 Author: Julian Seward <js...@ac...> Date: Sat Sep 19 12:09:54 2020 +0200 On amd64, use by default the expensive instrumentation scheme for Iop_Add32. This is necessary to avoid some false positives in code compiled by clang 10 at -O2. Some very crude measurements suggest the increase in generated code size is around 0.2%, viz, insignificant. Diff: --- memcheck/mc_translate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index 87b8ac6886..b32c9c9c53 100644 --- a/memcheck/mc_translate.c +++ b/memcheck/mc_translate.c @@ -8478,6 +8478,7 @@ IRSB* MC_(instrument) ( VgCallbackClosure* closure, mce.dlbo.dl_Add32 = DLauto; mce.dlbo.dl_CmpEQ32_CmpNE32 = DLexpensive; # elif defined(VGA_amd64) + mce.dlbo.dl_Add32 = DLexpensive; mce.dlbo.dl_Add64 = DLauto; mce.dlbo.dl_CmpEQ32_CmpNE32 = DLexpensive; mce.dlbo.dl_CmpEQ64_CmpNE64 = DLexpensive; |