-fdevirtualize
Attempt to convert calls to virtual functions to direct calls. This is done both within a procedure and interprocedurally as part of indirect inlining (‘-findirect-inlining’) and interprocedural constant propagation (‘-fipa-cp’). Enabled at levels ‘-O2’, ‘-O3’, ‘-Os’.
-fdevirtualize-speculatively
Attempt to convert calls to virtual functions to speculative direct calls. Based on the analysis of the type inheritance graph, determine for a given call the set of likely targets. If the set is small, preferably of size 1, change the call into a conditional deciding between direct and indirect calls. The speculative calls enable more optimizations, such as inlining. When they seem useless after further optimization, they are converted back into original form.
-fdevirtualize-at-ltrans
Stream extra information needed for aggressive devirtualization when running the link-time optimizer in local transformation mode. This option enables more devir