diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2015-03-14 10:31:02 +0100 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2015-03-14 10:31:02 +0100 |
commit | 67e8b783c7e794d995675a332f118533e6a9b14a (patch) | |
tree | d9e86638612cacd929580f280e71a070f1f71a00 /driver/Clflags.ml | |
parent | 6f3ac9e1cef476ef0c5eaf7875af24543f66128a (diff) | |
download | compcert-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.ml | 2 |
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 |