------- Comment #9 from jakub at gcc dot gnu dot org 2010-01-29 16:43 ------- In theory we could reuse the next_containing_mem field for a counter, as it isn't used for anything once cselib_preserve_only_values is called (and I believe canon_value_cmp is only ever used after vt_initialize phase finishes, i.e. all VALUEs have gone through cselib_preserve_only_values. remove_useless_values could have a bool argument which cselib_preserve_only_values would set, then it would just set an int in union with next_containing_mem to a counter (incremented after each cselib_preserve_only_values call starting at cselib_init). The trouble is how to teach GC not to walk next_containing_mem / this int (it isn't needed to walk next_containing_mem anyway, as all the VALUEs must be in the hash table anyway).
-- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-01-29 16:43:04 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42896