diff options
Diffstat (limited to 'driver')
-rw-r--r-- | driver/Clflags.ml | 1 | ||||
-rw-r--r-- | driver/Driver.ml | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 206bbb00..68508f2e 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -34,6 +34,7 @@ let option_fcse3_across_calls = ref false let option_fcse3_across_merges = ref true let option_fcse3_glb = ref true let option_fcse3_trivial_ops = ref false +let option_fcse3_refine = ref true let option_fredundancy = ref true (** Options relative to superblock scheduling *) diff --git a/driver/Driver.ml b/driver/Driver.ml index b93bf688..ef4acee7 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -203,6 +203,7 @@ Processing options: -fcse3-across-merges Propagate CSE3 information across control-flow merges [on] -fcse3-glb Refine CSE3 information using greatest lower bounds [on] -fcse3-trivial-ops Replace trivial operations as well using CSE3 [off] + -fcse3-refine Refine CSE3 invariants by descending iteration [on] -fmove-loop-invariants Perform loop-invariant code motion [off] -fredundancy Perform redundancy elimination [on] -mtune= Type of CPU (for scheduling on some architectures) @@ -421,6 +422,7 @@ let cmdline_actions = @ f_opt "cse3-across-merges" option_fcse3_across_merges @ f_opt "cse3-glb" option_fcse3_glb @ f_opt "cse3-trivial-ops" option_fcse3_trivial_ops + @ f_opt "cse3-refine" option_fcse3_refine @ f_opt "move-loop-invariants" option_fmove_loop_invariants @ f_opt "redundancy" option_fredundancy @ [ Exact "-mtune", String (fun s -> option_mtune := s) ] |