The compiler can generate reports for an optimizer you specify in the phase argument of the -opt_report_phasephase option. The option can be used multiple times on the same command line to generate reports for multiple optimizers. Currently, the following optimizer reports are supported.
Optimizer Logical Name |
Optimizer Full Name |
---|---|
ipo | Interprocedural Optimizer |
hlo | High Level Optimizer |
ilo | Intermediate Language Scalar Optimizer |
ecg | Code Generator |
omp | Open MP |
all | All phases |
When one of the above logical names for optimizers is specified, all reports from that optimizer are generated.
For example, -opt_report_phaseipo -opt_report_phaseecg generates reports from the interprocedural optimizer and the code generator.
Each of the optimizers can potentially have specific optimizations within them. Each of these optimizations are prefixed with one of the optimizer logical names. For example:
Optimizer_optimization | Full Name |
---|---|
ipo_inline | Interprocedural Optimizer, inline expansion of functions |
ipo_constant_propagation | Interprocedural Optimizer, constant propagation |
ipo_function_reorder | Interprocedural Optimizer, function reorder |
ilo_constant_propagation | Intermediate Language Scalar Optimizer, constant propagation |
ilo_copy_propagation | Intermediate Language Scalar Optimizer, copy propagation |
ecg_software_pipelining | Code Generator, software pipelining |
All optimization reports that have a matching prefix with the specified optimizer are generated. For example, if -opt_report_phase ilo_co is specified, a report from both the constant propagation and the copy propagation are generated.
The -opt_report_help option lists the logical names of optimizers available for report generation.