Hi

I've been trying to add a statement before the statement list before
the basic blocks are created. I am planning to add a function call
statement before a user function is called and I use the instrument
function definition as a statement . The code and the pass compiles
properly but  no function is called when the actual program runs.

Can someone hint me where I am going wrong?


static void spmm_init_function(tree *tp)
{
tree func_decl;
tree x,spmm_decl,bind;
  tree_stmt_iterator i = tsi_start (*tp);
  tree_stmt_iterator last_i;
  tree stmt=NULL;
  enum tree_code code;
    while (!tsi_end_p (i))
    {
      tree prev_stmt;

      prev_stmt = stmt;
      stmt = tsi_stmt (i);
           code = TREE_CODE (stmt);
          switch (code)
          {
                case CALL_EXPR:
                print_
                x = implicit_built_in_decls[BUILT_IN_PROFILE_FUNC_ENTER];
                x = build_call_expr (x, 0);
                tsi_link_after(&i,x,TSI_NEW_STMT);
                break;
                
                default:
                break;
        }
        tsi_next(&i);
}

}

-- 
Regards,

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

Reply via email to