Hi, Daniel. This is very simple, but I feel like we might as well do this 
nicely by tracking a set of which parameters are marked non-null by 
function-level attributes. llvm::SmallBitVector might be an easy way to do 
that, or even just a sorted SmallVector of indices.

(Thanks for doing the performance test. I believe that there's no noticeable 
cost right now. However, it still feels like a code smell that I'd rather not 
leave in.)

Jordan


> On Sep 24, 2014, at 08:46, Daniel Fahlgren <[email protected]> wrote:
> 
> Hi,
> 
> This patch fixes the fixme in NonNullParamChecker about multiple
> attributes. It does that by iterating over all parameters for all
> nonnull-attributes the function has.
> 
> For a function with a lot of parameters and many attributes that might
> seem a bit wasteful. However, that is likely not a problem on real code.
> I also ran some synthetic benchmarks on a worst case scenario (25
> parameters and 25 nonnull attributes) and couldn't find any noticeable
> performance issue.
> 
> Any comments or feedback?
> 
> Best regards,
> Daniel Fahlgren
> <nonnull.patch>

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to