[PATCH] Add a dereferencable attribute
JF Bastien
jfb at chromium.org
Fri Jul 11 10:59:06 PDT 2014
Looks good to me, besides two small comments.
================
Comment at: include/llvm/IR/Attributes.h:91
@@ -90,2 +90,3 @@
NonNull, ///< Pointer is known to be not null
+ Dereferenceable, ///< Pointer is known to be dereferenceable
NoRedZone, ///< Disable redzone
----------------
You'll make some people sad (not PNaCl, but Renderscript and others) by adding the attribute here in the enum instead of at the end, since it changes bitcode slightly.
================
Comment at: lib/IR/Attributes.cpp:93
@@ +92,3 @@
+ uint64_t Bytes) {
+ assert(Bytes && "Bytes must be positive.");
+ return get(Context, Dereferenceable, Bytes);
----------------
Math bikeshed: "non-zero" seems better than "positive".
http://reviews.llvm.org/D4449
More information about the llvm-commits
mailing list