1 //===--- ASTConsumers.h - ASTConsumer implementations -----------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
12 //===----------------------------------------------------------------------===//
14 #ifndef DRIVER_ASTCONSUMERS_H
15 #define DRIVER_ASTCONSUMERS_H
21 namespace sys { class Path; }
30 ASTConsumer *CreateASTPrinter(std::ostream* OS = NULL);
32 ASTConsumer *CreateASTDumper();
34 ASTConsumer *CreateASTViewer();
36 ASTConsumer *CreateCFGDumper(bool ViewGraphs = false);
38 ASTConsumer *CreateLiveVarAnalyzer();
40 ASTConsumer *CreateDeadStoreChecker(Diagnostic &Diags);
42 ASTConsumer *CreateUnitValsChecker(Diagnostic &Diags);
44 ASTConsumer *CreateGRConstants();
47 ASTConsumer *CreateLLVMCodeGen(Diagnostic &Diags, const LangOptions &Features,
48 llvm::Module *&DestModule);
50 ASTConsumer *CreateCodeRewriterTest(const std::string& InFile,
53 ASTConsumer *CreateSerializationTest(Diagnostic &Diags,
55 const LangOptions &LOpts);
57 ASTConsumer *CreateASTSerializer(const std::string& InFile,
58 const std::string& EmitDir,
60 const LangOptions &LOpts);
62 } // end clang namespace