Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
E77790.pdf
Скачиваний:
2
Добавлен:
16.05.2024
Размер:
1.29 Mб
Скачать

3.4 Options Reference

As another example, suppose that you build a shared library with two external calls, foo() and bar() inside two different source files, and bar() calls foo() inside its body. If there is a possibility that the function call foo() could be interposed at runtime, then compile neither

source file for foo() or bar() with -xipo=1 or -xipo=2. Otherwise, foo() could be inlined into bar(), which could cause incorrect results when compiled with -xipo.

3.4.137 –xipo_archive[={none|readonly|writeback}]

(SPARC) Allow crossfile optimization to include archive (.a) libraries. The value must be one of the following:

none

No processing of archive files is performed. The compiler does not apply cross-module

 

inlining or other cross-module optimizations to object files compiled using -xipo

 

and extracted from an archive library at link time. To do that, both -xipo and either -

 

xipo_archive=readonlyor -xipo_archive=writeback must be specified at link time.

 

 

readonly

The compiler optimizes object files passed to the linker with object files compiled with

 

-xipo that reside in the archive library (.a) before producing an executable.

 

The option -xipo_archive=readonly enables cross-module inlining and

 

interprocedural data flow analysis of object files in an archive library specified at link

 

time. However, it does not enable cross-module optimization of the archive library's

 

code except for code that has been inserted into other modules by cross module

 

inlining.

 

To apply cross-module optimization to code within an archive library, -

 

xipo_archive=writeback is required. Note that doing so modifies the contents of the

 

archive library from which the code was extracted.

 

 

writeback

The compiler optimizes object files passed to the linker with object files compiled with

 

-xipo that reside in the archive library (.a) before producing an executable. Any object

 

filed contained in the library that were optimized during the compilation are replaced

 

with their optimized version.

 

For parallel links that use a common set of archive libraries, each link should create its

 

own copy of archive libraries to be optimized before linking.

 

 

If you do not specify a setting for -xipo_archive, the compiler assumes -xipo_archive=none.

3.4.138 -xipo_build=[yes|no]

Building -xipo without -xipo_build involves two passes through the compiler—once when producing the object files, and then again later at link time when performing the cross file

132 Oracle Developer Studio 12.6: Fortran User's Guide • July 2017

Соседние файлы в предмете Информационные и сетевые технологии