diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-06-07 23:27:59 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-06-07 23:27:59 +0000 |
commit | 4cbbd94d0abeec2d7e7438d098527aa340d82389 (patch) | |
tree | 4f1d5230c0e7fb4930d785897e79bb30bd0b5ea3 /include/clang/Frontend/CodeGenAction.h | |
parent | faddc3e53a95c68f2c3a966e0f1e6eba110dafd6 (diff) |
Frontend: Add CodeGenAction support for handling LLVM IR.
- This magically enables using 'clang -cc1' as a replacement for most of 'llvm-as', 'llvm-dis', 'llc' and 'opt' functionality.
For example, 'llvm-as' is:
$ clang -cc1 -emit-llvm-bc FOO.ll -o FOO.bc
and 'llvm-dis' is:
$ clang -cc1 -emit-llvm FOO.bc -o -
and 'opt' is, e.g.:
$ clang -cc1 -emit-llvm -O3 -o FOO.opt.ll FOO.ll
and 'llc' is, e.g.:
$ clang -cc1 -S -o - FOO.ll
The nice thing about using the backend tools this way is that they are guaranteed to exactly match how the compiler generates code (for example, setting the same backend options).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105583 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Frontend/CodeGenAction.h')
-rw-r--r-- | include/clang/Frontend/CodeGenAction.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/clang/Frontend/CodeGenAction.h b/include/clang/Frontend/CodeGenAction.h index dfc117a0b0..e05176a689 100644 --- a/include/clang/Frontend/CodeGenAction.h +++ b/include/clang/Frontend/CodeGenAction.h @@ -24,9 +24,13 @@ private: protected: CodeGenAction(unsigned _Act); + virtual bool hasIRSupport() const; + virtual ASTConsumer *CreateASTConsumer(CompilerInstance &CI, llvm::StringRef InFile); + virtual void ExecuteAction(); + virtual void EndSourceFileAction(); public: |