Home | History | Annotate | Download | only in libgcc

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;
286 /* Instantiate a gcov_info object. */
287 curr_gcov_info = obj_info = (struct gcov_info *) xcalloc (sizeof (struct gcov_info) +
427 /* Driver for read a profile directory and convert into gcov_info list in memory.
429 Return the head of gcov_info list on success. */
431 struct gcov_info *
572 gcov_merge (struct gcov_info *info1, struct gcov_info *info2, int w)
629 /* Find and return the match gcov_info object for INFO from ARRAY.
633 static struct gcov_info *
634 find_match_gcov_info (struct gcov_info **array, int size,
635 struct gcov_info *info)
637 struct gcov_info *gi_ptr;
638 struct gcov_info *ret = NULL;
666 /* Merge the list of gcov_info objects from SRC_PROFILE to TGT_PROFILE.
667 Return the list of merged gcov_info objects. Return NULL if the list is
670 struct gcov_info *
671 gcov_profile_merge (struct gcov_info *tgt_profile, struct gcov_info *src_profile,
674 struct gcov_info *gi_ptr;
675 struct gcov_info **tgt_infos;
676 struct gcov_info **tgt_tail;
677 struct gcov_info **in_src_not_tgt;
686 tgt_infos = (struct gcov_info **) xmalloc (sizeof (struct gcov_info *)
689 in_src_not_tgt = (struct gcov_info **) xmalloc (sizeof (struct gcov_info *)
711 struct gcov_info *gi_ptr1;
738 /* Deserialize gcov_info objects and associated filenames from the file
742 struct gcov_info *
751 struct gcov_info *obj_info;
790 struct gcov_info *
791 get_target_profiles_for_merge (struct gcov_info *src_profile)
793 struct gcov_info *gi_ptr;
807 /* Deserialize gcov_info objects and associated filenames from the file
811 profile list using weights W1 and W2. Return the list of merged gcov_info
814 struct gcov_info *
817 struct gcov_info *tgt_profile;
818 struct gcov_info *src_profile;
923 gcov_profile_scale (struct gcov_info *profile, float scale_factor, int n, int d)
925 struct gcov_info *gi_ptr;
965 gcov_profile_normalize (struct gcov_info *profile, gcov_type max_val)
967 struct gcov_info *gi_ptr;
1029 compute_one_gcov (const struct gcov_info *gcov_info1,
1030 const struct gcov_info *gcov_info2,
1037 const struct gcov_info *gcov_info = 0;
1044 gcov_info = gcov_info2;
1051 gcov_info = gcov_info1;
1057 if (gcov_info)
1059 for (f_ix = 0; f_ix < gcov_info->n_functions; f_ix++)
1061 const struct gcov_fn_info *gfi_ptr = gcov_info->functions[f_ix];
1062 if (!gfi_ptr || gfi_ptr->key != gcov_info)
1122 /* Test if all counter values in this GCOV_INFO are cold.
1127 gcov_info_count_all_cold (const struct gcov_info *gcov_info,
1132 for (f_ix = 0; f_ix < gcov_info->n_functions; f_ix++)
1134 const struct gcov_fn_info *gfi_ptr = gcov_info->functions[f_ix];
1136 if (!gfi_ptr || gfi_ptr->key != gcov_info)
1147 /* Test if all counter values in this GCOV_INFO are 0. */
1150 gcov_info_count_all_zero (const struct gcov_info *gcov_info)
1152 return gcov_info_count_all_cold (gcov_info, 0);
1155 /* A pair of matched GCOV_INFO.
1167 const struct gcov_info *obj1;
1168 const struct gcov_info *obj2;
1306 matched_gcov_info (const struct gcov_info *info1, const struct gcov_info *info2)
1330 calculate_overlap (struct gcov_info *gcov_list1,
1331 struct gcov_info *gcov_list2)
1335 const struct gcov_info *gi_ptr;
1451 /* Compute the overlap score of two lists of gcov_info objects PROFILE1 and
1456 gcov_profile_overlap (struct gcov_info *profile1, struct gcov_info *profile2)