http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43491
--- Comment #4 from amker.cheng <amker.cheng at gmail dot com> 2011-12-21 03:44:03 UTC --- This bug is even worse on mips. The cause is ssa-pre eliminates global register variable when it is the RHS of single assign statment, while following passes do not handle the const/register attributes of the variable. It can be handled in tree-ssa-pre.c without hurting true redundancy elimination on global register variables. So could somebody change the tag from rtl-optimization to tree-optimization?