diff options
Diffstat (limited to 'tools/llvmc2/plugins')
-rw-r--r-- | tools/llvmc2/plugins/Hello/Hello.cpp | 35 | ||||
-rw-r--r-- | tools/llvmc2/plugins/Hello/Makefile | 17 |
2 files changed, 52 insertions, 0 deletions
diff --git a/tools/llvmc2/plugins/Hello/Hello.cpp b/tools/llvmc2/plugins/Hello/Hello.cpp new file mode 100644 index 0000000..729d3c8 --- /dev/null +++ b/tools/llvmc2/plugins/Hello/Hello.cpp @@ -0,0 +1,35 @@ +//===- Hello.cpp - Example code from "Writing an LLVM Pass" ---------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// Test plugin for LLVMC. +// +//===----------------------------------------------------------------------===// + +// TODO: Since llvmc2 has now gained support for plugins, its header +// files should be probably moved into LLVM include dir. + +#include "../../CompilationGraph.h" +#include "../../Plugin.h" + +#include <iostream> + +namespace { +struct MyPlugin : public llvmc::BasePlugin { + void PopulateLanguageMap(llvmc::LanguageMap&) const + { std::cout << "Hello!\n"; } + + void PopulateCompilationGraph(llvmc::CompilationGraph&) const + {} +}; + +static llvmc::RegisterPlugin<MyPlugin> RP; + +} + + diff --git a/tools/llvmc2/plugins/Hello/Makefile b/tools/llvmc2/plugins/Hello/Makefile new file mode 100644 index 0000000..3aeef24 --- /dev/null +++ b/tools/llvmc2/plugins/Hello/Makefile @@ -0,0 +1,17 @@ +##===- lib/Transforms/Hello/Makefile -----------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +LEVEL = ../../../.. +LIBRARYNAME = LLVMCHello +LOADABLE_MODULE = 1 +REQUIRES_EH = 1 +USEDLIBS = + +include $(LEVEL)/Makefile.common + |