aboutsummaryrefslogtreecommitdiffstats
path: root/driver/Compopts.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-02-19 09:55:45 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2014-02-19 09:55:45 +0000
commit3ec022950ec233a2af418aacd1755fce4d701724 (patch)
tree154256c5c73fda06e874fb05695e14e610ba8ad4 /driver/Compopts.v
parent9aeba45962e8ba5cde5d81fb701a4c9a3963f4a5 (diff)
downloadcompcert-kvx-3ec022950ec233a2af418aacd1755fce4d701724.tar.gz
compcert-kvx-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.v33
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.
+
+