summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/Lint.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Change AliasAnalysis and its clients to use uint64_t instead of unsignedDan Gohman2010-10-191-3/+3
| | | | | | for representing object sizes, for consistency with other parts of LLVM. llvm-svn: 116831
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-191-1/+3
| | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
* Consistently use AliasAnalysis::UnknownSize instead of hardcoding ~0u.Dan Gohman2010-10-191-16/+25
| | | | llvm-svn: 116815
* Begin adding static dependence information to passes, which will allow us toOwen Anderson2010-10-121-1/+6
| | | | | | | | | perform initialization without static constructors AND without explicit initialization by the client. For the moment, passes are required to initialize both their (potential) dependencies and any passes they preserve. I hope to be able to relax the latter requirement in the future. llvm-svn: 116334
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
| | | | llvm-svn: 115996
* zap dead code.Chris Lattner2010-09-041-22/+0
| | | | llvm-svn: 113073
* Revert r111058, the lint check for indirectbr successors that aren'tDan Gohman2010-08-161-6/+0
| | | | | | | address-taken. This can occur normally, if the code which took the address got DCEd. llvm-svn: 111121
* Add a lint check for an indirectbr destination which has notDan Gohman2010-08-131-0/+6
| | | | | | had its address taken. llvm-svn: 111058
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Add a convenient form of AliasAnalysis::alias for the case where the sizesDan Gohman2010-08-031-2/+1
| | | | | | are unknown. llvm-svn: 110090
* Add a lint check for indirectbr with no successors.Dan Gohman2010-08-021-0/+3
| | | | llvm-svn: 110074
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-211-2/+1
| | | | llvm-svn: 109045
* Add a lint check for mismatched return types, inspired by PR6944.Dan Gohman2010-07-121-0/+4
| | | | llvm-svn: 108162
* Add some more TODO comments.Dan Gohman2010-07-061-0/+6
| | | | llvm-svn: 107657
* Add a comment.Dan Gohman2010-07-061-1/+2
| | | | llvm-svn: 107656
* Fix the noalias checking so that it doesn't worry aboutDan Gohman2010-06-011-12/+12
| | | | | | an argument aliasing itself. Thanks Duncan! llvm-svn: 105288
* Add lint checks for function attributes.Dan Gohman2010-05-281-30/+91
| | | | llvm-svn: 105009
* Fix lint's memcpy and memmove checks, and its basic block traversal.Dan Gohman2010-05-281-5/+8
| | | | llvm-svn: 104970
* Detect self-referential values.Dan Gohman2010-05-281-6/+19
| | | | llvm-svn: 104957
* Eli pointed out that va_arg instruction result values don'tDan Gohman2010-05-281-4/+4
| | | | | | reference the stack. llvm-svn: 104951
* Teach lint how to look through simple store+load pairs and otherDan Gohman2010-05-281-10/+75
| | | | | | | effective no-op constructs, to make it more effective on unoptimized IR. llvm-svn: 104950
* Add a lint check for returning the address of stack memory.Dan Gohman2010-05-281-0/+6
| | | | llvm-svn: 104936
* Fix Lint printing warnings multiple times. Remove the ErrorStrDan Gohman2010-05-261-5/+2
| | | | | | | option from lintModule, which was an artifact from being based on Verifier code. llvm-svn: 104765
* Reinstate checking of stackrestore, with checking for both ReadDan Gohman2010-05-261-0/+8
| | | | | | and Write, and add a comment explaining this. llvm-svn: 104756
* Stackrestore is not a load.Dan Gohman2010-05-261-5/+0
| | | | llvm-svn: 104752
* Remove a TODO which isn't practical.Dan Gohman2010-05-261-1/+0
| | | | llvm-svn: 104748
* Implement checking of the tail keyword.Dan Gohman2010-05-261-1/+9
| | | | llvm-svn: 104744
* Add lint checks for invalid uses of memory.Dan Gohman2010-04-301-19/+59
| | | | llvm-svn: 102733
* Tidy a comment.Dan Gohman2010-04-221-1/+1
| | | | llvm-svn: 102041
* Add several more lint checks.Dan Gohman2010-04-091-21/+68
| | | | llvm-svn: 100841
* Add a few more lint checks.Dan Gohman2010-04-081-0/+40
| | | | llvm-svn: 100825
* Add a -lint pass which checks for common sources of undefined or likelyDan Gohman2010-04-081-0/+368
unintended behavior. llvm-svn: 100798
OpenPOWER on IntegriCloud