diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-07-27 07:35:49 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-07-27 07:35:49 +0000 |
commit | f4e106d4fc1cce484678b5cdd86ab57d7a43076a (patch) | |
tree | 3de9bddc63b80fb1b695bbdb8fa5bd6aa893a13a /driver | |
parent | 04ff02a9f4bc4f766a450e5463729102ee26882e (diff) |
ARM port: add support for Thumb2. To be tested.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2549 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
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 610d807..7104c32 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 205f768..01109f5 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 88871f7..556a476 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 |