I started to optimize my code speed. I want to inline some very simple PURE subroutine "LengthOfVector" to the caller routine.
-----------------------------------------------------------------------------------------------------------
I set "Interprocedural optimization" to "Multi-file /Qipo" in two relevant source files because subrotine I want to inline is in different source file. In the linker I set "Interprocedural optimization" to "Yes". When I tried to rebuild my solution (consisting of about 600 source files) linker shows following error:
1>ipo: warning #11021: unresolved _GAINPUT
1> Referenced in D:\EOD\obj\Win32\Release/InitGa.obj
1>ipo: warning #11021: unresolved _INITIAL
1> Referenced in D:\EOD\obj\Win32\Release/InitGa.obj
1>ipo: warning #11021: unresolved _GAFORTRAN
1> Referenced in D:\EOD\obj\Win32\Release/InitGa.obj
1>ipo: error #11023: Not all components required for linking are present on command line
warning #1102 occurs in source file which have not set IPO (When the IPO is disabled in linker, program is compiled without any warning.)
------------------------------------------------------------------------
When the "single-file" IPO is set for compiler in two relevant source files, program is compiled without any warning (but without inlining).
When I move code of subroutine to the source file where it should be inlined, it is inlined when using "single-file" IPO (even if IPO is disabled in linker)
----------------------------------------------------------------------
When I tried to compile all source files with "multi-file" IPO, I obtained following errors:
1>ipo: error #11023: Not all components required for linking are present on command line
1>** The compiler has encountered an unexpected problem.
1>** Segmentation violation signal raised. **
1>Access violation or stack overflow. Please contact Intel Support for assistance.
1>Severe: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error.
1>Link: error #10014: problem during multi-file optimization compilation (code 3)
1>Link: error #10014: problem during multi-file optimization compilation (code 3)
--------------------------------------------------------------------
I am using Intel(R) Visual Fortran Compiler XE 15.0.0.108 [IA-32]
My questions are:
1. Is it possible to perform multi-file IPO on only selected source files in solution or whole solution must be compiled with multi-file IPO?
2. What is the meaning of: error #11023: Not all components required for linking are present on command line?