- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm using the IDE (it's a requirement), but the build log is attached (zipped as forum doesn't allow uploading html?!). Is there some flag conflict here? I'm essentially just adding /Qipo to the command-line arguments.
Note the eventual goal is a mixed F95/C DLL, but I'm unable to get IPO to work even with a simple "hello world" DLL.
Thanks,
Matt
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From the link output, IPO is done.
ipo: remark #11000: performing multi-file optimizations
ipo: remark #11005: generating object file ipo_25366obj.obj
Besides adding /Qipo to the additional compile options, you can turn it on under the Project property->General->Whole Program Optimization, select "Link time optimization".
See if this makes any difference.
If it does, there's a bug somewhere.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Properties->General->"Whole Program Optimization"->"Use link time code generation"
the only thing that changes is I get a warning from the Microsoft Linker (after xilink is done) to remove /LTCG as it is unnecessary.
Yes, it does seem that IPO is running in some fashion, but the optimization report does not show any significant optimizations occurring. Is this a bug in the optimization report, or in IPO itself?
Thanks,
Matt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The warning is ok because our linker xilink doesn't understand /LTCG.
So the problem is between /Qipo and no /Qipo. What do you get without /Qipo? Could you upload the buildlog?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
With IPO I would also expect inline messages as there are some very small functions called only once, but from different source files (this actually already happens even without IPO).
I could upload the entire sample project if you wish.
- Matt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
With the "Release" configuration (uses IPO) opt-report shows almost no optimizations. Using the "Release-noipo" configuration one sees vectorization (adding /Qopt-report:2 /Qopt-report-phase:all will show much more).
Perhaps this is a bug with opt-report, and not IPO per se. Although even the default vectorization messages no longer appear.
Thanks,
- Matt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the test case.
It's a bug in the xilink. I'll create a bug report. if you know how to access Premier Support, please report with this testcase as well.
I found a work-around. Using /QxT instead of /QaxT. Also it's fixed in the next release.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So what specifically is happening? Is only vectorization being skipped, with the other optimizations just not being reported via opt-report? IPO does improve performance for me somewhat.
/QxT does produce vectorization, but I still don't get any report of inlining or other optimizations with /Qopt-report:2 /Qopt-report-phase:all (except for unref var removal and pack-merge). I also cannot use that for my shipping code as we must support multiple processors.
This will be fixed in the next point release, or version 11? Approximately when?
Thank you,
Matt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This issue has been fixed in the 11.0 compiler. The latest pkg is 11.0.074.
Jennifer
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page