aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--backend/CSE3analysis.v31
-rw-r--r--driver/Clflags.ml2
2 files changed, 12 insertions, 21 deletions
diff --git a/backend/CSE3analysis.v b/backend/CSE3analysis.v
index 56d325b9..cd7e3d84 100644
--- a/backend/CSE3analysis.v
+++ b/backend/CSE3analysis.v
@@ -309,12 +309,6 @@ Section OPERATIONS.
| Some eq_id => PSet.add eq_id (kill_reg dst rel)
| None => kill_reg dst rel
end.
-
- Definition is_trivial_sym_op sop :=
- match sop with
- | SOp op => is_trivial_op op
- | SLoad _ _ => false
- end.
Definition oper (dst : reg) (op: sym_op) (args : list reg)
(rel : RELATION.t) : RELATION.t :=
@@ -326,21 +320,18 @@ Section OPERATIONS.
| _ => kill_reg dst rel
end
else
- (* if is_trivial_sym_op op
- then kill_reg dst rel
- else *)
- let args' := forward_move_l rel args in
- match rhs_find op args' rel with
- | Some r =>
- if Compopts.optim_CSE3_glb tt
- then RELATION.glb (move r dst rel)
- (RELATION.glb (oper1 dst op args' rel)
- (oper1 dst op args rel))
- else RELATION.glb (oper1 dst op args' rel)
+ let args' := forward_move_l rel args in
+ match rhs_find op args' rel with
+ | Some r =>
+ if Compopts.optim_CSE3_glb tt
+ then RELATION.glb (move r dst rel)
+ (RELATION.glb (oper1 dst op args' rel)
+ (oper1 dst op args rel))
+ else RELATION.glb (oper1 dst op args' rel)
+ (oper1 dst op args rel)
+ | None => RELATION.glb (oper1 dst op args' rel)
(oper1 dst op args rel)
- | None => RELATION.glb (oper1 dst op args' rel)
- (oper1 dst op args rel)
- end.
+ end.
Definition clever_kill_store
(chunk : memory_chunk) (addr: addressing) (args : list reg)
diff --git a/driver/Clflags.ml b/driver/Clflags.ml
index a817b56a..e9b0dade 100644
--- a/driver/Clflags.ml
+++ b/driver/Clflags.ml
@@ -100,7 +100,7 @@ let option_div_i32 = ref "stsud"
let option_div_i64 = ref "stsud"
let option_fcoalesce_mem = ref true
let option_fforward_moves = ref false
-let option_fmove_loop_invariants = ref true
+let option_fmove_loop_invariants = ref false
let option_fnontrap_loads = ref true
let option_all_loads_nontrap = ref false
let option_inline_auto_threshold = ref 0