summaryrefslogtreecommitdiff
path: root/Source/BoogieDriver/BoogieDriver.ssc
diff options
context:
space:
mode:
authorGravatar qadeer <unknown>2010-02-16 05:07:46 +0000
committerGravatar qadeer <unknown>2010-02-16 05:07:46 +0000
commit717eaee0063074b804098d3cfd44a7a3f822b064 (patch)
tree5ca65ed1265ed238195ad25476c9ab506d5a8360 /Source/BoogieDriver/BoogieDriver.ssc
parentf1d626d71fef69995f34daae4341473d597f5d27 (diff)
Implemented block coalescing invoked right after type checking.
Controlled by the option /coalesceBlocks (default is to perform the optimization).
Diffstat (limited to 'Source/BoogieDriver/BoogieDriver.ssc')
-rw-r--r--Source/BoogieDriver/BoogieDriver.ssc5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/BoogieDriver/BoogieDriver.ssc b/Source/BoogieDriver/BoogieDriver.ssc
index 035879ec..7b22d6fe 100644
--- a/Source/BoogieDriver/BoogieDriver.ssc
+++ b/Source/BoogieDriver/BoogieDriver.ssc
@@ -420,6 +420,11 @@ namespace Microsoft.Boogie
// Eliminate dead variables
Microsoft.Boogie.UnusedVarEliminator.Eliminate(program);
+ // Coalesce blocks
+ if (CommandLineOptions.Clo.CoalesceBlocks) {
+ Microsoft.Boogie.BlockCoalescer.CoalesceBlocks(program);
+ }
+
// Inline
List<Declaration!>! TopLevelDeclarations = program.TopLevelDeclarations;
if (CommandLineOptions.Clo.ProcedureInlining != CommandLineOptions.Inlining.None) {