diff options
author | bje <bje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-27 21:02:16 +0000 |
---|---|---|
committer | bje <bje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-27 21:02:16 +0000 |
commit | 152a1c0a111d58a56bf2c949571b1b1f1c9b3a92 (patch) | |
tree | 13fd3cfcb73f6650e4dab5d9115c569183d1183a /gcc/params.def | |
parent | 695fe0b95a75289c2bef47032d3ebcd3e303a75e (diff) | |
download | gcc-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.def | 19 |
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 |