6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
umpVector.h
|
651f13cea278ec967336033dd032faef0e9fc2ec |
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
umpVector.h
|
d049b40ef411eee12a735233dbe04fdc42c67e1a |
16-May-2013 |
Jordan Rose <jordan_rose@apple.com> |
Remove unused, awkward CFGStmtVisitor and subclasses. This class is a StmtVisitor that distinguishes between block-level and non-block-level statements in a CFG. However, it does so using a hard-coded idea of which statements might be block-level, which probably isn't accurate anymore. The only implementer of the CFGStmtVisitor hierarchy was the analyzer's DeadStoresChecker, and the analyzer creates a linearized CFG anyway (every non-trivial statement is a block-level statement). This also allows us to remove the block-expr map ("BlkExprMap"), which mapped statements to positions in the CFG. Apart from having a helper type that really should have just been Optional<unsigned>, it was only being used to ask /if/ a particular expression was block-level, for traversal purposes in CFGStmtVisitor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181945 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
|
30a2e16f6c27f888dd11eba6bbbae1e980078fcb |
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort #include lines for all files under include/... This is a simpler sort, entirely automatic with the help of llvm/utils/sort_includes.py -- no manual edits here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169238 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
umpVector.h
|
d45d361f2ce5c37824052357e2218e8a5509eba5 |
27-Feb-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Move "clang/Analysis/Support/SaveAndRestore.h" to "llvm/ADT/SaveAndRestore.h" to make it more widely available. Depends on llvm commit r151564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151566 91177308-0d34-0410-b5e6-96231b3b80d8
aveAndRestore.h
|
9c378f705405d37f49795d5e915989de774fe11f |
13-Aug-2011 |
Ted Kremenek <kremenek@apple.com> |
Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137537 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
|
403ba3522d1b1c97ae5fad81c1a2c4b3a754e1c1 |
19-Dec-2010 |
Nick Lewycky <nicholas@mxc.ca> |
Add missing standard includes. Patch by Joerg Sonnenberger! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122194 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
58eb45baff08fd27aeef65fc4e6ae35a4b3a1d90 |
14-Sep-2010 |
Ted Kremenek <kremenek@apple.com> |
Add 'insert()' to BumpVector. Patch by Marcin Świderski! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113799 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
68f774dc9f4ad823dff4195821ba789e4e61a3a6 |
30-Jun-2010 |
Duncan Sands <baldrick@free.fr> |
Add header file needed to compile with g++-4.6, which has undergone some more header trimming (needed for std::uninitialized_copy). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107291 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
66d5142ab5026aa77ab6f1d7e4d9bdb0b438d55a |
09-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
Remove copy of 'Optional' in Clang tree, and convert clients to use the one now in the LLVM tree. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100891 91177308-0d34-0410-b5e6-96231b3b80d8
ptional.h
|
bace4ba042d87a0ed0ec15dbe6caad946b97bd33 |
09-Apr-2010 |
Ted Kremenek <kremenek@apple.com> |
For 'open' check in UnixAPIChecker, hard code value of 'O_CREAT' on Darwin. This is still not an ideal solution, but should disable the check for other targets where the value of O_CREAT is different. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100818 91177308-0d34-0410-b5e6-96231b3b80d8
ptional.h
|
f7bb329deb2f8ce9ae7f187d6fbe0f98deaeed0d |
21-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
Spell string.h correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96765 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
26f178696e90cdf950dce26ccd1fe19a46537999 |
21-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
Add missing include, noticed by ace2001ac on IRC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96764 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
9d883b5b3763605cd6850b49fd3b2613074e83a0 |
27-Jan-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Silence a GCC warning about uninitialized variables. The first user of this showed up with a primitive type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94674 91177308-0d34-0410-b5e6-96231b3b80d8
ptional.h
|
fee90811c665893bc27a9bfa8b116548afe1b89b |
27-Jan-2010 |
Ted Kremenek <kremenek@apple.com> |
Teach RegionStore to handle initialization of incomplete arrays in structures using a compound value. Fixes <rdar://problem/7515938>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94622 91177308-0d34-0410-b5e6-96231b3b80d8
ptional.h
|
1488c7a0989e4543b9acb46fa02a54d12a9d0cc9 |
01-Dec-2009 |
Ted Kremenek <kremenek@apple.com> |
The minimum element size in BumpVector should be 1, not 0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90268 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
539e9b18e64479e1092e0cd52efdb2ad41b4d07d |
15-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Make a couple more headers standalone git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88840 91177308-0d34-0410-b5e6-96231b3b80d8
ptional.h
|
31d8cadc8337b5f90c2e5eddf712d769e99c977b |
07-Nov-2009 |
Ted Kremenek <kremenek@apple.com> |
Use SaveAndRestore to simplify logic in LiveVariables::runOnAllBlocks(). Patch by Kovarththanan Rajaratnam! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86343 91177308-0d34-0410-b5e6-96231b3b80d8
aveAndRestore.h
|
375e69cb19e9ba65ab5f822ad5d44cffae15edb1 |
20-Oct-2009 |
Ted Kremenek <kremenek@apple.com> |
BumpVectorContext: Use 'unsigned' integer type with PointerIntUnion instead of bool to keep it clear that we are reasoning about an unsigned integer with a single bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84607 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
87342dc37237c6efb9e311bacb12547de3ccbc0f |
12-Oct-2009 |
Ted Kremenek <kremenek@apple.com> |
Allow BumpVectorContext to conditionally own the underlying BumpPtrAllocator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83884 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
f0e75d6baf0dc6ba0a7d66726d9e3ba455db8639 |
07-Oct-2009 |
Ted Kremenek <kremenek@apple.com> |
Add 'template' keyword to disambiguate the use of a member template within a templated class. Hopefully this will please the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83452 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
5fe4d9deb543a19f557e3d85c5f33867af97cd96 |
07-Oct-2009 |
Ted Kremenek <kremenek@apple.com> |
Change ExplodedNode to have its NodeGroups all BumpPtrAllocated, avoiding malloc() traffic when adding successors/predecessors to a node. This was done by introducing BumpVector, which is essentially SmallVector with all memory being BumpPtrAllocated (this can certainly be cleaned up or moved into llvm/ADT). This change yields a 1.8% speed increase when running the analyzer (with -analyzer-store=region) on a small benchmark file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83439 91177308-0d34-0410-b5e6-96231b3b80d8
umpVector.h
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
ptional.h
aveAndRestore.h
|
d4e5a606c9c64e24c05e5f4610796087e911fb9c |
06-Aug-2009 |
Ted Kremenek <kremenek@apple.com> |
Fix a couple false positive "uninitialized value" warnings with RegionStore involving reasoning about unions (which we don't handle yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78342 91177308-0d34-0410-b5e6-96231b3b80d8
ptional.h
|
25c155abc154a23ff59e8def196441a2fbf20270 |
23-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add newline at EOF. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76870 91177308-0d34-0410-b5e6-96231b3b80d8
aveAndRestore.h
|
bd0487825751230a4396952b770349d2beac60b3 |
22-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Make 'SaveAndRestore' and friends reusable classes in libAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76795 91177308-0d34-0410-b5e6-96231b3b80d8
aveAndRestore.h
|
e41611aa2237d06a0ef61db4528fb2883a8defcd |
16-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Move the source-level CFG from libAST to libAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76092 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
|
bf98c99600017bfcdde2a7966c47a6beb15a96dc |
30-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
Fix horrible non-termination bug in LiveVariables. The issue was that the liveness state of block-level expressions could oscillate because of two issues: - The initial value before a merge was not always set to "Top" - The set of live block-level expressions is a union, not an intersection This fixes <rdar://problem/650084>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63421 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
|
4afa39deaa245592977136d367251ee2c173dd8d |
20-Jan-2009 |
Douglas Gregor <dgregor@apple.com> |
Remove ScopedDecl, collapsing all of its functionality into Decl, so that every declaration lives inside a DeclContext. Moved several things that don't have names but were ScopedDecls (and, therefore, NamedDecls) to inherit from Decl rather than NamedDecl, including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't store empty DeclarationNames for these things, nor do we try to insert them into DeclContext's lookup structure. The serialization tests are temporarily disabled. We'll re-enable them once we've sorted out the remaining ownership/serialiazation issues between DeclContexts and TranslationUnion, DeclGroups, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62562 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
|
e0dbda136444b2f3550a421f4436d438230c732f |
09-Dec-2008 |
Ted Kremenek <kremenek@apple.com> |
Fixed LiveVariables bug where we didn't consider block-level expressions that functioned as the size of a VLA to be live. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60730 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
|
8d798c75b8aa8457ea06b22c6637d626ce1402de |
14-Nov-2008 |
Ted Kremenek <kremenek@apple.com> |
Rename header file. Update include files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59284 91177308-0d34-0410-b5e6-96231b3b80d8
lkExprDeclBitVector.h
xprDeclBitVector.h
|
366982aa941f949a0770d714de0de4d104f436bc |
14-Nov-2008 |
Ted Kremenek <kremenek@apple.com> |
Rename ExprDeclBitVector to BlkExprDeclBitVector, and store mappings from Stmt* to bit indices instead using Expr*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59283 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
7fdee87c203f8e9b6feed63e85256a8f8bc2bbc0 |
11-Nov-2008 |
Ted Kremenek <kremenek@apple.com> |
Add fine-grain methods for control which bits are set/reset in ExprDeclBitVector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59073 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
8e9bebdea69c590dedfbf27374114cb76fe12fbd |
21-Oct-2008 |
Douglas Gregor <dgregor@apple.com> |
Preliminary support for function overloading git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57909 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
259dfdc79126a957e56e55e3e3788031b99be12f |
07-Jun-2008 |
Chris Lattner <sabre@nondot.org> |
Mark the right ctor explicit, patch by Cédric Venet git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52078 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
e0def7589a8afa8a6acef13476bb3f882c104b91 |
06-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
fix a number of const qualification bugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49257 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
fa59f1f053235e9adf32425f2b6049185771246d |
20-Mar-2008 |
Ted Kremenek <kremenek@apple.com> |
LiveVariables analysis now uses intersect for the merge of block-level expression liveness information. The rationale is that a block-level expression cannot be live in a parent block unless it is live in all of the successor blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48618 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
7cb15939e08ea31f0fadcd24c974dbc9e4b61c01 |
13-Mar-2008 |
Ted Kremenek <kremenek@apple.com> |
The LiveVariables analysis no longer requires a FunctionDecl&; this allows it to be run on other declarations of blocks of code (e.g., Objective-C methods.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48339 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
86946745225096243f6969dc745267b78fc211a6 |
17-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Modified the notion of "Block-level expressions" in CFGs to include Stmt*. This is because GNU-style Statement-expressions cause the last statement in the statement-expression to act like an expression. We now have two notions: block-level statements and block-level expressions. The former are all Stmt* that appear in the list of statements in CFGBlocks. The latter is the subset of the former; these block-level statements are used as subexpressions somewhere in the AST. CFG::isBlockExpr() returns true for the latter, not the former (previously isBlockExpr() always returned true for non-Expr Stmt*). Modified the LiveVariables analysis to also track liveness state for block-level expressions (using the updated definition of block-level expressions). Modified the dataflow solver so that when it records values for block-level statements, it records the dataflow value *before* the transfer function for a Stmt* is evaluated (not after). This is more in sync in what clients will want. Modified CFGStmtVisitor to record the current block-level statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46143 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
0bc735ffcfb223c0186419547abaa5c84482663e |
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45410 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
cf6e41baf2b23b6b56f0f79fff5554b7745737ac |
21-Dec-2007 |
Ted Kremenek <kremenek@apple.com> |
Directory restructing of Analysis files. Created include/clang/Analysis/Analyses directory. - Moved LiveVariables.h and UninitializedValues.h into this dir. Moved ExprDeclBitVector.h into Analysis/Support. Updated all clients who use these headers to reflect the new paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45292 91177308-0d34-0410-b5e6-96231b3b80d8
xprDeclBitVector.h
|
05db37eb596d8a2cc3d1b8e9e04b1c33aea34cd1 |
04-Dec-2007 |
Ted Kremenek <kremenek@apple.com> |
Removed IntrusiveSPtr. There are no clients of this class anymore, so it is not needed, and it was never extensively tested. If we need an intrusive reference-counting smart pointer, we can always import intrusive_ptr from boost. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44571 91177308-0d34-0410-b5e6-96231b3b80d8
ntrusiveSPtr.h
|
e260e62ddaefa0db5226f88313d30d5b50182d3a |
03-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Fixed bug where intrusive_ptr_add_ref and intrusive_ptr_release were not declared "static inline." Removed member templates for operator= and copy constructor. They simply didn't work as expected. Fixed reference counting bug when a smart pointer is assigned the value of another smart pointer that refers to the same address. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42562 91177308-0d34-0410-b5e6-96231b3b80d8
ntrusiveSPtr.h
|
d33218cd684ff38ad3e197f4128768906e72f0c5 |
24-Sep-2007 |
Ted Kremenek <kremenek@apple.com> |
Added smart pointer class "IntrusiveSPtr" that handles reference counted objects that maintain their own internal reference count. This smart pointer implementation is compatible with LLVM-style down-casting (see in llvm: include/llvm/Support/Casting.h). Implemented "RefCounted", a base class that objects that wish to be managed using IntrusiveSPtrs can subclass. Reference counted objects are being targeted for use in path-sensitive dataflow analyses where managing many live objects becomes difficult. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42260 91177308-0d34-0410-b5e6-96231b3b80d8
ntrusiveSPtr.h
|