-/* remove a graph, part II */
-/*
- Note: get_implementing_graph is not well defined here (graph->ent
- could overwrite more than one superclass implementation (graph).
- Since we *know* that this entity will not be called, this is OK.
-*/
-static void remove_irg (ir_graph *graph)
-{
- entity *ent = get_irg_entity (graph);
-
-/* DDMEO (get_irg_ent(graph)); */
-
- /* delete the ir_graph data */
- remove_irp_irg (graph);
- /* remove reference to the graph */
- set_entity_irg (ent, NULL);
- /* find the implementation (graph) from *some* superclass: */
- graph = get_implementing_graph (ent);
-
- if (TRUE || (NULL == graph)) { /* always pretend to be 'abstract'; let the others figure this out */
- /* nothing to inherit! pretend we're abstract */
- force_description (ent, ent);
- } else {
- /* pretend that we inherit the implementation (graph) from some superclass: */
- set_entity_peculiarity (ent, peculiarity_inherited);
-
- exchange (get_atomic_ent_value (ent),
- get_atomic_ent_value (get_irg_ent(graph)));
+ tp = get_tls_type();
+ n = get_struct_n_members(tp);
+ for (i = 0; i < n; ++i) {
+ ir_type *member_type = get_entity_type(get_struct_member(tp, i));
+ if (is_Class_type(member_type))
+ eset_insert(_live_classes, member_type);