]> granicus.if.org Git - llvm/commitdiff
[FunctionAttrs] Enable nonnull arg propagation
authorDavid Bolvansky <david.bolvansky@gmail.com>
Mon, 23 Sep 2019 09:58:02 +0000 (09:58 +0000)
committerDavid Bolvansky <david.bolvansky@gmail.com>
Mon, 23 Sep 2019 09:58:02 +0000 (09:58 +0000)
Enable flag introduced in rL294998. Security concerns are no longer valid, since function signatures for mentioned libc functions has no nonnull attribute (Clang does not generate them? I see no nonnull attr in LLVM IR for these functions) and since rL372091 we carefully annotate the callsites where we know that size is static, non zero. So let's enable this flag again..

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372573 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/FunctionAttrs.cpp

index 0e923a717e6eadb2ce4c3c5034d8caa128285c12..b174c63a577b199c5e93c71dfe0e235e1c25d4e1 100644 (file)
@@ -78,11 +78,8 @@ STATISTIC(NumNoRecurse, "Number of functions marked as norecurse");
 STATISTIC(NumNoUnwind, "Number of functions marked as nounwind");
 STATISTIC(NumNoFree, "Number of functions marked as nofree");
 
-// FIXME: This is disabled by default to avoid exposing security vulnerabilities
-// in C/C++ code compiled by clang:
-// http://lists.llvm.org/pipermail/cfe-dev/2017-January/052066.html
 static cl::opt<bool> EnableNonnullArgPropagation(
-    "enable-nonnull-arg-prop", cl::Hidden,
+    "enable-nonnull-arg-prop", cl::init(true), cl::Hidden,
     cl::desc("Try to propagate nonnull argument attributes from callsites to "
              "caller functions."));