Hi I am working on calling the instrument function before every function call automatically. I tried inserting this pass which would add my function to every edge //---------------------------------------- static unsigned int spmm_insert(void){ struct cgraph_edge *e; struct cgraph_node *node = cgraph_node (current_function_decl); tree x, bind,spmm_type,spmm_decl,ctr_ptr; x = implicit_built_in_decls[BUILT_IN_PROFILE_FUNC_ENTER]; x = build_call_expr (x, 0); for (e = node->callees; e; e = e->next_callee){ bsi_insert_on_edge(e, x); } /*******************************************************/ This throws me a Segfault error when compiling the code. i am applying this pass before pass_apply_inline in passes.c I am new to GCC, Can someone hint me documents or materials I can look upon to insert this pass. -- Regards, Saleel Kudchadker Graduate Student School of Computing , Informatics and Decision Systems Arizona State University