- Aug 28, 2010
-
-
Tom Care authored
llvm-svn: 112309
-
- Aug 25, 2010
-
-
John McCall authored
to the new constants. llvm-svn: 112047
-
- Aug 24, 2010
-
-
Tom Care authored
- Added wasReferenced function to PseudoConstantAnalysis to determine if a variable was ever referenced in a function (outside of a self-assignment) - BlockDeclRefExpr referenced variables are now explicitly added to the non-constant list - Remove unnecessary ignore of implicit casts - Generalized parameter self-assign detection to detect deliberate self-assigns of variables to avoid unused variable warnings - Updated test cases with deliberate self-assignments - Fixed bug with C++ references and pseudoconstants - Added test case for C++ references and pseudoconstants llvm-svn: 111965
-
- Aug 23, 2010
-
-
Tom Care authored
- Psuedo -> Pseudo (doh...) - C++ reference support - Added pseudoconstant test case for __block vars - Separated out static local checking from pseudoconstant analysis and generalized to non-local checking - Added missing test cases for storage false positives llvm-svn: 111832
-
- Aug 18, 2010
-
-
Tom Care authored
Added psuedo-constant analysis and integrated it into the false positive reduction stage in IdempotentOperationChecker. - Renamed IdempotentOperationChecker::isConstant to isConstantOrPseudoConstant to better reflect the function - Changed IdempotentOperationChecker::PreVisitBinaryOperator to only run 'CanVary' once on undefined assumptions - Created new PsuedoConstantAnalysis class and added it to AnalysisContext - Changed IdempotentOperationChecker to exploit the new analysis - Updated tests with psuedo-constants - Added check to IdempotentOperationChecker to see if a Decl is const qualified llvm-svn: 111426
-
- Aug 16, 2010
-
-
Tom Care authored
llvm-svn: 111190
-
- Aug 13, 2010
-
-
Eli Friedman authored
llvm-svn: 110996
-
Tom Care authored
- Unfinished analysis may still report valid warnings if the path was completely analyzed - New 'CanVary' heuristic to recursively determine if a subexpression has a varying element - Updated test cases, including one known bug - Exposed GRCoreEngine through GRExprEngine llvm-svn: 110970
-
- Aug 07, 2010
-
-
Tom Care authored
Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations) - Added IdempotentOperationChecker to experimental analyses for testing purposes - Updated test cases to explictly call the checker llvm-svn: 110482
-
- Aug 03, 2010
-
-
Tom Care authored
Changed GRExprEngine to pass down a reference to itself when checkers are doing postanalysis. This allows the checker to gather information about the state of the engine when it has finished. - Exposed the worklist and BlockAborted flag in GRCoreEngine - Changed postanalysis checkers to use the new infrastructure llvm-svn: 110095
-
- Aug 02, 2010
-
-
Ted Kremenek authored
lookups in the hashtable. llvm-svn: 110059
-
- Jul 30, 2010
-
-
Tom Care authored
llvm-svn: 109893
-
- Jul 28, 2010
-
-
Tom Care authored
Extracted out some useful common functions in IdempotentOperationChecker to their own CheckerHelpers file. llvm-svn: 109560
-
- Jul 27, 2010
-
-
Ted Kremenek authored
Finesse 'idempotent operations' analyzer issues to include the opcode of the binary operator for clearer error reporting. Also remove the 'Idempotent operation' prefix in messages; it's redundant since the bug type is the same. llvm-svn: 109527
-
Ted Kremenek authored
llvm-svn: 109517
-
- Jul 17, 2010
-
-
Ted Kremenek authored
an APFloat with different "float semantics" than the compared float literal. llvm-svn: 108590
-
- Jul 16, 2010
-
-
Tom Care authored
Improved false positive rate for the idempotent operations checker and moved it into the default path-sensitive analysis options. - Added checks for static local variables, self assigned parameters, and truncating/extending self assignments - Removed command line option (now default with --analyze) - Updated test cases to pass with idempotent operation warnings llvm-svn: 108550
-
- Jul 07, 2010
-
-
Tom Care authored
Change explicit handling of impossible condition to call llvm_unreachable in IdempotentOperationChecker::PreVisitBinaryOperator. llvm-svn: 107748
-
Chandler Carruth authored
making the other switch case unreachable, or sinking the 'continue' into it doesn't silence this. llvm-svn: 107745
-
Chandler Carruth authored
consider them for warnings. llvm-svn: 107741
-
- Jul 06, 2010
-
-
Tom Care authored
Added a path-sensitive idempotent operation checker (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect. Example: { int a = 1; int b = 5; int c = b / a; // a is 1 on all paths } - New IdempotentOperationChecker class - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker - Minor refactoring of SVal to allow checking for any integer - Added command line option for check - Added basic test cases llvm-svn: 107706
-