aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2020-02-12 16:47:03 +0100
committerCyril SIX <cyril.six@kalray.eu>2020-02-12 16:47:03 +0100
commit117a26880e27ae7d8efcb26d194c5ded3be642d6 (patch)
tree6dbac778988ebc2b227d1317add359b723962a12 /driver
parente882ee6daa01579bf717b43b55091c859ed75661 (diff)
downloadcompcert-kvx-117a26880e27ae7d8efcb26d194c5ded3be642d6.tar.gz
compcert-kvx-117a26880e27ae7d8efcb26d194c5ded3be642d6.zip
Added option -ftracelinearize which linearizes based on ifnot branches
Diffstat (limited to 'driver')
-rw-r--r--driver/Clflags.ml1
-rw-r--r--driver/Driver.ml3
2 files changed, 4 insertions, 0 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml
index a195e38b..a4ebee9c 100644
--- a/driver/Clflags.ml
+++ b/driver/Clflags.ml
@@ -29,6 +29,7 @@ let option_fcse = ref true
let option_fredundancy = ref true
let option_fduplicate = ref false
let option_finvertcond = ref true (* only active if option_fduplicate is also true *)
+let option_ftracelinearize = ref false
let option_fpostpass = ref true
let option_fpostpass_sched = ref "list"
let option_fifconversion = ref true
diff --git a/driver/Driver.ml b/driver/Driver.ml
index 3af1a937..70a3739b 100644
--- a/driver/Driver.ml
+++ b/driver/Driver.ml
@@ -202,6 +202,8 @@ Processing options:
-fduplicate Perform tail duplication to form superblocks on predicted traces
-finvertcond Invert conditions based on predicted paths (to prefer fallthrough).
Requires -fduplicate to be also activated [on]
+ -ftracelinearize Linearizes based on the traces identified by duplicate phase
+ It is recommended to also activate -fduplicate with this pass [off]
-fforward-moves Forward moves after CSE
-finline Perform inlining of functions [on]
-finline-functions-called-once Integrate functions only required by their
@@ -389,6 +391,7 @@ let cmdline_actions =
@ f_opt "postpass" option_fpostpass
@ f_opt "duplicate" option_fduplicate
@ f_opt "invertcond" option_finvertcond
+ @ f_opt "tracelinearize" option_ftracelinearize
@ f_opt_str "postpass" option_fpostpass option_fpostpass_sched
@ f_opt "inline" option_finline
@ f_opt "inline-functions-called-once" option_finline_functions_called_once