More work on edge properties. Use Edge classes instead of strings in CompilationGraph.
[oota-llvm.git] / tools / llvmc2 / Example.td
index d56f7f96358ba860b177db48abeebd9248b1b035..79376efae68710b8b4f6f84325c9d0e212a37a35 100644 (file)
@@ -21,9 +21,16 @@ def CompilationGraph : CompilationGraph<[
     Edge<root, llvm_gcc_assembler>,
     Edge<root, llvm_gcc_cpp>,
     Edge<root, llvm_as>,
+
     Edge<llvm_gcc_c, llc>,
     Edge<llvm_gcc_cpp, llc>,
     Edge<llvm_as, llc>,
+
+    OptionalEdge<llvm_gcc_c, opt, [(switch_on "opt")]>,
+    OptionalEdge<llvm_gcc_cpp, opt, [(switch_on "opt")]>,
+    OptionalEdge<llvm_as, opt, [(switch_on "opt")]>,
+    OptionalEdge<opt, llc, [(switch_on "opt")]>,
+
     Edge<llc, llvm_gcc_assembler>,
     Edge<llvm_gcc_assembler, llvm_gcc_linker>
     ]>;