diff options
Diffstat (limited to 'Driver/AnalysisConsumer.cpp')
-rw-r--r-- | Driver/AnalysisConsumer.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Driver/AnalysisConsumer.cpp b/Driver/AnalysisConsumer.cpp index ecb4ad23a0..f8d9a250ba 100644 --- a/Driver/AnalysisConsumer.cpp +++ b/Driver/AnalysisConsumer.cpp @@ -337,6 +337,16 @@ static void ActionLiveness(AnalysisManager& mgr) { mgr.getLiveVariables()->dumpBlockLiveness(mgr.getSourceManager()); } +static void ActionCFGDump(AnalysisManager& mgr) { + mgr.DisplayFunction(); + mgr.getCFG()->dump(); +} + +static void ActionCFGView(AnalysisManager& mgr) { + mgr.DisplayFunction(); + mgr.getCFG()->viewCFG(); +} + //===----------------------------------------------------------------------===// // AnalysisConsumer creation. //===----------------------------------------------------------------------===// @@ -376,6 +386,14 @@ ASTConsumer* clang::CreateAnalysisConsumer(Analyses* Beg, Analyses* End, C->addCodeAction(&ActionSimpleChecks); break; + case CFGDump: + C->addCodeAction(&ActionCFGDump); + break; + + case CFGView: + C->addCodeAction(&ActionCFGView); + break; + default: break; } |