[PATCH] [PowerPC]Adapt fast stack unwinding to work for Power.

Bill Seurer seurer at linux.vnet.ibm.com
Fri Apr 24 10:56:05 PDT 2015


Hi hfinkel, echristo, wschmidt, kbarton, nemanjai,

These changes allow Power to use fast stack unwinding.  This is a huge performance benefit for asan.
For instance, using the testcase mentioned here:  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63927
these are sample runs with and without the change.  The numbers are seconds taken to run that test.

With asan and existing "slow" stack unwinding:
size        array    vector_point    vector_iters        deque        list        set        multiset
10        12.40        11.74        11.39        24.85        220.89        124.04        246.55
100        0.84        0.82        0.86        3.48        110.01        67.22        128.29
1000        0.35        0.32        0.33        1.67        74.42        47.36        89.42
10000        0.27        0.28        0.26        1.37        56.92        38.08        70.83
100000        0.26        0.26        0.26        1.03        45.02        32.75        58.08
1000000        0.26        0.21        0.26        0.90        37.96        30.64        53.24

With asan and now working "fast" stack unwinding:
size        array    vector_point    vector_iters        deque        list        set        multiset
10        0.57        0.58        0.62        1.19        6.57        3.69        6.60
100        0.30        0.27        0.31        0.48        3.07        1.89        3.46
1000        0.31        0.28        0.29        0.36        2.26        1.28        2.44
10000        0.25        0.25        0.26        0.33        1.82        1.14        1.90
100000        0.26        0.25        0.24        0.28        1.75        1.20        2.01
1000000        0.25        0.21        0.26        0.28        2.28        1.93        3.22

http://reviews.llvm.org/D9259

Files:
  /home/seurer/llvm/llvm-test/projects/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.cc
  /home/seurer/llvm/llvm-test/projects/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
  /home/seurer/llvm/llvm-test/projects/compiler-rt/lib/sanitizer_common/sanitizer_unwind_posix_libcdep.cc

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9259.24401.patch
Type: text/x-patch
Size: 4845 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150424/f7734f18/attachment.bin>


More information about the llvm-commits mailing list