Delete AccessesArgumentsAndGlobals, which was unused.
[oota-llvm.git] / include / llvm / CompilerDriver / Common.td
index 4589f9179c326a45faa03c946fa98a5b564b1822..84e8783d20aa28ef5cffc506559aa4402e431884 100644 (file)
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This file contains common definitions used in llvmc2 tool description files.
+// This file contains common definitions used in llvmc tool description files.
 //
 //===----------------------------------------------------------------------===//
 
@@ -15,93 +15,110 @@ class Tool<list<dag> l> {
       list<dag> properties = l;
 }
 
-// Possible Tool properties
+// Possible Tool properties.
 
 def in_language;
 def out_language;
 def output_suffix;
-def cmd_line;
+def command;
+def out_file_option;
+def in_file_option;
 def join;
 def sink;
+def works_on_empty;
+def actions;
 
-// Possible option types
+// Possible option types.
 
 def alias_option;
 def switch_option;
+def switch_list_option;
 def parameter_option;
 def parameter_list_option;
 def prefix_option;
 def prefix_list_option;
 
-// Possible option properties
+// Possible option properties.
 
-def append_cmd;
-def forward;
-def forward_as;
-def stop_compilation;
-def unpack_values;
 def help;
+def hidden;
+def init;
+def multi_val;
+def one_or_more;
+def zero_or_more;
+def optional;
+def really_hidden;
 def required;
-
-// Empty DAG marker.
-def empty;
+def comma_separated;
+def forward_not_split;
 
 // The 'case' construct.
 def case;
 
+// Boolean constants.
+def true;
+def false;
+
+// Boolean operators.
+def and;
+def or;
+def not;
+
 // Primitive tests.
 def switch_on;
 def parameter_equals;
 def element_in_list;
 def input_languages_contain;
+def empty;
 def not_empty;
 def default;
+def single_input_file;
+def multiple_input_files;
+def any_switch_on;
+def any_not_empty;
+def any_empty;
 
-// Boolean operators.
-def and;
-def or;
+// Possible actions.
 
-// Increase/decrease the edge weight.
-def inc_weight;
-def dec_weight;
+def append_cmd;
+def forward;
+def forward_as;
+def forward_value;
+def forward_transformed_value;
+def stop_compilation;
+def no_out_file;
+def unpack_values;
+def warning;
+def error;
+def set_option;
+def unset_option;
 
-// Used to specify plugin priority.
-class PluginPriority<int p> {
-      int priority = p;
-}
+// Increase the edge weight.
+def inc_weight;
 
-// Option list - used to specify aliases and sometimes help strings.
+// Option list - a single place to specify options.
 class OptionList<list<dag> l> {
       list<dag> options = l;
 }
 
-// Map from suffixes to language names
-
-class LangToSuffixes<string str, list<string> lst> {
-      string lang = str;
-      list<string> suffixes = lst;
+// Option preprocessor - actions taken during plugin loading.
+class OptionPreprocessor<dag d> {
+      dag preprocessor = d;
 }
 
-class LanguageMap<list<LangToSuffixes> lst> {
-      list<LangToSuffixes> map = lst;
-}
+// Map from suffixes to language names
 
-// Compilation graph
+def lang_to_suffixes;
 
-class EdgeBase<string t1, string t2, dag d> {
-      string a = t1;
-      string b = t2;
-      dag weight = d;
+class LanguageMap<list<dag> l> {
+      list<dag> map = l;
 }
 
-class Edge<string t1, string t2> : EdgeBase<t1, t2, (empty)>;
-
-// Edge and SimpleEdge are synonyms.
-class SimpleEdge<string t1, string t2> : EdgeBase<t1, t2, (empty)>;
+// Compilation graph
 
-// Optionally enabled edge.
-class OptionalEdge<string t1, string t2, dag props> : EdgeBase<t1, t2, props>;
+def edge;
+def optional_edge;
 
-class CompilationGraph<list<EdgeBase> lst> {
-      list<EdgeBase> edges = lst;
+class CompilationGraph<list<dag> l> {
+      list<dag> edges = l;
 }