From: Mikhail Glushenkov Date: Tue, 3 Mar 2009 10:02:53 +0000 (+0000) Subject: Move example plugins to the example/ directory. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=178b00ce503c22a2b3471eabdc188e7b315324e7;p=oota-llvm.git Move example plugins to the example/ directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65939 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/llvmc/example/Hello/Hello.cpp b/tools/llvmc/example/Hello/Hello.cpp new file mode 100644 index 00000000000..395ef9bbd48 --- /dev/null +++ b/tools/llvmc/example/Hello/Hello.cpp @@ -0,0 +1,30 @@ +//===- 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. Shows how to write plugins without using TableGen. +// +//===----------------------------------------------------------------------===// + +#include "llvm/CompilerDriver/CompilationGraph.h" +#include "llvm/CompilerDriver/Plugin.h" + +#include + +namespace { +struct MyPlugin : public llvmc::BasePlugin { + void PopulateLanguageMap(llvmc::LanguageMap&) const + { std::cout << "Hello!\n"; } + + void PopulateCompilationGraph(llvmc::CompilationGraph&) const + {} +}; + +static llvmc::RegisterPlugin RP("Hello", "Hello World plugin"); + +} diff --git a/tools/llvmc/example/Hello/Makefile b/tools/llvmc/example/Hello/Makefile new file mode 100644 index 00000000000..10325e6a6d5 --- /dev/null +++ b/tools/llvmc/example/Hello/Makefile @@ -0,0 +1,14 @@ +##===- tools/llvmc/plugins/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 = ../../../.. + +LLVMC_PLUGIN = Hello + +include $(LEVEL)/Makefile.common diff --git a/tools/llvmc/example/Simple/Makefile b/tools/llvmc/example/Simple/Makefile new file mode 100644 index 00000000000..d7adb5d851e --- /dev/null +++ b/tools/llvmc/example/Simple/Makefile @@ -0,0 +1,15 @@ +##===- tools/llvmc/plugins/Simple/Makefile -----------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +LEVEL = ../../../.. + +LLVMC_PLUGIN = Simple +BUILT_SOURCES = AutoGenerated.inc + +include $(LEVEL)/Makefile.common diff --git a/tools/llvmc/example/Simple/PluginMain.cpp b/tools/llvmc/example/Simple/PluginMain.cpp new file mode 100644 index 00000000000..add8acb4a57 --- /dev/null +++ b/tools/llvmc/example/Simple/PluginMain.cpp @@ -0,0 +1 @@ +#include "AutoGenerated.inc" diff --git a/tools/llvmc/example/Simple/Simple.td b/tools/llvmc/example/Simple/Simple.td new file mode 100644 index 00000000000..b974cbc95eb --- /dev/null +++ b/tools/llvmc/example/Simple/Simple.td @@ -0,0 +1,30 @@ +// A simple wrapper for gcc. +// To compile, use this command: +// +// $ cd $LLVMC2_DIR +// $ make DRIVER_NAME=mygcc BUILTIN_PLUGINS=Simple +// +// To build this plugin as a dynamic library: +// +// $ cd $LLVMC2_DIR +// $ make BUILTIN_PLUGINS="" +// $ cd plugins/Simple +// $ make +// +// Run as: +// +// $ llvmc2 -load $LLVM_DIR/Release/lib/LLVMCSimple.so + +include "llvm/CompilerDriver/Common.td" + +def gcc : Tool< +[(in_language "c"), + (out_language "executable"), + (output_suffix "out"), + (cmd_line "gcc $INFILE -o $OUTFILE"), + (sink) +]>; + +def LanguageMap : LanguageMap<[LangToSuffixes<"c", ["c"]>]>; + +def CompilationGraph : CompilationGraph<[Edge<"root", "gcc">]>; diff --git a/tools/llvmc/plugins/Hello/Hello.cpp b/tools/llvmc/plugins/Hello/Hello.cpp deleted file mode 100644 index 395ef9bbd48..00000000000 --- a/tools/llvmc/plugins/Hello/Hello.cpp +++ /dev/null @@ -1,30 +0,0 @@ -//===- 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. Shows how to write plugins without using TableGen. -// -//===----------------------------------------------------------------------===// - -#include "llvm/CompilerDriver/CompilationGraph.h" -#include "llvm/CompilerDriver/Plugin.h" - -#include - -namespace { -struct MyPlugin : public llvmc::BasePlugin { - void PopulateLanguageMap(llvmc::LanguageMap&) const - { std::cout << "Hello!\n"; } - - void PopulateCompilationGraph(llvmc::CompilationGraph&) const - {} -}; - -static llvmc::RegisterPlugin RP("Hello", "Hello World plugin"); - -} diff --git a/tools/llvmc/plugins/Hello/Makefile b/tools/llvmc/plugins/Hello/Makefile deleted file mode 100644 index 10325e6a6d5..00000000000 --- a/tools/llvmc/plugins/Hello/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -##===- tools/llvmc/plugins/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 = ../../../.. - -LLVMC_PLUGIN = Hello - -include $(LEVEL)/Makefile.common diff --git a/tools/llvmc/plugins/Simple/Makefile b/tools/llvmc/plugins/Simple/Makefile deleted file mode 100644 index d7adb5d851e..00000000000 --- a/tools/llvmc/plugins/Simple/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -##===- tools/llvmc/plugins/Simple/Makefile -----------------*- Makefile -*-===## -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -##===----------------------------------------------------------------------===## - -LEVEL = ../../../.. - -LLVMC_PLUGIN = Simple -BUILT_SOURCES = AutoGenerated.inc - -include $(LEVEL)/Makefile.common diff --git a/tools/llvmc/plugins/Simple/PluginMain.cpp b/tools/llvmc/plugins/Simple/PluginMain.cpp deleted file mode 100644 index add8acb4a57..00000000000 --- a/tools/llvmc/plugins/Simple/PluginMain.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "AutoGenerated.inc" diff --git a/tools/llvmc/plugins/Simple/Simple.td b/tools/llvmc/plugins/Simple/Simple.td deleted file mode 100644 index b974cbc95eb..00000000000 --- a/tools/llvmc/plugins/Simple/Simple.td +++ /dev/null @@ -1,30 +0,0 @@ -// A simple wrapper for gcc. -// To compile, use this command: -// -// $ cd $LLVMC2_DIR -// $ make DRIVER_NAME=mygcc BUILTIN_PLUGINS=Simple -// -// To build this plugin as a dynamic library: -// -// $ cd $LLVMC2_DIR -// $ make BUILTIN_PLUGINS="" -// $ cd plugins/Simple -// $ make -// -// Run as: -// -// $ llvmc2 -load $LLVM_DIR/Release/lib/LLVMCSimple.so - -include "llvm/CompilerDriver/Common.td" - -def gcc : Tool< -[(in_language "c"), - (out_language "executable"), - (output_suffix "out"), - (cmd_line "gcc $INFILE -o $OUTFILE"), - (sink) -]>; - -def LanguageMap : LanguageMap<[LangToSuffixes<"c", ["c"]>]>; - -def CompilationGraph : CompilationGraph<[Edge<"root", "gcc">]>;