> On Thu, Apr 21, 2011 at 1:36 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
> >> @@ -730,6 +726,8 @@ void cgraph_clone_inlined_nodes (struct
> >>  void compute_inline_parameters (struct cgraph_node *);
> >>  cgraph_inline_failed_t cgraph_edge_inlinable_p (struct cgraph_edge *);
> >>
> >> +void cgraph_init_node_map (void);
> >> +void cgraph_del_node_map (void);
> >
> > Given that you don't even export API for using it, I would go for 
> > init_node_map/del_node_map
> > in profile.h.  It is nothing generic that needs to be included into half of 
> > compiler.
> >>
> 
> Ok.
> 
> >> -static struct cgraph_node** pid_map = NULL;
> >> +typedef struct
> >> +{
> >> +  struct cgraph_node *n;
> >> +} cgraph_node_ptr_t;
> >>
> >> -/* Initialize map of pids (pid -> cgraph node) */
> >> +DEF_VEC_O (cgraph_node_ptr_t);
> >> +DEF_VEC_ALLOC_O (cgraph_node_ptr_t, heap);
> > You don't need wrapping struct.  In cgraph.h you already have:
> > DEF_VEC_P(varpool_node_ptr);
> > DEF_VEC_ALLOC_P(varpool_node_ptr,heap);
> > DEF_VEC_ALLOC_P(varpool_node_ptr,gc);
> > so you can use vector of cgraph_node_ptr
> >
> 
> But ptr vector does allow me to put VEC_index as the LHS of the
> assignment -- or have I missed something?

If you want to set value, then use VEC_replace....

Honza

Reply via email to