[PATCH] D68408: [InstCombine] Negator - sink sinkable negations
Kostya Serebryany via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 22 16:52:51 PDT 2020
kcc added reviewers: vitalybuka, dvyukov.
kcc added a comment.
Hi,
This change causes a performance regression in tsan, as detected on our LLVM buildbot:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-autoconf/builds/49850/steps/tsan%20analyze/logs/stdio
The script that comes with tsan checks the number of PUSH, etc in some of the key tsan functions,
where each extra PUSH cases tsan to be slower.
With this change, the number of PUSHes went from 3 to 4.
Please take a look, this might be a performance regression for a wider set of targets.
Before your change:
read1 tot 484; size 1830; rsp 1; push 3; pop 15; call 2; load 24; store 9; sh 46; mov 106; lea 2; cmp 76
After your change:
read1 tot 515; size 1980; rsp 1; push 4; pop 4; call 2; load 24; store 9; sh 46; mov 113; lea 2; cmp 90
Script to reproduce (in the llvm-project root dir, with "build" subdir)
#!/bin/bash
compile() {
clang -c -O2 compiler-rt/lib/tsan/rtl/tsan_rtl.cpp -I compiler-rt/lib -Wall -std=c++14 -Wno-unused-parameter -O2 -g -DNDEBUG -m64 -fno-lto -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -fPIE -fno-rtti -msse3 -Wframe-larger-than=530 -Wglobal-constructors
}
git checkout a13dce1d90cba6c55252dee0a2600eab37ffbc44 <https://reviews.llvm.org/rGa13dce1d90cba6c55252dee0a2600eab37ffbc44>
(cd build; ninja clang 2> /dev/null)
compile
compiler-rt/lib/tsan/analyze_libtsan.sh tsan_rtl.o | grep read1
git checkout 352fef3f11f5ccb2ddc8e16cecb7302a54721e9f <https://reviews.llvm.org/rG352fef3f11f5ccb2ddc8e16cecb7302a54721e9f>
(cd build; ninja clang 2> /dev/null)
compile
compiler-rt/lib/tsan/analyze_libtsan.sh tsan_rtl.o | grep read1
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68408/new/
https://reviews.llvm.org/D68408
More information about the llvm-commits
mailing list