aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-03-12 17:58:48 +0100
committerCyril SIX <cyril.six@kalray.eu>2019-03-12 17:58:48 +0100
commit60c0b75a8dcf475d3fb443e0dac50dac34e01d12 (patch)
treedd551bd367a6cf9a1141a58d2042292fcbc1e69d /driver
parent720caa808c6de6b0e672e69f9bc8395d2b43723e (diff)
downloadcompcert-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.ml1
-rw-r--r--driver/Compopts.v3
-rw-r--r--driver/Driver.ml2
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);