Segfault inserting a pass

Saleel Kudchadker
Wed Feb 17 19:14:00 GMT 2010

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.


Saleel Kudchadker
Graduate Student
School of Computing , Informatics and Decision Systems
Arizona State University

More information about the Gcc-help mailing list