- Jul 06, 2011
-
-
Chandler Carruth authored
Special detail is added for uninitialized variable analysis as this has serious performance problems than need to be tracked. Computing some of this data is expensive, for example walking the CFG to determine its size. To avoid doing that unless the stats data is going to be used, we thread a bit into the Sema object to track whether detailed stats should be collected or not. This bit is used to avoid computations whereever the computations are likely to be more expensive than checking the state of the flag. Thus, counters are in some cases unconditionally updated, but the more expensive (and less frequent) aggregation steps are skipped. With this patch, we're able to see that for 'gcc.c': *** Analysis Based Warnings Stats: 232 functions analyzed (0 w/o CFGs). 7151 CFG blocks built. 30 average CFG blocks per function. 1167 max CFG blocks per function. 163 functions analyzed for uninitialiazed variables 640 variables analyzed. 3 average variables per function. 94 max variables per function. 96409 block visits. 591 average block visits per function. 61546 max block visits per function. And for the reduced testcase in PR10183: *** Analysis Based Warnings Stats: 98 functions analyzed (0 w/o CFGs). 8526 CFG blocks built. 87 average CFG blocks per function. 7277 max CFG blocks per function. 68 functions analyzed for uninitialiazed variables 1359 variables analyzed. 19 average variables per function. 1196 max variables per function. 2540494 block visits. 37360 average block visits per function. 2536495 max block visits per function. That last number is the somewhat scary one that indicates the problem in PR10183. llvm-svn: 134494
-
Douglas Gregor authored
obey the objc_method_family attribute when provided. Fixes <rdar://problem/9726279>. llvm-svn: 134493
-
Rafael Espindola authored
instantiating functions. Fixes PR10272. llvm-svn: 134491
-
Joerg Sonnenberger authored
llvm-svn: 134490
-
John McCall authored
variadic argument pack expansions as having changed, rather than doing it for each changed expansion, which leaves out zero-argument packs with catastrophic consequences. Fixes PR10260. llvm-svn: 134483
-
John McCall authored
as scope specifiers; diagnose the attempt, rather than letting it go to an assert. The rest of PR10264. llvm-svn: 134479
-
John McCall authored
of an enum specifier in dialects which permit fixed underlying types. Fixes the rejects-valid part of PR10264. llvm-svn: 134468
-
Douglas Gregor authored
Bendersky. Specifically: * Implemented a new function in libclang: clang_isAttribute * Fixing TranslationUnit.get_includes to only go through the argument * buffer when it contains something. This fixed a crash on Windows * clang_getFileName returns CXString, not char*. Made appropriate * fixes in cindex.py - now the relevant tests pass and we can see the * full locations correctly again (previously there was garbage in * place of the file name) * Exposed clang_getCursorDisplayName to the python bindings llvm-svn: 134460
-
John McCall authored
Restore it. llvm-svn: 134459
-
John McCall authored
exception in Objective-C; in Objective-C++ we still use std::terminate(). This is only available in very recent runtimes. llvm-svn: 134456
-
John McCall authored
llvm-svn: 134455
-
Fariborz Jahanian authored
llvm-svn: 134454
-
John McCall authored
structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. llvm-svn: 134453
-
Fariborz Jahanian authored
passed to it, and unknown selectors causing potential leak. // rdar://9659270 llvm-svn: 134449
-
Dan Gohman authored
hardwired into the default pass list. llvm-svn: 134445
-
- Jul 05, 2011
-
-
Eli Friedman authored
llvm-svn: 134443
-
Devang Patel authored
llvm-svn: 134442
-
Joerg Sonnenberger authored
llvm-svn: 134438
-
Douglas Gregor authored
instantiated function template was written with a prototype or via some kind of typedef. Fixes PR10273 / <rdar://problem/9723679>. llvm-svn: 134426
-
Joerg Sonnenberger authored
llvm-svn: 134425
-
Joerg Sonnenberger authored
llvm-svn: 134422
-
Douglas Gregor authored
llvm-svn: 134419
-
Douglas Gregor authored
llvm-svn: 134418
-
Douglas Gregor authored
repetition and better reflect the actual grammar, from John Freeman! llvm-svn: 134417
-
Douglas Gregor authored
ActOnDeclarator can return NULL. Fixes PR10270, from Hans Wennborg! llvm-svn: 134416
-
Fariborz Jahanian authored
Patch by Jean-Daniel Dupas. llvm-svn: 134414
-
Joerg Sonnenberger authored
llvm-svn: 134411
-
Joerg Sonnenberger authored
llvm-svn: 134410
-
Douglas Gregor authored
Teach Clang's <float.h> to also include MinGW's <float.h>, which provides additional system definitions, from Ruben Van Boxem llvm-svn: 134407
-
Douglas Gregor authored
llvm-svn: 134406
-
Benjamin Kramer authored
Tested by valgrind & Sema/asm.c. llvm-svn: 134404
-
Benjamin Kramer authored
llvm-svn: 134403
-
Joerg Sonnenberger authored
llvm-svn: 134399
-
- Jul 04, 2011
-
-
Joerg Sonnenberger authored
llvm-svn: 134393
-
Joerg Sonnenberger authored
llvm-svn: 134392
-
Anders Carlsson authored
llvm-svn: 134377
-
Chandler Carruth authored
fprintf, and to be more consistent in formatting with the other stats printing routines. llvm-svn: 134374
-
Chandler Carruth authored
fprintf. There is more cleanup to be done to the AST stats printing... llvm-svn: 134373
-
- Jul 03, 2011
-
-
Chris Lattner authored
llvm-svn: 134361
-
- Jul 02, 2011
-
-
Abramo Bagnara authored
llvm-svn: 134320
-