Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7953 Discussions

Is -opt-report[n] optimisation reporting working with ICC12.0?

dehvidc1
Beginner
273 Views
If I use -opt-reportx where x is one of 0,1,2 or 3 compilation is suppressed but no report output. This is with O1 and O2 optimisation.

If I use -opt-report-phase=all or -opt-report-phase=hlo I get reporting on optimisation and object files generated.

If I try -opt-report-phase=hlo with -opt-reportx I get the same reporting on optimisation but no object file generated

regards

David
0 Kudos
1 Solution
TimP
Honored Contributor III
273 Views
I wonder if you're running into the situation where the compiler doesn't recognize your -opt-report because of a minor spelling mismatch, and so creates an output file named something like pt-reportx.

View solution in original post

0 Kudos
4 Replies
Om_S_Intel
Employee
273 Views
Yes. In the latest compiler you need to enable vector diagnostic using -diag-enable:vec. By default this is off.
0 Kudos
dehvidc1
Beginner
273 Views
Thanks for the reply, Om. But I don't think that deals with the situation I'm seeing.

opt-report is not generating any optimisation reporting on Linux with ICC 12.0. It is doing something as object files are not being generated when the opt-report switch is used.

I can generate optimisation output with opt-report-phase. I can generate for various phases such as hlo, hpo. But I can't control how much output I get for each phase.

I can also use the vec-reportx switch to generate vectorisation specific reporting. The level of vectorisation output is controllable by varying x.

I have an anomalous situation where optimisation switches that generated much faster code on MS7 with ICC11.x are not having a positive impact on Linux with ICC12.0. I was hoping to use the opt-report switch to identify what is or isn't happening. Wading through the output from opt-report-phase is a lengthy process.

I need to make recommendations to management on the production build environment. All I can say at the moment is that ICCO2 works better than the version of gcc currently being used in production. Be nice to have some other ICC switches providing a benefit

Thanks

David

0 Kudos
TimP
Honored Contributor III
274 Views
I wonder if you're running into the situation where the compiler doesn't recognize your -opt-report because of a minor spelling mismatch, and so creates an output file named something like pt-reportx.
0 Kudos
dehvidc1
Beginner
273 Views
Thanks, Tim. The compiler manual says that you need to have a space between the -opt-report and the n on Linux. Don't need the space on Windows. So as you correctly inferred it was generating obj files called pt-reportx ie reading it as -o etc

My bad.

A bit of less than super computing on my part

David

0 Kudos
Reply