summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorGravatar qadeer <unknown>2010-05-03 02:17:18 +0000
committerGravatar qadeer <unknown>2010-05-03 02:17:18 +0000
commite9c25e761ad3a5e31e077f7bb595bfc10618c2bb (patch)
treeda8ce5ec3e6c8c4970eb4ebd17a712d26d968143 /Source/Core
parent40b4e8225f085369c0f8909a2d116c2cf96fbc1a (diff)
Added another option for lazy inlining based on macro expansion. This option is activated by /lazyInline:2. The original method is activated by /lazyInline:1.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/CommandLineOptions.ssc14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/Core/CommandLineOptions.ssc b/Source/Core/CommandLineOptions.ssc
index 39ba0fb8..3645e7a3 100644
--- a/Source/Core/CommandLineOptions.ssc
+++ b/Source/Core/CommandLineOptions.ssc
@@ -225,7 +225,7 @@ namespace Microsoft.Boogie
public enum Inlining { None, Assert, Assume, Spec };
public Inlining ProcedureInlining = Inlining.Assume;
public bool PrintInlined = false;
- public bool LazyInlining = false;
+ public int LazyInlining = 0;
public enum TypeEncoding { None, Predicates, Arguments, Monomorphic };
public TypeEncoding TypeEncodingMethod = TypeEncoding.Predicates;
@@ -950,10 +950,16 @@ namespace Microsoft.Boogie
switch (args[ps.i])
{
case "0":
- LazyInlining = false;
+ LazyInlining = 0;
break;
case "1":
- LazyInlining = true;
+ LazyInlining = 1;
+ break;
+ case "2":
+ LazyInlining = 2;
+ break;
+ default:
+ ps.Error("Invalid argument \"{0}\" to option {1}", args[ps.i], ps.s);
break;
}
}
@@ -1302,7 +1308,7 @@ namespace Microsoft.Boogie
Monomorphize = true;
}
- if (LazyInlining) {
+ if (LazyInlining > 0) {
TypeEncodingMethod = TypeEncoding.Monomorphic;
UseArrayTheory = true;
UseAbstractInterpretation = false;