------- Comment #3 from steven at gcc dot gnu dot org 2010-07-23 08:58 ------- Somehow managed to make a mistake in the merge for the case that x_addr is non-NULL.
Index: alias.c =================================================================== --- alias.c (revision 162430) +++ alias.c (working copy) @@ -2375,18 +2375,19 @@ true_dependence_1 (const_rtx mem, enum m } if (! x_addr) - x_addr = XEXP (x, 0); - - if (!((GET_CODE (x_addr) == VALUE - && GET_CODE (mem_addr) != VALUE - && reg_mentioned_p (x_addr, mem_addr)) - || (GET_CODE (x_addr) != VALUE - && GET_CODE (mem_addr) == VALUE - && reg_mentioned_p (mem_addr, x_addr)))) { - x_addr = get_addr (x_addr); - if (!mem_canonicalized) - mem_addr = get_addr (mem_addr); + x_addr = XEXP (x, 0); + if (!((GET_CODE (x_addr) == VALUE + && GET_CODE (mem_addr) != VALUE + && reg_mentioned_p (x_addr, mem_addr)) + || (GET_CODE (x_addr) != VALUE + && GET_CODE (mem_addr) == VALUE + && reg_mentioned_p (mem_addr, x_addr)))) + { + x_addr = get_addr (x_addr); + if (! mem_canonicalized) + mem_addr = get_addr (mem_addr); + } } base = find_base_term (x_addr); Will bootstrap+test, and commit if it passes. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45035