Does multi-file IPO really work in the context of visual studio? I'm trying to utilize inlining across multiple files within a static library, but cannot make it work. I have enabled -qopt-report=3 and the INLINING REPORT always lists -> mysubroutine(EXTERN) for every subroutine/function call, including all the subroutines within the project.
If I move one of the subroutines into the same file as a calling subroutine, then it does inline with significant performance benefit. That's not a viable solution for me, but it does prove that inlining is worth pursuing.
How do I make this work across files?
If I move one of the subroutines into the same file as a calling subroutine, then it does inline with significant performance benefit. That's not a viable solution for me, but it does prove that inlining is worth pursuing.
How do I make this work across files?
链接已复制
3 回复数
Is it possible then to link with an Intel compiler with a main project that is VC? I have lots of Intel Fortran projects that I want to use Qipo with, and several MS C projects that I don't care if they have optimizations or not (including my main).
I do have Intel C++ XE too, but I have not converted my C++ projects over yet. Would this be easier if I made the switch, and what extra steps are necessary to pass Qipo to the linker?
Thanks for the help.
I do have Intel C++ XE too, but I have not converted my C++ projects over yet. Would this be easier if I made the switch, and what extra steps are necessary to pass Qipo to the linker?
Thanks for the help.
It is possible, but a bit more complicated. Fundamentally, you need to run either ifort or xilink to do the linking. Yes, it would be much simpler if you switched the C++ project to using Intel C++ - then you would just enable /Qipo for both projects and it should work automatically. This is done under C++ > Optimization [Intel C++].
