diff options
Diffstat (limited to 'driver/Clflags.ml')
-rw-r--r-- | driver/Clflags.ml | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 80883372..4cff3f28 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -15,7 +15,7 @@ let prepro_options = ref ([]: string list) let linker_options = ref ([]: string list) let assembler_options = ref ([]: string list) -let option_flongdouble = ref false +let option_flongdouble = ref (Configuration.arch = "kvx") let option_fstruct_passing = ref false let option_fbitfields = ref false let option_fvararg_calls = ref true @@ -26,7 +26,36 @@ let option_ffloatconstprop = ref 2 let option_ftailcalls = ref true let option_fconstprop = ref true let option_fcse = ref true +let option_fcse2 = ref false + +let option_fcse3 = ref true +let option_fcse3_alias_analysis = ref true +let option_fcse3_across_calls = ref false +let option_fcse3_across_merges = ref true +let option_fcse3_glb = ref true +let option_fcse3_trivial_ops = ref false +let option_fcse3_refine = ref true +let option_fcse3_conditions = ref true + let option_fredundancy = ref true + +(** Options relative to superblock scheduling *) +let option_fpredict = ref true (* insert static branch prediction information, and swaps ifso/ifnot branches accordingly *) +let option_ftailduplicate = ref 0 (* perform tail duplication for blocks of size n *) +let option_ftracelinearize = ref true (* uses branch prediction information to improve the linearization *) +let option_funrollsingle = ref 0 (* unroll a single iteration of innermost loops of size n *) +let option_funrollbody = ref 0 (* unroll the body of innermost loops of size n *) +let option_flooprotate = ref 0 (* rotate the innermost loops to have the condition inside the loop body *) + +(* Scheduling *) +let option_mtune = ref "" + +let option_fprepass = ref true +let option_fprepass_sched = ref "list" + +let option_fpostpass = ref true +let option_fpostpass_sched = ref "list" + let option_fifconversion = ref true let option_Obranchless = ref false let option_falignfunctions = ref (None: int option) @@ -67,4 +96,22 @@ let option_small_const = ref (!option_small_data) let option_timings = ref false let stdlib_path = ref Configuration.stdlib_path let use_standard_headers = ref Configuration.has_standard_headers + +let option_fglobaladdrtmp = ref false +let option_fglobaladdroffset = ref false +let option_fxsaddr = ref true +let option_faddx = ref false +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_fforward_moves = ref false +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 +let option_profile_arcs = ref false +let option_fbranch_probabilities = ref true +let option_debug_compcert = ref 0 let main_function_name = ref "main" |