problem inserting new function to cgraph
Chassin
chassin@ceis.cujae.edu.cu
Wed Jan 30 17:07:00 GMT 2013
Hi Martin
/> It seems to me however that PLUGIN_ALL_IPA_PASSES_END runs prior to
> trnsformation phase of IPA passes (the name is rather unclear in this
> regard)...//
/
If i am not wrong the PLUGIN_ALL_IPA_PASSES_START ( execution ) is hooked in the begging of
all_smole_ipa_passes , before ALL_SIMPLE_IPA_PASSES and the PLUGIN_ALL_IPA_PASSES_END is
just after ALL_LTO_SMOLLE_PASSES , at this stage the process of gimplification is done ( in all_lowering_passes ) and the last
is executed before all_smole_ipa_passes ( do am i right ? ) ,
in the gcc internals documentation they saied
"The inter-procedural optimization is organized as a sequence of individual passes, which
operate on the callgraph and the varpool"
i managed to output the gimple representation in ( PLUGIN_ALL_IPA_PASSES_END ) and the call graph representation too
f_3 ()
{
# BLOCK 2
# PRED: ENTRY (fallthru)
gimple_call <__builtin_puts, NULL, &"Printing from F_3"[0]>
gimple_return <NULL>
# SUCC: EXIT
}
f_3/3(3) @0x7fc84e173000 (asm: f_3) availability:available analyzed 14 time, 12 benefit 6 size, 4 benefit needed reachable body externally_visible finalized
called by:
calls: __builtin_puts/4 (1.00 per call)
References:
Refering this function:
i am confused now !!! i did't think before about what you pointed ( i guess my understanding of the GCC pipe line is wrong ) but its really logic what you pointed
sense the cgraph creation is done in the call cgraph_finalize_function .
> On a related note, I see there are no
> PLUGIN_ALL_LATE_IPA_PASSES_{START,END} events, even though they might
> be quite useful.
the available events in plugin.def are the remarkable ones but you can hook to any stage in the compilation process by linking the plugin
to PLUGIN_PASS_MANAGER_SETUP ,GCC plugin capability provide a flexible mechanism to set any additional pass in any location
i encourage you to take a look at the plugin section in the gcc internal .
i will try to use cgraph_function_versioning for now , thanks for your feed back
--
Chaddy Huussin Vazquez , Chassin@ceis.cujae.edu.cu
Superior Polytechnic Institute 'Jose Antonio Echeverr?a'
Informatics Engineering Faculty
48 Aniversario del Instituto Superior Politecnico Jose Antonio Echeverria, Cujae
Una obra de la Revolucion Cubana | 2 de diciembre de 1964 | http://cujae.edu.cu
Consulte la enciclopedia colaborativa cubana. http://www.ecured.cu
More information about the Gcc
mailing list