<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>