------- Comment #12 from vmakarov at redhat dot com 2010-05-07 17:49 ------- When allocno is finished, its some info is propagated into upper allocno. When several allocnos with same regno are finished, info can be propagated directly to survived upper allocno or through one allocno will be finished. It depends on region configuration and order of allocnos with the same regno in the corresponding list. The sigsegv occurs in the second case when we remove allocno and propagates this info through allready removed allocno. It happens because regno_allocno_map which is used to find allocno into which the info to propagate is not nullified after removing allocno.
H.J.'s patch idea is right but the patch is complicated. I'll send a simplier patch soon. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012