[cfe-commits] [Patch] Change the uninitialized field check to use an EvaluatedExprVisitor which will catch more use of uninitialized use.

Richard Trieu rtrieu at google.com
Fri Jun 1 15:09:11 PDT 2012


On Wed, May 30, 2012 at 5:37 PM, Chandler Carruth <chandlerc at google.com>wrote:

> On Fri, May 18, 2012 at 3:35 PM, Richard Trieu <rtrieu at google.com> wrote:
>
>> Update the uninitialized field checker to catch more cases of
>> uninitialized use.  This will catch fields passed by value to function
>> calls and properly parse conditional operators.  Instead of a recursive
>> function, an EvaluatedExprVisitor will be used.
>>
>
> What's the compile-time impact of this? Maybe synthesize a test case with
> a crazy number of fields (all initialized) with long expressions in their
> initializers, and compare before and after? (There are some tests in INPUTS
> that you can model this after...)
>

Synthesized some test cases with 4096 classes, each class having a single
field initializer with 2048 sub expressions.  My testing showed a 5-10%
slow-down for the new EvaluatedExprVisitor compared to the current
recursive function check.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120601/21535403/attachment.html>


More information about the cfe-commits mailing list