diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2003-04-17 01:07:12 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2003-04-17 01:07:12 +0000 |
commit | 60fa6660d8c9099c8e4b5f1cb08cc0190952ca4e (patch) | |
tree | 734df64947b1d93b8aba3d34f7bad616eb0950ba /gcc/reload1.c | |
parent | e34d367d2d352f944ef2df4beea0e39e5ede02ce (diff) | |
download | gcc-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.c | 3 |
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)); } |