On Mar 9, 2012, at 13:14, Anna Zaks wrote:

> Author: zaks
> Date: Fri Mar  9 15:14:01 2012
> New Revision: 152440
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=152440&view=rev
> Log:
> [analyzer] Add support for NoRedundancy inlining mode.
> 
> We do not reanalyze a function, which has already been analyzed as an
> inlined callee. As per PRELIMINARY testing, this gives over
> 50% run time reduction on some benchmarks without decreasing of the
> number of bugs found.


I might be missing something, but isn't this straight-up incorrect? Example:

void doSomethingStupid(bool shouldCrash);

void analyzeMeFirst() {
  doSomethingStupid(false);
}

void doSomethingStupid(bool shouldCrash) {
  if (!shouldCrash) return;
  void *p;
  free(p); // this branch is pruned when doSomethingStupid is inlined
}


(Even if this particular example works, I feel like there's a similar problem 
here somewhere.)


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

Reply via email to