<div dir="ltr">Good question. <div>The code size change is very small and to my surprise is negative (i.e. with the new flag the binaries are a bit smaller)</div><div> benchmark before after </div><div><div> 400.perlbench 9552 9440 -1</div>
<div> 401.bzip2 3260 3252 0</div><div> 403.gcc 20108 20000 0</div><div> 429.mcf 2864 2864 0</div><div> 445.gobmk 13764 13748 0</div><div> 456.hmmer 4496 4492 0</div><div>
458.sjeng 3412 3408 0</div><div> 462.libquantum 2960 2960 0</div><div> 464.h264ref 5696 5688 0</div><div> 471.omnetpp 6232 6212 0</div><div> 473.astar 3128 3128 0</div><div> 483.xalancbmk 49564 49304 0</div>
<div> 433.milc 3476 3472 0</div><div> 444.namd 4596 4608 0</div><div> 447.dealII 43996 43660 0</div><div> 450.soplex 7548 7436 -1</div><div> 453.povray 9160 9048 -1</div>
<div> 470.lbm 2836 2840 0</div><div> 482.sphinx3 3848 3844 0</div></div><div><br></div><div>I still need to make measurements at -O1, where the slowdown might be worse than at -O2.</div><div><br></div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 23, 2013 at 9:33 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Do you have code size increase numbers as well?</div><div class="gmail_extra"><br><br><div class="gmail_quote">
<div><div class="h5">On Mon, Sep 23, 2013 at 2:11 AM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">Hi samsonov,<br>
<br>
We enable ASAN's use-after-return instrumentation at compile-time,<br>
but still keep it disabled at run-time.<br>
This enables the users to flip the flag at run-time using environment variable<br>
ASAN_OPTIONS=detect_stack_use_after_return=1 instead of using a separate build.<br>
If UAR detection is disabled at run-time, this extra compile-time instrumentation<br>
costs very small slowdown. On SPEC 2006 14 tests are not affected at all,<br>
4 tests get ~ 1% slowdown and 453.povray gets 4%.<br>
<br>
<a href="http://llvm-reviews.chandlerc.com/D1741" target="_blank">http://llvm-reviews.chandlerc.com/D1741</a><br>
<br>
Files:<br>
lib/Driver/SanitizerArgs.cpp<br>
<br>
Index: lib/Driver/SanitizerArgs.cpp<br>
===================================================================<br>
--- lib/Driver/SanitizerArgs.cpp<br>
+++ lib/Driver/SanitizerArgs.cpp<br>
@@ -211,11 +211,11 @@<br>
#define SANITIZER_GROUP(NAME, ID, ALIAS) .Case(NAME, ID)<br>
#include "clang/Basic/Sanitizers.def"<br>
.Default(SanitizeKind());<br>
- // Assume -fsanitize=address implies -fsanitize=init-order.<br>
+ // Assume -fsanitize=address implies -fsanitize=init-order,use-after-return.<br>
// FIXME: This should be either specified in Sanitizers.def, or go away when<br>
- // we get rid of "-fsanitize=init-order" flag at all.<br>
+ // we get rid of "-fsanitize=init-order,use-after-return" flags at all.<br>
if (ParsedKind & Address)<br>
- ParsedKind |= InitOrder;<br>
+ ParsedKind |= InitOrder | UseAfterReturn;<br>
return ParsedKind;<br>
}<br>
<br></div></div>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>