On Mon, Aug 22, 2011 at 2:21 PM, Mateusz Grabowski <grabek...@wp.pl> wrote: > > 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?
The latter. > 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. > >