| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
-cfg-add-implicit-dtors - sets CFG::BuildOptions::AddImplicitDtors for AnalysisCosumer to true,
-cfg-add-initializers - sets CFG::BuildOptions::AddInitializers for AnalysisCosumer to true.
llvm-svn: 115142
|
|
|
|
|
|
|
|
|
|
| |
automatic storage added:
- LocalScope class with iterator used to pointing into it,
- fat doxygen comment for LocalScope indended usage,
- BlockScopePosPair class used for storing jump targets/sources (for: goto, break, continue), that replaces raw CFGBlock pointer used earlier for this purpose.
llvm-svn: 114790
|
|
|
|
|
|
|
|
| |
- definitions of interfaces for CFGInitializer and CFGAutomaticObjDtor,
- support for above classes to print_elem function (renamed print_stmt),
- support for VarDecls in StmtPrinterHelper.
llvm-svn: 114403
|
|
|
|
| |
llvm-svn: 114062
|
|
|
|
|
|
| |
and discussions with Ted and Jordy.
llvm-svn: 114056
|
|
|
|
|
|
|
|
| |
assertion failure
on code containing GNU statement expressions reported in PR 8141.
llvm-svn: 113953
|
|
|
|
|
|
| |
parameter. Patch by Marcin Świderski!
llvm-svn: 113898
|
|
|
|
| |
llvm-svn: 113826
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead"
This reverts commit r113631
Conflicts:
CMakeLists.txt
lib/CodeGen/CMakeLists.txt
llvm-svn: 113817
|
|
|
|
|
|
|
|
| |
We decided that scope information doesn't belong in the CFG at all, since it is a lexical construct.
Patch by Marcin Świderski!
llvm-svn: 113798
|
|
|
|
|
|
| |
of whatever we were using before...
llvm-svn: 113631
|
|
|
|
|
|
| |
for checkers).
llvm-svn: 113572
|
|
|
|
| |
llvm-svn: 113489
|
|
|
|
| |
llvm-svn: 113466
|
|
|
|
|
|
|
|
| |
statement live if a switch on an enum value has
explicit 'case:' statements for each enum value.
llvm-svn: 113451
|
|
|
|
|
|
|
|
|
| |
allows a client
to selectively walk successors/predecessors based on commonly used filters. For starters, add
a filter to ignore 'default:' cases for SwitchStmts when all enum values are covered by CaseStmts.
llvm-svn: 113449
|
|
|
|
| |
llvm-svn: 113149
|
|
|
|
| |
llvm-svn: 113148
|
|
|
|
| |
llvm-svn: 112619
|
|
|
|
|
|
|
| |
it the same as CallExprs.
Fixes: <rdar://problem/8375510> [Boost] CFGBuilder crash in Boost.Graph
llvm-svn: 112618
|
|
|
|
| |
llvm-svn: 112580
|
|
|
|
|
|
| |
CXXOperatorCallExpr. Fixes a Boost.Graph crasher.
llvm-svn: 112578
|
|
|
|
| |
llvm-svn: 112380
|
|
|
|
|
|
| |
visiting the subexpression. While we don't do anything intelligent right now, this obviates a bogus -Wunreahable-code warning reported in PR 6130.
llvm-svn: 112334
|
|
|
|
|
|
|
|
|
| |
at assignments. This 'relaxed' liveness is useful in path sensitive analysis for situations where the resulting extended liveness allows us to find some bugs.
- Added killAtAssign flag to LiveVariables
- Added relaxed LiveVariables to AnalysisContext with an accessor
llvm-svn: 112306
|
|
|
|
| |
llvm-svn: 112100
|
|
|
|
|
|
|
|
|
|
| |
- Removed the assumption that __block vars are all non-constant
- Simplified some repetitive code in RunAnalysis
- Added block walking support
- Code/comments cleanup
- Separated out test for block pseudoconstants
llvm-svn: 112098
|
|
|
|
|
|
| |
to the new constants.
llvm-svn: 112047
|
|
|
|
|
|
| |
compatible argument). Fixes PR 7981.
llvm-svn: 111978
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
| |
IdempotentOperationChecker uses it.
- 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
|
|
|
|
| |
llvm-svn: 111768
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
beginning of a do...while loop. This would cause
the body of the DoStmt to be disconnected from the preceding code.
llvm-svn: 111283
|
|
|
|
|
|
| |
edge can never be taken.
llvm-svn: 111282
|
|
|
|
|
|
| |
CFGBlock in CFGStmtMap::getBlock.
llvm-svn: 110881
|
|
|
|
| |
llvm-svn: 110288
|
|
|
|
|
|
| |
CaseStmts. Fixes <rdar://problem/8268753>.
llvm-svn: 110286
|
|
|
|
|
|
| |
immediate intended use is in the unreachable code analysis.
llvm-svn: 110230
|
|
|
|
|
|
| |
analysis) that doesn't prune CFG edges.
llvm-svn: 110087
|
|
|
|
|
|
|
|
| |
the original
CFG without any edges pruned out because of trivially solvable conditions (e.g., 'if (0)').
llvm-svn: 110085
|
|
|
|
|
|
|
|
| |
is prep for scanf format"
Got errors about ASTContext being undefined with Visual Studio 2010.
llvm-svn: 109491
|
|
|
|
| |
llvm-svn: 109440
|
|
|
|
|
|
|
|
| |
scanf format
string argument type checking.
llvm-svn: 109428
|
|
|
|
|
|
|
| |
engine of the new translation unit. State marshal is there but no real
work is done. End nodes are passed back.
llvm-svn: 109105
|
|
|
|
| |
llvm-svn: 108907
|
|
|
|
| |
llvm-svn: 108906
|
|
|
|
| |
llvm-svn: 108905
|
|
|
|
|
|
|
| |
derived 'PrintfConversionSpecifier' from this class. We will do the same for
'ScanfConversionSpecifier'.
llvm-svn: 108903
|
|
|
|
| |
llvm-svn: 108901
|