aboutsummaryrefslogtreecommitdiffstats
path: root/driver/Clflags.ml
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2015-03-14 10:31:02 +0100
committerXavier Leroy <xavier.leroy@inria.fr>2015-03-14 10:31:02 +0100
commit67e8b783c7e794d995675a332f118533e6a9b14a (patch)
treed9e86638612cacd929580f280e71a070f1f71a00 /driver/Clflags.ml
parent6f3ac9e1cef476ef0c5eaf7875af24543f66128a (diff)
downloadcompcert-67e8b783c7e794d995675a332f118533e6a9b14a.tar.gz
compcert-67e8b783c7e794d995675a332f118533e6a9b14a.zip
Improve performance and configurability for the StructReturn pass.
configure: special ABI value for IA32/MacOSX and PowerPC/Linux cparser/Machine: special config for PowerPC/Linux cparser/StructReturn: generate better code for return-as-int driver/Clflags, driver/Driver: add options -fstruct-return=<convention> and -fstruct-passing=<convention> to simplify testing
Diffstat (limited to 'driver/Clflags.ml')
-rw-r--r--driver/Clflags.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml
index ead27b36..c90ff1a9 100644
--- a/driver/Clflags.ml
+++ b/driver/Clflags.ml
@@ -17,6 +17,8 @@ let linker_options = ref ([]: string list)
let assembler_options = ref ([]: string list)
let option_flongdouble = ref false
let option_fstruct_return = ref false
+let option_fstruct_return_style = ref (None: int option)
+let option_fstruct_passing_style = ref (None: Machine.struct_passing_style option)
let option_fbitfields = ref false
let option_fvararg_calls = ref true
let option_funprototyped = ref true