diff options
Diffstat (limited to 'driver')
-rw-r--r-- | driver/Clflags.ml | 1 | ||||
-rw-r--r-- | driver/Compopts.v | 3 | ||||
-rw-r--r-- | driver/Driver.ml | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/driver/Clflags.ml b/driver/Clflags.ml index 610d807d..7104c32d 100644 --- a/driver/Clflags.ml +++ b/driver/Clflags.ml @@ -28,6 +28,7 @@ let option_falignfunctions = ref (None: int option) let option_falignbranchtargets = ref 0 let option_faligncondbranchs = ref 0 let option_finline_asm = ref false +let option_fthumb = ref false let option_Osize = ref false let option_dparse = ref false let option_dcmedium = ref false diff --git a/driver/Compopts.v b/driver/Compopts.v index 205f768a..01109f52 100644 --- a/driver/Compopts.v +++ b/driver/Compopts.v @@ -30,4 +30,5 @@ Parameter va_strict: unit -> bool. (** Flag -ftailcalls. For tail call optimization. *) Parameter eliminate_tailcalls: unit -> bool. - +(** Flag -fthumb. For the ARM back-end. *) +Parameter thumb: unit -> bool. diff --git a/driver/Driver.ml b/driver/Driver.ml index 88871f77..556a476b 100644 --- a/driver/Driver.ml +++ b/driver/Driver.ml @@ -429,6 +429,7 @@ Code generation options: (use -fno-<opt> to turn off -f<opt>) : -O Optimize for speed [on by default] -Os Optimize for code size -ffpu Use FP registers for some integer operations [on] + -fthumb (ARM only) Use Thumb2 instruction encoding -fsmall-data <n> Set maximal size <n> for allocation in small data area -fsmall-const <n> Set maximal size <n> for allocation in small constant area -ffloat-const-prop <n> Control constant propagation of floats @@ -552,6 +553,7 @@ let cmdline_actions = @ f_opt "inline-asm" option_finline_asm @ f_opt "fpu" option_ffpu @ f_opt "sse" option_ffpu (* backward compatibility *) + @ f_opt "thumb" option_fthumb let _ = Gc.set { (Gc.get()) with |