summaryrefslogtreecommitdiff
path: root/tools/llvmc
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2009-10-17 20:09:29 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2009-10-17 20:09:29 +0000
commit0a22fb66644c3b28836387917e15091573c068b9 (patch)
treeb40991888d39def7f349efbe24ef8fdf41454b73 /tools/llvmc
parent5a1a53e4508a479e18fe69798909d3d7fa63ad5e (diff)
downloadllvm-0a22fb66644c3b28836387917e15091573c068b9.tar.gz
llvm-0a22fb66644c3b28836387917e15091573c068b9.tar.bz2
llvm-0a22fb66644c3b28836387917e15091573c068b9.tar.xz
First draft of the OptionPreprocessor.
More to follow... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84352 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvmc')
-rw-r--r--tools/llvmc/plugins/Base/Base.td.in12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/llvmc/plugins/Base/Base.td.in b/tools/llvmc/plugins/Base/Base.td.in
index ddf6a3654a..c26a567ba5 100644
--- a/tools/llvmc/plugins/Base/Base.td.in
+++ b/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<