manpage/init: -fsplit-vector-parameters description

This commit is contained in:
Wolfgang Bumiller 2014-10-18 14:39:14 +02:00
parent 8b25e95553
commit 624e6201e8
2 changed files with 15 additions and 0 deletions

View file

@ -615,6 +615,16 @@ Turn on arithmetic exception tests in the compiler. In constant expressions
which trigger exceptions like division by zero, overflow, underflow, etc,
the following flag will produce diagnostics for what triggered that
exception.
.It Fl f Ns Cm split-vector-parameters
With this flag immediate vector literals which only ever appear as function
parameters won't be stored as vector immediates. Instead, the 3 floats making
up the vector will be copied separately. Essentially this turns a vector-store
instruction into 3 float-store instructions for such cases. This increases
code size but can dramatically reduce the amount of vector globals, which is
after all limited to 64k. There's at least one known codebase where this
lowers the number of globals from over 80k down to around 3k. In other code
bases it doesn't reduce the globals at all but only increases code size.
Just try it and see whether it helps you.
.El
.Sh OPTIMIZATIONS
.Bl -tag -width Ds

View file

@ -341,6 +341,11 @@
#exception.
ARITHMETIC_EXCEPTIONS = false
#Split vector-literals which are only used dirctly as function parameters
#into 3 floats stored separately to reduce the number of globals at the
#expense of additional instructions.
SPLIT_VECTOR_PARAMETERS = false
[warnings]
#Generate a warning about variables which are declared but never
#used. This can be avoided by adding the noref keyword in front