summaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorbje <bje@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-27 21:02:16 +0000
committerbje <bje@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-27 21:02:16 +0000
commit152a1c0a111d58a56bf2c949571b1b1f1c9b3a92 (patch)
tree13fd3cfcb73f6650e4dab5d9115c569183d1183a /gcc/params.def
parent695fe0b95a75289c2bef47032d3ebcd3e303a75e (diff)
downloadgcc-152a1c0a111d58a56bf2c949571b1b1f1c9b3a92.tar.gz
* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
(PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise. * params.h (SRA_MAX_STRUCTURE_SIZE): New. (SRA_FIELD_STRUCTURE_RATIO): Likewise. * tree-sra.c: Include "params.h". (decide_block_copy): Use new parameters. * doc/invoke.texi (Optimize Options): Document new SRA pass parameters sra-max-structure-size and sra-field-structure-ratio. [testsuite] * gcc.dg/tree-ssa/sra-1.c: Pass --param sra-max-structure-size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89711 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def
index 79c55bcd2c1..5bde4a16c77 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -35,6 +35,25 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
Be sure to add an entry to invoke.texi summarizing the parameter. */
+/* The maximum structure size at which the scalar replacement of
+ aggregates (SRA) pass will perform block copies. The default
+ value, 0, implies that GCC will select the most appropriate size
+ itself. */
+DEFPARAM (PARAM_SRA_MAX_STRUCTURE_SIZE,
+ "sra-max-structure-size",
+ "The maximum structure size (in bytes) at which GCC will do block copies.",
+ 0)
+
+/* The ratio between instantiated fields and the complete structure
+ size. We say that if the ratio of the number of bytes in
+ instantiated fields to the number of bytes in the complete
+ structure exceeds this parameter, then block copies are not used.
+ The default is 75%. */
+DEFPARAM (PARAM_SRA_FIELD_STRUCTURE_RATIO,
+ "sra-field-structure-ratio",
+ "The threshold ratio between instantiated fields and the total structure size.",
+ 75)
+
/* The single function inlining limit. This is the maximum size
of a function counted in internal gcc instructions (not in
real machine instructions) that is eligible for inlining