From: Mike Stump Date: Tue, 14 May 2013 17:43:57 +0000 (+0000) Subject: * web.c (union_match_dups): Also check DF_REF_REAL_LOC. X-Git-Tag: releases/gcc-4.9.0~5896 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e7180acbb92275577a02326efb3ad2671a3f73b7;p=thirdparty%2Fgcc.git * web.c (union_match_dups): Also check DF_REF_REAL_LOC. From-SVN: r198896 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 58e0f95508ce..62255a365374 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-05-14 Mike Stump + + * web.c (union_match_dups): Also check DF_REF_REAL_LOC. + 2013-05-14 Steven Bosscher * resource.h (struct resources): Remove unch_memory member. diff --git a/gcc/web.c b/gcc/web.c index d09d1d51f725..7f667db2cc53 100644 --- a/gcc/web.c +++ b/gcc/web.c @@ -132,14 +132,22 @@ union_match_dups (rtx insn, struct web_entry *def_entry, ref = type == OP_IN ? use_link : def_link; entry = type == OP_IN ? use_entry : def_entry; for (; *ref; ref++) - if (DF_REF_LOC (*ref) == recog_data.operand_loc[op]) - break; + { + if (DF_REF_LOC (*ref) == recog_data.operand_loc[op]) + break; + if (DF_REF_REAL_LOC (*ref) == recog_data.operand_loc[op]) + break; + } if (!*ref && type == OP_INOUT) { for (ref = use_link, entry = use_entry; *ref; ref++) - if (DF_REF_LOC (*ref) == recog_data.operand_loc[op]) - break; + { + if (DF_REF_LOC (*ref) == recog_data.operand_loc[op]) + break; + if (DF_REF_REAL_LOC (*ref) == recog_data.operand_loc[op]) + break; + } } gcc_assert (*ref);