diff options
author | Mikhail Glushenkov <foldr@codedgers.com> | 2009-10-17 20:09:29 +0000 |
---|---|---|
committer | Mikhail Glushenkov <foldr@codedgers.com> | 2009-10-17 20:09:29 +0000 |
commit | 867f67301b7c35135d04e437eb186f5a4e6b9826 (patch) | |
tree | a00a746e8e85e77aa5ec18f4c5c94b3e02667d1f /llvm/tools/llvmc | |
parent | ac90b38c48414b1d2a932d60271410db18aa7ca6 (diff) | |
download | bcm5719-llvm-867f67301b7c35135d04e437eb186f5a4e6b9826.tar.gz bcm5719-llvm-867f67301b7c35135d04e437eb186f5a4e6b9826.zip |
First draft of the OptionPreprocessor.
More to follow...
llvm-svn: 84352
Diffstat (limited to 'llvm/tools/llvmc')
-rw-r--r-- | llvm/tools/llvmc/plugins/Base/Base.td.in | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/tools/llvmc/plugins/Base/Base.td.in b/llvm/tools/llvmc/plugins/Base/Base.td.in index ddf6a3654ae..c26a567ba54 100644 --- a/llvm/tools/llvmc/plugins/Base/Base.td.in +++ b/llvm/tools/llvmc/plugins/Base/Base.td.in @@ -65,6 +65,18 @@ def OptList : OptionList<[ (help "Pass options to opt")) ]>; +// Option preprocessor. + +def Preprocess : OptionPreprocessor< +(case (and (switch_on "O3"), (any_switch_on ["O0", "O1", "O2"])), + (unset_option ["O0", "O1", "O2"]), + (and (switch_on "O2"), (any_switch_on ["O0", "O1"])), + (unset_option ["O0", "O1"]), + (and (switch_on "O1"), (switch_on "O0")), + (unset_option "O0")) +>; + + // Tools class llvm_gcc_based <string cmd_prefix, string in_lang, string E_ext> : Tool< |