From eb35c3000530e379dcd79e82f001a400be8b28e9 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Tue, 2 Mar 2021 20:27:34 +0100 Subject: Adding a flag to test fp_init_exp --- driver/Clflags.ml | 1 + driver/Driver.ml | 1 + 2 files changed, 2 insertions(+) (limited to 'driver') diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 4cff3f28..8d85e93a 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -106,6 +106,7 @@ let option_div_i32 = ref "stsud" let option_div_i64 = ref "stsud" let option_fcoalesce_mem = ref true let option_fexpanse_rtlcond = ref true +let option_fexpanse_fpconst = ref true let option_fforward_moves = ref false let option_fmove_loop_invariants = ref false let option_fnontrap_loads = ref true diff --git a/driver/Driver.ml b/driver/Driver.ml index 0c5d9cb4..9750981e 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -445,6 +445,7 @@ let cmdline_actions = @ f_opt "nontrap-loads" option_fnontrap_loads @ f_opt "coalesce-mem" option_fcoalesce_mem @ f_opt "expanse-rtlcond" option_fexpanse_rtlcond + @ f_opt "expanse-fpconst" option_fexpanse_fpconst @ f_opt "all-loads-nontrap" option_all_loads_nontrap @ f_opt "forward-moves" option_fforward_moves (* Code generation options *) -- cgit From 63ddeebc8b5a4e8fe1748cf859085c683aefe404 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Fri, 26 Mar 2021 12:52:26 +0100 Subject: Compiler options to manage expansions --- driver/Clflags.ml | 2 +- driver/Driver.ml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'driver') diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 8d85e93a..ed036f87 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -106,7 +106,7 @@ let option_div_i32 = ref "stsud" let option_div_i64 = ref "stsud" let option_fcoalesce_mem = ref true let option_fexpanse_rtlcond = ref true -let option_fexpanse_fpconst = ref true +let option_fexpanse_others = ref true let option_fforward_moves = ref false let option_fmove_loop_invariants = ref false let option_fnontrap_loads = ref true diff --git a/driver/Driver.ml b/driver/Driver.ml index 9750981e..7192ba4b 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -445,7 +445,7 @@ let cmdline_actions = @ f_opt "nontrap-loads" option_fnontrap_loads @ f_opt "coalesce-mem" option_fcoalesce_mem @ f_opt "expanse-rtlcond" option_fexpanse_rtlcond - @ f_opt "expanse-fpconst" option_fexpanse_fpconst + @ f_opt "expanse-others" option_fexpanse_others @ f_opt "all-loads-nontrap" option_all_loads_nontrap @ f_opt "forward-moves" option_fforward_moves (* Code generation options *) -- cgit From b0252257587f375408c4521dab1ca1396e96ab79 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Fri, 9 Apr 2021 15:19:27 +0200 Subject: Remove flags --- driver/Clflags.ml | 2 -- driver/Driver.ml | 2 -- 2 files changed, 4 deletions(-) (limited to 'driver') diff --git a/driver/Clflags.ml b/driver/Clflags.ml index ed036f87..9b7b5c4d 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -105,8 +105,6 @@ let option_fmadd = ref true let option_div_i32 = ref "stsud" let option_div_i64 = ref "stsud" let option_fcoalesce_mem = ref true -let option_fexpanse_rtlcond = ref true -let option_fexpanse_others = ref true let option_fforward_moves = ref false let option_fmove_loop_invariants = ref false let option_fnontrap_loads = ref true diff --git a/driver/Driver.ml b/driver/Driver.ml index 7192ba4b..c9eacadc 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -444,8 +444,6 @@ let cmdline_actions = @ f_opt "madd" option_fmadd @ f_opt "nontrap-loads" option_fnontrap_loads @ f_opt "coalesce-mem" option_fcoalesce_mem - @ f_opt "expanse-rtlcond" option_fexpanse_rtlcond - @ f_opt "expanse-others" option_fexpanse_others @ f_opt "all-loads-nontrap" option_all_loads_nontrap @ f_opt "forward-moves" option_fforward_moves (* Code generation options *) -- cgit From d53cc13b6e47843ebaf4b23c8b03dcef34f331f1 Mon Sep 17 00:00:00 2001 From: Cyril SIX Date: Tue, 13 Apr 2021 15:04:34 +0200 Subject: Adding distinction between kvx-cos and kvx-mbr (for trapping loads) --- driver/Configuration.ml | 1 + driver/Configuration.mli | 3 +++ driver/Frontend.ml | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'driver') diff --git a/driver/Configuration.ml b/driver/Configuration.ml index 1d40214a..ecc2aba6 100644 --- a/driver/Configuration.ml +++ b/driver/Configuration.ml @@ -126,6 +126,7 @@ let arch = | "powerpc"|"arm"|"x86"|"riscV"|"kvx"|"aarch64" as a -> a | v -> bad_config "arch" [v] let model = get_config_string "model" +let os = get_config_string "os" let abi = get_config_string "abi" let is_big_endian = match get_config_string "endianness" with diff --git a/driver/Configuration.mli b/driver/Configuration.mli index a71da72d..75e547ff 100644 --- a/driver/Configuration.mli +++ b/driver/Configuration.mli @@ -19,6 +19,9 @@ val model: string val abi: string (** ABI to use *) +val os: string + (** ABI to use *) + val is_big_endian: bool (** Endianness to use *) diff --git a/driver/Frontend.ml b/driver/Frontend.ml index c99da945..c8890046 100644 --- a/driver/Frontend.ml +++ b/driver/Frontend.ml @@ -117,7 +117,10 @@ let init () = | "riscV" -> if Configuration.model = "64" then Machine.rv64 else Machine.rv32 - | "kvx" -> Machine.kvx + | "kvx" -> if Configuration.os = "cos" then Machine.kvxcos + else if Configuration.os = "mbr" then Machine.kvxmbr + else (Printf.eprintf "Configuration OS = %s\n" Configuration.os; + failwith "Wrong OS configuration for KVX") | "aarch64" -> Machine.aarch64 | _ -> assert false end; -- cgit From be8d929aef8e86c2e22e32c525093c6bfe56a300 Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Wed, 19 May 2021 18:17:31 +0200 Subject: Adding both RV expansion methods in kvx-work --- driver/Clflags.ml | 2 ++ driver/Driver.ml | 2 ++ 2 files changed, 4 insertions(+) (limited to 'driver') diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 9b7b5c4d..fa17c2d9 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -105,6 +105,8 @@ let option_fmadd = ref true let option_div_i32 = ref "stsud" let option_div_i64 = ref "stsud" let option_fcoalesce_mem = ref true +let option_fexpanse_rtlcond = ref false +let option_fexpanse_others = ref false let option_fforward_moves = ref false let option_fmove_loop_invariants = ref false let option_fnontrap_loads = ref true diff --git a/driver/Driver.ml b/driver/Driver.ml index c9eacadc..7192ba4b 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -444,6 +444,8 @@ let cmdline_actions = @ f_opt "madd" option_fmadd @ f_opt "nontrap-loads" option_fnontrap_loads @ f_opt "coalesce-mem" option_fcoalesce_mem + @ f_opt "expanse-rtlcond" option_fexpanse_rtlcond + @ f_opt "expanse-others" option_fexpanse_others @ f_opt "all-loads-nontrap" option_all_loads_nontrap @ f_opt "forward-moves" option_fforward_moves (* Code generation options *) -- cgit