------- Comment #37 from steven at gcc dot gnu dot org 2006-02-05 22:47 ------- At least I get VRP time down to nothing with a patchlet like this one:
Index: tree-vrp.c =================================================================== --- tree-vrp.c (revision 110617) +++ tree-vrp.c (working copy) @@ -326,7 +326,7 @@ add_equivalence (bitmap equiv, tree var) value_range_t *vr = vr_value[ver]; bitmap_set_bit (equiv, ver); - if (vr && vr->equiv) + if (vr && vr->equiv && bitmap_count_bits (vr->equiv) < 20) bitmap_ior_into (equiv, vr->equiv); } For a proper patch, the number should of course be a PARAM and I think using bitmap_count_bits penalizes the common case too much (walking the whole bitmap is cache expensive even for small bitmaps). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097