1 //===- Tools.td - Common definitions for LLVMCC -----------*- tablegen -*-===//
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 //===----------------------------------------------------------------------===//
10 // This file contains common definitions used in llvmcc tool description files.
12 //===----------------------------------------------------------------------===//
14 class Tool<list<dag> l> {
15 list<dag> properties = l;
18 // Possible Tool properties
27 // Possible option types
31 def parameter_list_option;
33 def prefix_list_option;
35 // Possible option properties
44 // Map from suffixes to language names
46 class LangToSuffixes<string str, list<string> lst> {
48 list<string> suffixes = lst;
51 class LanguageMap<list<LangToSuffixes> lst> {
52 list<LangToSuffixes> map = lst;
57 class ToolChain <list<Tool> lst> {
58 list <Tool> tools = lst;
61 class ToolChains <list<ToolChain> lst> {
62 list<ToolChain> chains = lst;