diff options
author | Kostya Serebryany <kcc@google.com> | 2012-05-10 15:10:03 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2012-05-10 15:10:03 +0000 |
commit | b82ae88720750d0ad4fd829c84e0dd0f8708cc2b (patch) | |
tree | b67f43f1e88973dd324d1ccd75c759023389fede /lib/tsan/check_analyze.sh | |
parent | da4edd850db1a333c15fc3b0abc01a2e8d2f08fe (diff) | |
download | compiler-rt-b82ae88720750d0ad4fd829c84e0dd0f8708cc2b.tar.gz compiler-rt-b82ae88720750d0ad4fd829c84e0dd0f8708cc2b.tar.bz2 compiler-rt-b82ae88720750d0ad4fd829c84e0dd0f8708cc2b.tar.xz |
[tsan] old-dstyle Makefile for tests; two helper scripts that analyze the assembly code of the hot functions
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@156547 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/tsan/check_analyze.sh')
-rwxr-xr-x | lib/tsan/check_analyze.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/tsan/check_analyze.sh b/lib/tsan/check_analyze.sh new file mode 100755 index 00000000..39d570b9 --- /dev/null +++ b/lib/tsan/check_analyze.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -u + +RES=$(./analyze_libtsan.sh) +PrintRes() { + printf "%s\n" "$RES" +} + +PrintRes + +mops="write1 \ + write2 \ + write4 \ + write8 \ + read1 \ + read2 \ + read4 \ + read8" +func="func_entry \ + func_exit" + +check() { + res=$(PrintRes | egrep "$1 .* $2 $3; ") + if [ "$res" == "" ]; then + echo FAILED $1 must contain $2 $3 + exit 1 + fi +} + +for f in $mops; do + check $f rsp 1 # To read caller pc. + check $f push 0 + check $f pop 0 +done + +for f in $func; do + check $f rsp 0 + check $f push 0 + check $f pop 0 + check $f call 1 # TraceSwitch() +done + +echo LGTM |