Lines Matching +refs:list +refs:ref

40   struct ipa_ref *ref;  in ipa_record_reference()  local
41 struct ipa_ref_list *list, *list2; in ipa_record_reference() local
47 list = &referring_node->symbol.ref_list; in ipa_record_reference()
48 old_references = vec_safe_address (list->references); in ipa_record_reference()
49 vec_safe_grow (list->references, vec_safe_length (list->references) + 1); in ipa_record_reference()
50 ref = &list->references->last (); in ipa_record_reference()
53 list2->referring.safe_push (ref); in ipa_record_reference()
54 ref->referred_index = list2->referring.length () - 1; in ipa_record_reference()
55 ref->referring = referring_node; in ipa_record_reference()
56 ref->referred = referred_node; in ipa_record_reference()
57 ref->stmt = stmt; in ipa_record_reference()
58 ref->use = use_type; in ipa_record_reference()
61 if (old_references != list->references->address ()) in ipa_record_reference()
64 for (i = 0; ipa_ref_list_reference_iterate (list, i, ref); i++) in ipa_record_reference()
65 ipa_ref_referred_ref_list (ref)->referring[ref->referred_index] = ref; in ipa_record_reference()
67 return ref; in ipa_record_reference()
73 ipa_remove_reference (struct ipa_ref *ref) in ipa_remove_reference() argument
75 struct ipa_ref_list *list = ipa_ref_referred_ref_list (ref); in ipa_remove_reference() local
76 struct ipa_ref_list *list2 = ipa_ref_referring_ref_list (ref); in ipa_remove_reference()
80 gcc_assert (list->referring[ref->referred_index] == ref); in ipa_remove_reference()
81 last = list->referring.last (); in ipa_remove_reference()
82 if (ref != last) in ipa_remove_reference()
84 list->referring[ref->referred_index] = list->referring.last (); in ipa_remove_reference()
85 list->referring[ref->referred_index]->referred_index in ipa_remove_reference()
86 = ref->referred_index; in ipa_remove_reference()
88 list->referring.pop (); in ipa_remove_reference()
91 if (ref != last) in ipa_remove_reference()
93 *ref = *last; in ipa_remove_reference()
94 ipa_ref_referred_ref_list (ref)->referring[ref->referred_index] = ref; in ipa_remove_reference()
103 ipa_remove_all_references (struct ipa_ref_list *list) in ipa_remove_all_references() argument
105 while (vec_safe_length (list->references)) in ipa_remove_all_references()
106 ipa_remove_reference (&list->references->last ()); in ipa_remove_all_references()
107 vec_free (list->references); in ipa_remove_all_references()
113 ipa_remove_all_referring (struct ipa_ref_list *list) in ipa_remove_all_referring() argument
115 while (list->referring.length ()) in ipa_remove_all_referring()
116 ipa_remove_reference (list->referring.last ()); in ipa_remove_all_referring()
117 list->referring.release (); in ipa_remove_all_referring()
123 ipa_dump_references (FILE * file, struct ipa_ref_list *list) in ipa_dump_references() argument
125 struct ipa_ref *ref; in ipa_dump_references() local
127 for (i = 0; ipa_ref_list_reference_iterate (list, i, ref); i++) in ipa_dump_references()
130 symtab_node_asm_name (ref->referred), in ipa_dump_references()
131 ref->referred->symbol.order, in ipa_dump_references()
132 ipa_ref_use_name [ref->use]); in ipa_dump_references()
140 ipa_dump_referring (FILE * file, struct ipa_ref_list *list) in ipa_dump_referring() argument
142 struct ipa_ref *ref; in ipa_dump_referring() local
144 for (i = 0; ipa_ref_list_referring_iterate (list, i, ref); i++) in ipa_dump_referring()
147 symtab_node_asm_name (ref->referring), in ipa_dump_referring()
148 ref->referring->symbol.order, in ipa_dump_referring()
149 ipa_ref_use_name [ref->use]); in ipa_dump_referring()
160 struct ipa_ref *ref; in ipa_clone_references() local
162 for (i = 0; ipa_ref_list_reference_iterate (src, i, ref); i++) in ipa_clone_references()
164 ref->referred, in ipa_clone_references()
165 ref->use, ref->stmt); in ipa_clone_references()
174 struct ipa_ref *ref; in ipa_clone_referring() local
176 for (i = 0; ipa_ref_list_referring_iterate (src, i, ref); i++) in ipa_clone_referring()
177 ipa_record_reference (ref->referring, in ipa_clone_referring()
179 ref->use, ref->stmt); in ipa_clone_referring()
185 ipa_ref_cannot_lead_to_return (struct ipa_ref *ref) in ipa_ref_cannot_lead_to_return() argument
187 return cgraph_node_cannot_return (ipa_ref_referring_node (ref)); in ipa_ref_cannot_lead_to_return()
194 struct ipa_ref *ref; in ipa_ref_has_aliases_p() local
196 for (i = 0; ipa_ref_list_referring_iterate (ref_list, i, ref); i++) in ipa_ref_has_aliases_p()
197 if (ref->use == IPA_REF_ALIAS) in ipa_ref_has_aliases_p()