From 99cb8f909ad25bcfa674216f5140b6cf1e72aeca Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 15 Jul 2014 11:52:26 +0000 Subject: [PATCH] Disable CSE. This disables the common subexpression elimination (CSE) optimization. This is broken on aarch64: http://caml.inria.fr/mantis/view.php?id=6486 --- asmcomp/CSEgen.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/asmcomp/CSEgen.ml b/asmcomp/CSEgen.ml index 19019e1..260e4fa 100644 --- a/asmcomp/CSEgen.ml +++ b/asmcomp/CSEgen.ml @@ -180,7 +180,8 @@ method private keep_checkbounds n = (* Perform CSE on the given instruction [i] and its successors. [n] is the value numbering current at the beginning of [i]. *) -method private cse n i = +method private cse n i = i +(* match i.desc with | Iend | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) | Iexit _ | Iraise _ -> @@ -262,6 +263,7 @@ method private cse n i = {i with desc = Itrywith(self#cse n body, self#cse empty_numbering handler); next = self#cse empty_numbering i.next} +*) method fundecl f = {f with fun_body = self#cse empty_numbering f.fun_body} -- 2.0.1