summaryrefslogtreecommitdiff
path: root/lib/esan/cache_frag.cpp
AgeCommit message (Collapse)Author
2016-09-22[ESan][MIPS] Fix tests struct-simple.cpp on MIPSSagar Thakur
For mips assember '#' is the start of comment. We get assembler error messages if # is used in the struct names. Therefore using '$' which works for all architectures. Differential: D24335 Reviewed by: zhaoqin git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@282142 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-09[esan] Add __esan_report for mid-run dataDerek Bruening
Summary: Adds a new public interface routine __esan_report() which can be used to request profiling results prior to abnormal termination (e.g., for a server process killed by its parent where the normal exit does not allow for normal result reporting). Implements this for the working-set tool. The cache frag tool is left unimplemented as it requires missing iteration capabilities. Adds a new test. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D22098 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@274964 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-07[esan|cfrag] Handle binaries built with -esan-aux-field-info=falseQin Zhao
Summary: Handles binaries built with -esan-aux-field-info=false and print less information. Updates test struct-simple.cpp. Reviewers: aizatsky Subscribers: llvm-commits, bruening, eugenis, kcc, zhaoqin, kubabrecka, vitalybuka Differential Revision: http://reviews.llvm.org/D22020 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@274727 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-02[esan|cfrag] Add struct array access reportQin Zhao
Summary: Adds struct array access counter report. Updates test struct-simple.cpp. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, bruening, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D21595 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@274421 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-17[esan|cfrag] Add the struct field size array in StructInfoQin Zhao
Summary: Adds the struct field size array in the struct StructInfo. Prints struct field size info in the report. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, bruening, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D21342 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@272988 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-15[esan|cfrag] Minor cfrag report adjustmentQin Zhao
Summary: Reports the struct field access info only if it has been used at least once. Adds type printing size limit. Formats the cache_frag.cpp with clang-format. Reviewers: bruening Subscribers: llvm-commits, eugenis, kcc, zhaoqin, vitalybuka, aizatsky, kubabrecka Differential Revision: http://reviews.llvm.org/D21351 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@272810 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-10[esan|cfrag] Add the struct field offset array in StructInfoQin Zhao
Summary: Adds the struct field offset array in the struct StructInfo. Prints struct size and field offset info in the report. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, bruening, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D21191 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@272363 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-03[esan|cfrag] Compute the struct field access difference ratioQin Zhao
Summary: Computes the struct field access variation based on each field access count. Adds a flag to control the report thresholds. Updates struct-simple.cpp with variance report output. Reviewers: aizatsky Subscribers: kubabrecka, zhaoqin, llvm-commits, eugenis, vitalybuka, kcc, bruening Differential Revision: http://reviews.llvm.org/D20914 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@271734 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-02[esan|cfrag] Add struct info registrationQin Zhao
Summary: Adds StructInfo to CacheFragInfo to match the LLVM's EfficiencySanitizer structs. Uses StructHashMap to keep track of the struct info used by the app. Adds registerStructInfo/unregisterStructInfo to add/remove struct infos to/from StructHashMap. updates test struct-simple.cpp with more C structs. Reviewers: aizatsky, filcab Subscribers: filcab, zhaoqin, llvm-commits, eugenis, vitalybuka, kcc, bruening, kubabrecka Differential Revision: http://reviews.llvm.org/D20590 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@271564 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31[esan|cfrag] Add the skeleton to handle the cfrag argumentQin Zhao
Summary: Adds the struct declaration for the cache-fragmentation tool variable passed to the runtime library. Updates test struct-simple.cpp. Reviewers: aizatsky, bruening Subscribers: filcab, kubabrecka, bruening, kcc, vitalybuka, eugenis, llvm-commits, zhaoqin Differential Revision: http://reviews.llvm.org/D20542 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@271337 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-25[esan][cfrag] Add skeleton for cache fragmentation tool supportQin Zhao
Summary: Adds cache_frag.h and cache_frag.cpp for the cache fragmentation tool. Updates test struct-simple.cpp. Reviewers: aizatsky Subscribers: filcab, zhaoqin, llvm-commits, eugenis, vitalybuka, kcc, bruening, kubabrecka Differential Revision: http://reviews.llvm.org/D20538 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@270737 91177308-0d34-0410-b5e6-96231b3b80d8