Add new edge properties: parameter_equals, element_in_list, and.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50730 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvmc2/Common.td b/tools/llvmc2/Common.td
index 30905a4..5e25dcf 100644
--- a/tools/llvmc2/Common.td
+++ b/tools/llvmc2/Common.td
@@ -50,7 +50,7 @@
def switch_on;
def parameter_equals;
def element_in_list;
-def or;
+def and;
// Map from suffixes to language names
diff --git a/tools/llvmc2/Example.td b/tools/llvmc2/Example.td
index 79376ef..4fa4978 100644
--- a/tools/llvmc2/Example.td
+++ b/tools/llvmc2/Example.td
@@ -26,10 +26,11 @@
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")]>,
+ OptionalEdge<llvm_gcc_c, opt, [(switch_on "S")]>,
+ OptionalEdge<llvm_gcc_cpp, opt, [(switch_on "S")]>,
+ OptionalEdge<llvm_as, opt, [(switch_on "S")]>,
+ OptionalEdge<opt, llc, [(and (switch_on "S"), (parameter_equals "O", "V")),
+ (element_in_list "P", "E")]>,
Edge<llc, llvm_gcc_assembler>,
Edge<llvm_gcc_assembler, llvm_gcc_linker>
diff --git a/tools/llvmc2/Tools.td b/tools/llvmc2/Tools.td
index 67104ec..f4c73cb 100644
--- a/tools/llvmc2/Tools.td
+++ b/tools/llvmc2/Tools.td
@@ -38,7 +38,9 @@
def opt : Tool<
[(in_language "llvm-bitcode"),
(out_language "llvm-bitcode"),
- (switch_option "opt", (help "Enable opt")),
+ (switch_option "S", (help "Test switch")),
+ (parameter_option "O", (help "Test Parameter")),
+ (prefix_list_option "P", (help "Test Parameter List")),
(output_suffix "bc"),
(cmd_line "opt $INFILE -o $OUTFILE")
]>;