aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CompilerDriver
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2008-11-17 17:29:18 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2008-11-17 17:29:18 +0000
commitfa990682f7092509f16035eddc7019fd5acf49aa (patch)
tree1884c821524db37b2afb76a081baa3853f074396 /include/llvm/CompilerDriver
parent54a7f8d5164423c97e4bfda0dd51afbd7120c3d3 (diff)
downloadexternal_llvm-fa990682f7092509f16035eddc7019fd5acf49aa.zip
external_llvm-fa990682f7092509f16035eddc7019fd5acf49aa.tar.gz
external_llvm-fa990682f7092509f16035eddc7019fd5acf49aa.tar.bz2
Add a layer of indirection to make plugins more flexible.
Use strings instead of TableGen defs in the compilation graph definition. Makes it easier for the plugins to modify an existing graph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59447 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CompilerDriver')
-rw-r--r--include/llvm/CompilerDriver/Common.td16
1 files changed, 6 insertions, 10 deletions
diff --git a/include/llvm/CompilerDriver/Common.td b/include/llvm/CompilerDriver/Common.td
index 4551838..e017326 100644
--- a/include/llvm/CompilerDriver/Common.td
+++ b/include/llvm/CompilerDriver/Common.td
@@ -15,10 +15,6 @@ class Tool<list<dag> l> {
list<dag> properties = l;
}
-// Special Tool instance - the root node of the compilation graph.
-
-def root : Tool<[]>;
-
// Possible Tool properties
def in_language;
@@ -87,19 +83,19 @@ class LanguageMap<list<LangToSuffixes> lst> {
// Compilation graph
-class EdgeBase<Tool t1, Tool t2, dag d> {
- Tool a = t1;
- Tool b = t2;
+class EdgeBase<string t1, string t2, dag d> {
+ string a = t1;
+ string b = t2;
dag weight = d;
}
-class Edge<Tool t1, Tool t2> : EdgeBase<t1, t2, (empty)>;
+class Edge<string t1, string t2> : EdgeBase<t1, t2, (empty)>;
// Edge and SimpleEdge are synonyms.
-class SimpleEdge<Tool t1, Tool t2> : EdgeBase<t1, t2, (empty)>;
+class SimpleEdge<string t1, string t2> : EdgeBase<t1, t2, (empty)>;
// Optionally enabled edge.
-class OptionalEdge<Tool t1, Tool t2, dag props> : EdgeBase<t1, t2, props>;
+class OptionalEdge<string t1, string t2, dag props> : EdgeBase<t1, t2, props>;
class CompilationGraph<list<EdgeBase> lst> {
list<EdgeBase> edges = lst;