Thank you for all the answers. Now I have another problem.

When I reach a function call during statement iteration, I want to go to
this function's code.

if (is_gimple_call(stmt)) {
                tree fndecl = gimple_call_fndecl(stmt);         // This returns 
function_decl ;-)

                struct funtion * new_cfun = DECL_STRUCT_FUNCTION(fndecl);       
/* This returns
struct function * from tree */

                /* Push the current cfun onto the stack, and set cfun to 
new_cfun.  */
                push_cfun (new_cfun);

                annotate_function(cfun);

                /* Pop cfun from the stack.  */
                pop_cfun();
}


I have a problem with variable types (TREE_CODE). When I change cfun (using
push_cfun), temporary variables, used in new function, have TREE_CODE equals
VAR_DECL instead of SSA_NAME.
I think I have reached the called function before it was passed through SSA.
Should I pass the function through SSA manually or somehow change the moment
when the plugin is run, so that all function are already passed through SSA?
-- 
View this message in context: 
http://old.nabble.com/GIMPLE-and-intent-of-variables-tp32275433p32310211.html
Sent from the gcc - patches mailing list archive at Nabble.com.

Reply via email to