| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 42718
|
|
|
|
|
|
| |
functionality is still preliminary.
llvm-svn: 42152
|
|
|
|
|
|
|
|
| |
with
globals and function parameters.
llvm-svn: 42055
|
|
|
|
| |
llvm-svn: 42013
|
|
|
|
|
|
|
| |
this eliminates their dependence on the preprocessor and eliminates some
duplicated code.
llvm-svn: 41993
|
|
|
|
|
|
| |
genericizing them and eliminating boilerplate code.
llvm-svn: 41992
|
|
|
|
|
|
| |
Switch -parse-ast over to it.
llvm-svn: 41991
|
|
|
|
|
|
|
|
|
|
| |
to variables that are no longer live. This analysis is built on top
of CFGs and the LiveVariables analysis.
changes to driver:
added driver option "-check-dead-stores" to run the analysis
llvm-svn: 41754
|
|
|
|
|
|
|
|
|
|
| |
source-level CFGs. This code may change significantly in the near
future as we explore different means to implement dataflow analyses.
Added a driver option, -dump-live-variables, to view the output of
live variable analysis. This output is very ALPHA; it will be improved shortly.
llvm-svn: 41737
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(LLVM-provided) graph algorithms such as DFS and graph visualization
to work effortless on source-level CFGs.
Further cleanup on pretty printing of CFGs. CFGBlock::dump and
CFGBlock::print now take the parent CFG as an argument. This allows
CFGBlocks to print their own appropriate label indicating whether or
not they are the Entry/Exit/IndirectGotoBlock without the CFG::print
routine doing it instead.
Added Graphviz visualization for CFGs: CFG::viewCFG. This employs the
GraphTraits just implemented.
Added "-view-cfg" mode the to clang driver. This is identical to
"-dump-cfg" except that it calls Graphviz to visualize the CFGs
instead of dumping them to the terminal.
llvm-svn: 41580
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added builder code to translate ASTs to CFGs. This currently supports
if, return, and non-control flow statements.
Added pretty-printer to debug CFGs.
Added a "-dump-cfg" option to the clang driver to dump CFGs for code
sent through the frontend.
llvm-svn: 41252
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the AST in a structural, non-pretty, form useful for understanding
the AST. It isn't quite done yet, but is already somewhat useful.
For this example:
int test(short X, long long Y) {
return X < ((100));
}
we get (with -parse-ast-dump):
int test(short X, long long Y)
(CompoundStmt 0x2905ce0
(ReturnStmt 0x2905cd0
(BinaryOperator 0x2905cb0 '<'
(ImplicitCastExpr 0x2905ca0
(DeclRefExpr 0x2905c20 Decl='X' 0x2905bb0))
(ParenExpr 0x2905c80
(ParenExpr 0x2905c60
(IntegerLiteral 0x2905c40 100))))))
llvm-svn: 40954
|
|
- Separate out the AST streamers from the clang.cpp file into their very
own special files.
llvm-svn: 39676
|