------- Comment #7 from vmakarov at redhat dot com 2008-09-17 01:10 ------- The patch I mentioned contains the following code at the end of ira-lives.c::process_bb_node_lives
for all uses: mark uses as live for all clobbers: mark them as live for all clobbers: mark them dead The r25 are in uses and clobbers, so this code makes r25 dead on traversing to bb start which is quite wrong and results in that p171 does not conflict with r25. Besides the part of code for building conflicts is wrong, it is also too conservative. The input should conflict only with *early* clobbers. Processing only early clobbers on the two last line solves the problem (regular clobbers are still processed in ira-lives.c::process_bb_node_lives with defs). I'll sent the patch soon. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37535