diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2019-03-12 17:58:48 +0100 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2019-03-12 17:58:48 +0100 |
commit | 60c0b75a8dcf475d3fb443e0dac50dac34e01d12 (patch) | |
tree | dd551bd367a6cf9a1141a58d2042292fcbc1e69d /driver | |
parent | 720caa808c6de6b0e672e69f9bc8395d2b43723e (diff) | |
download | compcert-kvx-60c0b75a8dcf475d3fb443e0dac50dac34e01d12.tar.gz compcert-kvx-60c0b75a8dcf475d3fb443e0dac50dac34e01d12.zip |
Added a flag for changing the scheduler (not any choice available right now)
Diffstat (limited to 'driver')
-rw-r--r-- | driver/Clflags.ml | 1 | ||||
-rw-r--r-- | driver/Compopts.v | 3 | ||||
-rw-r--r-- | driver/Driver.ml | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 77fae8ee..fe7aef10 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -28,6 +28,7 @@ let option_fconstprop = ref true let option_fcse = ref true let option_fredundancy = ref true let option_fpostpass = ref true +let option_pp_optimizer = ref 1 let option_falignfunctions = ref (None: int option) let option_falignbranchtargets = ref 0 let option_faligncondbranchs = ref 0 diff --git a/driver/Compopts.v b/driver/Compopts.v index e6eecc9b..16ad7c33 100644 --- a/driver/Compopts.v +++ b/driver/Compopts.v @@ -42,6 +42,9 @@ Parameter optim_redundancy: unit -> bool. (** Flag -fpostpass. Postpass scheduling for K1 architecture *) Parameter optim_postpass: unit -> bool. +(** Flag -fpp_optimizer, to specify the postpass optimizer to use *) +Parameter optim_pp_optimizer: unit -> nat. + (** Flag -fthumb. For the ARM back-end. *) Parameter thumb: unit -> bool. diff --git a/driver/Driver.ml b/driver/Driver.ml index 467cf989..36d55913 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -194,6 +194,7 @@ Processing options: -fcse Perform common subexpression elimination [on] -fredundancy Perform redundancy elimination [on] -fpostpass Perform postpass scheduling (only for K1 architecture) [on] + -pp-optimizer Select the postpass optimizer to use if -fpostpass is active [list_scheduler] -finline Perform inlining of functions [on] -finline-functions-called-once Integrate functions only required by their single caller [on] @@ -295,6 +296,7 @@ let cmdline_actions = Exact "-O", Unit (set_all optimization_options); _Regexp "-O[123]$", Unit (set_all optimization_options); Exact "-Os", Set option_Osize; + Exact "-pp-optimizer", String(fun s -> option_pp_optimizer := if (s == "list_scheduler") then 1 else 0); Exact "-fsmall-data", Integer(fun n -> option_small_data := n); Exact "-fsmall-const", Integer(fun n -> option_small_const := n); Exact "-ffloat-const-prop", Integer(fun n -> option_ffloatconstprop := n); |