diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-02-19 09:55:45 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-02-19 09:55:45 +0000 |
commit | 3ec022950ec233a2af418aacd1755fce4d701724 (patch) | |
tree | 154256c5c73fda06e874fb05695e14e610ba8ad4 /driver/Compopts.v | |
parent | 9aeba45962e8ba5cde5d81fb701a4c9a3963f4a5 (diff) | |
download | compcert-3ec022950ec233a2af418aacd1755fce4d701724.tar.gz compcert-3ec022950ec233a2af418aacd1755fce4d701724.zip |
Add option -Os to optimize for code size rather than for execution speed.
Refactored compilation flags that affect the Coq part (module Compopts).
Added support for C99 for loops with declarations.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2410 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'driver/Compopts.v')
-rw-r--r-- | driver/Compopts.v | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/driver/Compopts.v b/driver/Compopts.v new file mode 100644 index 00000000..205f768a --- /dev/null +++ b/driver/Compopts.v @@ -0,0 +1,33 @@ +(* *********************************************************************) +(* *) +(* The Compcert verified compiler *) +(* *) +(* Xavier Leroy, INRIA Paris-Rocquencourt *) +(* *) +(* Copyright Institut National de Recherche en Informatique et en *) +(* Automatique. All rights reserved. This file is distributed *) +(* under the terms of the INRIA Non-Commercial License Agreement. *) +(* *) +(* *********************************************************************) + +(** Compilation options *) + +(** This file collects Coq functions to query the command-line + options that influence the code generated by the verified + part of CompCert. These functions are mapped by extraction + to accessors for the flags in [Clflags.ml]. *) + +(** Flag [-Os]. For instruction selection (mainly). *) +Parameter optim_for_size: unit -> bool. + +(** Flag [-ffloat-const-prop]. For value analysis and constant propagation. *) +Parameter propagate_float_constants: unit -> bool. +Parameter generate_float_constants: unit -> bool. + +(** For value analysis. Currently always false. *) +Parameter va_strict: unit -> bool. + +(** Flag -ftailcalls. For tail call optimization. *) +Parameter eliminate_tailcalls: unit -> bool. + + |