Lines Matching defs:gcov_info
2 gcov_info structures and offline profile processing. */
52 /* The following part is to read Gcda and reconstruct GCOV_INFO. */
67 /* The gcov_info for the first module. */
68 static struct gcov_info *curr_gcov_info;
69 /* The gcov_info being processed. */
70 static struct gcov_info *gcov_info_head;
232 It flushes the contents in curr_fn_info to gcov_info object OBJ_INFO. */
235 read_gcda_finalize (struct gcov_info *obj_info)
255 /* Read the content of a gcda file FILENAME, and return a gcov_info data structure.
258 static struct gcov_info *
264 struct gcov_info *obj_info;
294 /* Instantiate a gcov_info object. */
295 curr_gcov_info = obj_info = (struct gcov_info *) xcalloc (sizeof (struct gcov_info) +
400 struct gcov_info *obj_info;
437 /* Driver for read a profile directory and convert into gcov_info list in memory.
439 Return the head of gcov_info list on success. */
441 struct gcov_info *
582 gcov_merge (struct gcov_info *info1, struct gcov_info *info2, int w)
639 /* Find and return the match gcov_info object for INFO from ARRAY.
643 static struct gcov_info *
644 find_match_gcov_info (struct gcov_info **array, int size,
645 struct gcov_info *info)
647 struct gcov_info *gi_ptr;
648 struct gcov_info *ret = NULL;
676 /* Merge the list of gcov_info objects from SRC_PROFILE to TGT_PROFILE.
681 gcov_profile_merge (struct gcov_info *tgt_profile, struct gcov_info *src_profile,
684 struct gcov_info *gi_ptr;
685 struct gcov_info **tgt_infos;
686 struct gcov_info *tgt_tail;
687 struct gcov_info **in_src_not_tgt;
696 tgt_infos = (struct gcov_info **) xmalloc (sizeof (struct gcov_info *)
699 in_src_not_tgt = (struct gcov_info **) xmalloc (sizeof (struct gcov_info *)
718 struct gcov_info *gi_ptr1;
835 gcov_profile_scale (struct gcov_info *profile, float scale_factor, int n, int d)
837 struct gcov_info *gi_ptr;
877 gcov_profile_normalize (struct gcov_info *profile, gcov_type max_val)
879 struct gcov_info *gi_ptr;
941 compute_one_gcov (const struct gcov_info *gcov_info1,
942 const struct gcov_info *gcov_info2,
949 const struct gcov_info *gcov_info = 0;
956 gcov_info = gcov_info2;
963 gcov_info = gcov_info1;
969 if (gcov_info)
971 for (f_ix = 0; f_ix < gcov_info->n_functions; f_ix++)
973 const struct gcov_fn_info *gfi_ptr = gcov_info->functions[f_ix];
974 if (!gfi_ptr || gfi_ptr->key != gcov_info)
1034 /* Test if all counter values in this GCOV_INFO are cold.
1039 gcov_info_count_all_cold (const struct gcov_info *gcov_info,
1044 for (f_ix = 0; f_ix < gcov_info->n_functions; f_ix++)
1046 const struct gcov_fn_info *gfi_ptr = gcov_info->functions[f_ix];
1048 if (!gfi_ptr || gfi_ptr->key != gcov_info)
1059 /* Test if all counter values in this GCOV_INFO are 0. */
1062 gcov_info_count_all_zero (const struct gcov_info *gcov_info)
1064 return gcov_info_count_all_cold (gcov_info, 0);
1067 /* A pair of matched GCOV_INFO.
1079 const struct gcov_info *obj1;
1080 const struct gcov_info *obj2;
1218 matched_gcov_info (const struct gcov_info *info1, const struct gcov_info *info2)
1242 calculate_overlap (struct gcov_info *gcov_list1,
1243 struct gcov_info *gcov_list2)
1247 const struct gcov_info *gi_ptr;
1363 /* Compute the overlap score of two lists of gcov_info objects PROFILE1 and
1368 gcov_profile_overlap (struct gcov_info *profile1, struct gcov_info *profile2)