This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Insertng a call function
Could it be that it being done lower in the pass unlike insertions in
tree-profile, gomp - some ssa defintion information is missing. The
reason I have been led to think is because it fails
register_new_defintions. I would appreciate any suggestions.
thanks
On 7/28/05, drizzle drizzle <drizzle76@gmail.com> wrote:
> Hi
> I updated my function call creating statement based on how
> gomp_parallel_end is inserted in the gomp branch. It still breaks. I
> have provided the function declaration in the file, just want to
> insert the call. Any further suggestions. My whole objective is to
> mark a few particular
> tree statements (array references actually) and carry them over to RTL
> form. So I am trying to insert a call before these references which
> when seen in RTL will tell me my references of interest. Any
> suggestions on some other ways I an try apart from this call
> insertion?
>
>
> here is my upated piece of code to insert a function call
> tree fn, type;
> type = build_function_type_list (void_type_node, void_type_node, NULL_TREE);
> tree id = get_identifier ("foo");
> tree fn_decl = build_decl (FUNCTION_DECL, id, type);
> DECL_EXTERNAL (fn_decl) = 1;
> TREE_PUBLIC (fn_decl) = 1;
> DECL_ARTIFICIAL (fn_decl) = 1;
> TREE_NOTHROW (fn_decl) = 1;
>
> tree call=build_function_call_expr (fn_decl, NULL_TREE);
>
>
> thanks
>
>
> On 7/28/05, Diego Novillo <dnovillo@redhat.com> wrote:
> > On Thu, Jul 28, 2005 at 01:15:22PM -0400, drizzle drizzle wrote:
> >
> > > I am inserting a call stmt in linear_transform_loops. Al though
> > > the call statement gets inserted , the compilation breaks. Can some
> > > one help me identify if I am missing some information in the call
> > > node that I create (thanks Daniel for all the help until now)
> > >
> > Check gomp-20050608-branch. gimple-low.c:create_gomp_fn takes a
> > block of code, puts it inside a new function F and replaces the
> > block of code with a call to F.
> >
>