aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2003-04-17 01:07:12 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2003-04-17 01:07:12 +0000
commit60fa6660d8c9099c8e4b5f1cb08cc0190952ca4e (patch)
tree734df64947b1d93b8aba3d34f7bad616eb0950ba /gcc/reload1.c
parente34d367d2d352f944ef2df4beea0e39e5ede02ce (diff)
downloadgcc-60fa6660d8c9099c8e4b5f1cb08cc0190952ca4e.zip
gcc-60fa6660d8c9099c8e4b5f1cb08cc0190952ca4e.tar.gz
gcc-60fa6660d8c9099c8e4b5f1cb08cc0190952ca4e.tar.bz2
reload1.c (reload_cse_noop_set_p): Return false if mode of SET_DEST is not the same as that returned by...
* reload1.c (reload_cse_noop_set_p): Return false if mode of SET_DEST is not the same as that returned by... * cselib.h (cselib_reg_set_mode): ... new function. * cselib.c (cselib_reg_set_mode): Define it. (REG_VALUES): Document semantics of first element as set mode. (cselib_subst_to_values): Skip first element if ELT is NULL. (cselib_lookup): Likewise. Insert past the first element. (cselib_invalidate_regno): NULLify first element. (cselib_record_set): Set first element. From-SVN: r65713
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index a6e41dd..54d163e 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -8025,6 +8025,9 @@ static int
reload_cse_noop_set_p (set)
rtx set;
{
+ if (cselib_reg_set_mode (SET_DEST (set)) != GET_MODE (SET_DEST (set)))
+ return 0;
+
return rtx_equal_for_cselib_p (SET_DEST (set), SET_SRC (set));
}