aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Duplicateaux.ml
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2020-03-17 15:12:06 +0100
committerCyril SIX <cyril.six@kalray.eu>2020-03-17 15:12:06 +0100
commitfb43d1078c0b0824132b30d7dd9bfe6b0ac47122 (patch)
treeb51287fed668d9fd06ab98f19dfe454d4c6a27b4 /backend/Duplicateaux.ml
parentaa2e3d776cb82ce01c4afdbacc52951e60ff2104 (diff)
downloadcompcert-kvx-fb43d1078c0b0824132b30d7dd9bfe6b0ac47122.tar.gz
compcert-kvx-fb43d1078c0b0824132b30d7dd9bfe6b0ac47122.zip
Desactivating branch predictions by default
Diffstat (limited to 'backend/Duplicateaux.ml')
-rw-r--r--backend/Duplicateaux.ml18
1 files changed, 11 insertions, 7 deletions
diff --git a/backend/Duplicateaux.ml b/backend/Duplicateaux.ml
index 209527b9..a84f9754 100644
--- a/backend/Duplicateaux.ml
+++ b/backend/Duplicateaux.ml
@@ -502,11 +502,15 @@ let rec invert_iconds code = function
let duplicate_aux f =
let entrypoint = f.fn_entrypoint in
let code = f.fn_code in
- let traces = select_traces (to_ttl_code code entrypoint) entrypoint in
- let icond_code = invert_iconds code traces in
- let preds = get_predecessors_rtl icond_code in
- if !Clflags.option_fduplicate >= 1 then
- let (new_code, pTreeId) = ((* print_traces traces; *) superblockify_traces icond_code preds traces) in
- ((new_code, f.fn_entrypoint), pTreeId)
+ if !Clflags.option_fduplicate < 0 then
+ ((code, entrypoint), make_identity_ptree code)
else
- ((icond_code, entrypoint), make_identity_ptree code)
+ let traces = select_traces (to_ttl_code code entrypoint) entrypoint in
+ let icond_code = invert_iconds code traces in
+ let preds = get_predecessors_rtl icond_code in
+ if !Clflags.option_fduplicate >= 1 then
+ let (new_code, pTreeId) = ((* print_traces traces; *) superblockify_traces icond_code preds traces) in
+ ((new_code, f.fn_entrypoint), pTreeId)
+ else
+ ((icond_code, entrypoint), make_identity_ptree code)
+