General Guidelines
Using Interprocedural Optimization
To obtain the best performance, the optimizer often requires information
that can only be determined by looking outside the function that it is
working on. For example, it helps to know what data can be referenced by
pointer parameters, or whether a variable actually has a constant value.
The
compiler switch
-ipa
(IPA), which can make this available. When this switch is used the com-
piler will be called again from the link phase to recompile the program
using additional information obtained during previous compilations.
Because it only operates at link time, the effects of IPA will not be seen if
you compile with the
when IPA is enabled, use the
at the
file produced after your program has been built.
.s
As an alternative to IPA, you can achieve many of the same benefits by
adding pragma directives and other declarations such as
__builtin_aligned
each function interacts with the rest of the program.
These directives are further described
Optimization" on page 2-25
2-6
(on page
1-30) enables interprocedural analysis
switch
(on page
-S
-save-temps
to provide information to the compiler about how
and
"Pragmas" on page
VisualDSP++ 3.5 C/C++ Compiler and Library Manual
1-43). To see the assembly file
switch
(on page
"Using Built-In Functions in Code
2-31.
for ADSP-219x DSPs
1-44), and look
Need help?
Do you have a question about the VISUALDSP++ 3.5 and is the answer not in the manual?
Questions and answers