This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][LTO] cgraph node set.


Hi Diego,

    I need to manipulate sets of cgraph nodes, here is a new data type
for that purpose.  I could not use the pointer set as it does not
support deletion, also iteration is not as flexible.  Another
possiblity is to change the pointer set and map to support deletion
and iterators.

-Doug

2008-07-08  Doug Kwan  <dougkwan@google.com>

        * cgraph.c (hash_cgraph_node_set_element): New.
        (eq_cgraph_node_set_element): New.
        (cgraph_node_set_new): Same.
        (cgraph_node_set_add): Same.
        (cgraph_node_set_remove): Same.
        (cgraph_node_set_find): Same.
        (dump_cgraph_node_set): Same.
        (debug_cgraph_node_set): Same.
        * cgraph.h (struct cgraph_node_set_def): New type.
        (cgraph_node_set): Same.
        (struct cgraph_node_set_element_def): Same.
        (cgraph_node_set_element): Same.
        (cgraph_node_set_iterator): Same.
        (csi_end_p): New inline.
        (csi_next): Same.
        (csi_node): Same.
        (csi_start): Same.
        (cgraph_node_in_set_p): Same.
        (cgraph_node_set_size): Same.

2008-07-08  Doug Kwan  <dougkwan@google.com>

        * lto.c (File): Include vec.h and pointer-set.h.
        (lto_graph_node_sets): New var.
        (lto_1_to_1_map): New function.
        (lto_main): Call it.
        * Make-lang.in (lto.o): Add pointer-set.h and vec.h dependencies.

Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]