> Hi,
> 
> I've worked with the parameter-has-not-been-modified mechanism in
> ipa-prop.c after not seeing for quite some time and found the original
> "infos" and temporary "parm_infos" confusing.  Thus I at least renamed
> all the parm_infos (which are deallocated after the analysis ends and
> which have type "struct param_analysis_info *") to parm_ainfos.
> 
> Bootstrapped and tested on x86_64-linux without any issues.
> OK for trunk?

OK,
thanks!

Honza
> 
> Thanks,
> 
> Martin
> 
> 
> 
> 2011-10-25  Martin Jambor  <mjam...@suse.cz>
> 
>       * ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
>       to parm_ainfo.
>       (ipa_compute_jump_functions_for_edge): Likewise.
>       (ipa_compute_jump_functions): Likewise.
>       (ipa_analyze_indirect_call_uses): Likewise.
>       (ipa_analyze_call_uses): Likewise.
>       (ipa_analyze_params_uses): Likewise.
>       (ipa_analyze_node): Likewise.
> 
> Index: src/gcc/ipa-prop.c
> ===================================================================
> --- src.orig/gcc/ipa-prop.c
> +++ src/gcc/ipa-prop.c
> @@ -794,7 +794,7 @@ is_parm_modified_before_call (struct par
>  
>  static bool
>  compute_pass_through_member_ptrs (struct ipa_node_params *info,
> -                               struct param_analysis_info *parms_info,
> +                               struct param_analysis_info *parms_ainfo,
>                                 struct ipa_edge_args *args,
>                                 gimple call)
>  {
> @@ -813,7 +813,8 @@ compute_pass_through_member_ptrs (struct
>             int index = ipa_get_param_decl_index (info, arg);
>  
>             gcc_assert (index >=0);
> -           if (!is_parm_modified_before_call (&parms_info[index], call, arg))
> +           if (!is_parm_modified_before_call (&parms_ainfo[index], call,
> +                                              arg))
>               {
>                 struct ipa_jump_func *jfunc = ipa_get_ith_jump_func (args,
>                                                                      num);
> @@ -968,7 +969,7 @@ compute_cst_member_ptr_arguments (struct
>     to this callsite.  */
>  
>  static void
> -ipa_compute_jump_functions_for_edge (struct param_analysis_info *parms_info,
> +ipa_compute_jump_functions_for_edge (struct param_analysis_info *parms_ainfo,
>                                    struct cgraph_edge *cs)
>  {
>    struct ipa_node_params *info = IPA_NODE_REF (cs->caller);
> @@ -985,7 +986,7 @@ ipa_compute_jump_functions_for_edge (str
>  
>    /* Let's check whether there are any potential member pointers and if so,
>       whether we can determine their functions as pass_through.  */
> -  if (!compute_pass_through_member_ptrs (info, parms_info, args, call))
> +  if (!compute_pass_through_member_ptrs (info, parms_ainfo, args, call))
>      return;
>  
>    /* Finally, let's check whether we actually pass a new constant member
> @@ -998,7 +999,7 @@ ipa_compute_jump_functions_for_edge (str
>  
>  static void
>  ipa_compute_jump_functions (struct cgraph_node *node,
> -                         struct param_analysis_info *parms_info)
> +                         struct param_analysis_info *parms_ainfo)
>  {
>    struct cgraph_edge *cs;
>  
> @@ -1010,11 +1011,11 @@ ipa_compute_jump_functions (struct cgrap
>        functions unless they may become known during lto/whopr.  */
>        if (!callee->analyzed && !flag_lto)
>       continue;
> -      ipa_compute_jump_functions_for_edge (parms_info, cs);
> +      ipa_compute_jump_functions_for_edge (parms_ainfo, cs);
>      }
>  
>    for (cs = node->indirect_calls; cs; cs = cs->next_callee)
> -    ipa_compute_jump_functions_for_edge (parms_info, cs);
> +    ipa_compute_jump_functions_for_edge (parms_ainfo, cs);
>  }
>  
>  /* If RHS looks like a rhs of a statement loading pfn from a member
> @@ -1111,7 +1112,7 @@ ipa_note_param_call (struct cgraph_node
>  }
>  
>  /* Analyze the CALL and examine uses of formal parameters of the caller NODE
> -   (described by INFO).  PARMS_INFO is a pointer to a vector containing
> +   (described by INFO).  PARMS_AINFO is a pointer to a vector containing
>     intermediate information about each formal parameter.  Currently it checks
>     whether the call calls a pointer that is a formal parameter and if so, the
>     parameter is marked with the called flag and an indirect call graph edge
> @@ -1170,7 +1171,7 @@ ipa_note_param_call (struct cgraph_node
>  static void
>  ipa_analyze_indirect_call_uses (struct cgraph_node *node,
>                               struct ipa_node_params *info,
> -                             struct param_analysis_info *parms_info,
> +                             struct param_analysis_info *parms_ainfo,
>                               gimple call, tree target)
>  {
>    gimple def;
> @@ -1283,7 +1284,7 @@ ipa_analyze_indirect_call_uses (struct c
>      return;
>  
>    index = ipa_get_param_decl_index (info, rec);
> -  if (index >= 0 && !is_parm_modified_before_call (&parms_info[index],
> +  if (index >= 0 && !is_parm_modified_before_call (&parms_ainfo[index],
>                                                  call, rec))
>      ipa_note_param_call (node, index, call);
>  
> @@ -1347,20 +1348,20 @@ ipa_analyze_virtual_call_uses (struct cg
>  }
>  
>  /* Analyze a call statement CALL whether and how it utilizes formal 
> parameters
> -   of the caller (described by INFO).  PARMS_INFO is a pointer to a vector
> +   of the caller (described by INFO).  PARMS_AINFO is a pointer to a vector
>     containing intermediate information about each formal parameter.  */
>  
>  static void
>  ipa_analyze_call_uses (struct cgraph_node *node,
>                      struct ipa_node_params *info,
> -                    struct param_analysis_info *parms_info, gimple call)
> +                    struct param_analysis_info *parms_ainfo, gimple call)
>  {
>    tree target = gimple_call_fn (call);
>  
>    if (!target)
>      return;
>    if (TREE_CODE (target) == SSA_NAME)
> -    ipa_analyze_indirect_call_uses (node, info, parms_info, call, target);
> +    ipa_analyze_indirect_call_uses (node, info, parms_ainfo, call, target);
>    else if (TREE_CODE (target) == OBJ_TYPE_REF)
>      ipa_analyze_virtual_call_uses (node, info, call, target);
>  }
> @@ -1368,15 +1369,15 @@ ipa_analyze_call_uses (struct cgraph_nod
>  
>  /* Analyze the call statement STMT with respect to formal parameters 
> (described
>     in INFO) of caller given by NODE.  Currently it only checks whether formal
> -   parameters are called.  PARMS_INFO is a pointer to a vector containing
> +   parameters are called.  PARMS_AINFO is a pointer to a vector containing
>     intermediate information about each formal parameter.  */
>  
>  static void
>  ipa_analyze_stmt_uses (struct cgraph_node *node, struct ipa_node_params 
> *info,
> -                    struct param_analysis_info *parms_info, gimple stmt)
> +                    struct param_analysis_info *parms_ainfo, gimple stmt)
>  {
>    if (is_gimple_call (stmt))
> -    ipa_analyze_call_uses (node, info, parms_info, stmt);
> +    ipa_analyze_call_uses (node, info, parms_ainfo, stmt);
>  }
>  
>  /* Callback of walk_stmt_load_store_addr_ops for the visit_load.
> @@ -1403,12 +1404,12 @@ visit_ref_for_mod_analysis (gimple stmt
>  
>  /* Scan the function body of NODE and inspect the uses of formal parameters.
>     Store the findings in various structures of the associated ipa_node_params
> -   structure, such as parameter flags, notes etc.  PARMS_INFO is a pointer 
> to a
> +   structure, such as parameter flags, notes etc.  PARMS_AINFO is a pointer 
> to a
>     vector containing intermediate information about each formal parameter.   
> */
>  
>  static void
>  ipa_analyze_params_uses (struct cgraph_node *node,
> -                      struct param_analysis_info *parms_info)
> +                      struct param_analysis_info *parms_ainfo)
>  {
>    tree decl = node->decl;
>    basic_block bb;
> @@ -1440,7 +1441,7 @@ ipa_analyze_params_uses (struct cgraph_n
>         if (is_gimple_debug (stmt))
>           continue;
>  
> -       ipa_analyze_stmt_uses (node, info, parms_info, stmt);
> +       ipa_analyze_stmt_uses (node, info, parms_ainfo, stmt);
>         walk_stmt_load_store_addr_ops (stmt, info,
>                                        visit_ref_for_mod_analysis,
>                                        visit_ref_for_mod_analysis,
> @@ -1464,7 +1465,7 @@ void
>  ipa_analyze_node (struct cgraph_node *node)
>  {
>    struct ipa_node_params *info;
> -  struct param_analysis_info *parms_info;
> +  struct param_analysis_info *parms_ainfo;
>    int i, param_count;
>  
>    ipa_check_create_node_params ();
> @@ -1475,15 +1476,15 @@ ipa_analyze_node (struct cgraph_node *no
>    ipa_initialize_node_params (node);
>  
>    param_count = ipa_get_param_count (info);
> -  parms_info = XALLOCAVEC (struct param_analysis_info, param_count);
> -  memset (parms_info, 0, sizeof (struct param_analysis_info) * param_count);
> +  parms_ainfo = XALLOCAVEC (struct param_analysis_info, param_count);
> +  memset (parms_ainfo, 0, sizeof (struct param_analysis_info) * param_count);
>  
> -  ipa_analyze_params_uses (node, parms_info);
> -  ipa_compute_jump_functions (node, parms_info);
> +  ipa_analyze_params_uses (node, parms_ainfo);
> +  ipa_compute_jump_functions (node, parms_ainfo);
>  
>    for (i = 0; i < param_count; i++)
> -    if (parms_info[i].visited_statements)
> -      BITMAP_FREE (parms_info[i].visited_statements);
> +    if (parms_ainfo[i].visited_statements)
> +      BITMAP_FREE (parms_ainfo[i].visited_statements);
>  
>    current_function_decl = NULL;
>    pop_cfun ();

Reply via email to