summaryrefslogtreecommitdiff
path: root/tools/llvmc/example/Simple/Simple.td
blob: 87bc385b7a70c975ef5c7ff8efbb0f72b19e804c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//===- Simple.td - A simple plugin for LLVMC ------------------------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// A simple LLVMC-based gcc wrapper that shows how to write LLVMC plugins.
//
// To compile, use this command:
//
//      $ cd $LLVMC_DIR/example/Simple
//      $ make
//
// Run as:
//
//      $ llvmc -load $LLVM_DIR/Release/lib/plugin_llvmc_Simple.so
//
// For instructions on how to build your own LLVMC-based driver, see
// the 'example/Skeleton' directory.
//===----------------------------------------------------------------------===//

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">]>;