Hi,
    I need to do the following. I want to at run time run a data
correction pass  on some of my integer arrays. As the data needs
correctioin often, it needs to be done just before the use of such an
array.
                I am trying to do this in gcc by inserting a function
(convert(int *))  just before such a use. But then I need extract the
argument from the assignment and pass it to this function. Can anyone
give me pointers to how I can pass an argument after extracting it
from a assignment statement. I successfully extracted the operand but
have difficulty passing it as an argument. i would appreciate any
suggestions/help/pointers to similar code

thanks
Shrey


ps: If anyone would want  to see what I am doing, here it is,



                    get_stmt_operands(stmt)
                     FOR_EACH_SSA_OPERAND(op,stmt,iter,SSA_OP_USE)
                      {
                             tree id =get_identifier("convert")
                             tree
t_list=build_function_type_list(void_type_node,TREE_TYPE(op))
                             tree decl=build_decl(FUNCTION_DECL,id,t_list);
                              call=build_function_call_expr(decl,op)
                               gimplify_to_stmt_list(&call)
                               bsi_insert_before(iter,call,BSI_SAME_STMT)
                             }

Reply via email to