Thank you Richard. I think I will try to add them on the edges once
the basic blocks are created.

On Fri, Feb 19, 2010 at 12:19 PM, Richard Guenther
<richard.guent...@gmail.com> wrote:
> On Fri, Feb 19, 2010 at 8:07 PM, Saleel Kudchadker <skudc...@asu.edu> wrote:
>> 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?
>
> Before CFG creation we are in gimple and inserting trees to the
> tree stmt list is useless.
>
>>
>> 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
>>
>



-- 
Regards,

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

Reply via email to