aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-10-28 09:08:43 +0000
committerJeff Law <law@gcc.gnu.org>1999-10-28 03:08:43 -0600
commit5ae520d0231c815dbe51fa44eac8884ad18bed0b (patch)
treea97d6756784a96491ad66c405b176122a6e2dcf4
parent4ed506a4f64ce97df9993560fe8b84cf19996fbd (diff)
downloadgcc-5ae520d0231c815dbe51fa44eac8884ad18bed0b.zip
gcc-5ae520d0231c815dbe51fa44eac8884ad18bed0b.tar.gz
gcc-5ae520d0231c815dbe51fa44eac8884ad18bed0b.tar.bz2
gcse.c (delete_null_pointer_checks): Only record non-null info for pseudos when examining stores.
* gcse.c (delete_null_pointer_checks): Only record non-null info for pseudos when examining stores. From-SVN: r30231
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/gcse.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cc0e61c..beb3b97 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -5,6 +5,9 @@ Thu Oct 28 02:44:03 1999 Glen Nakamura <glen.nakamura@usa.net>
Thu Oct 28 02:15:22 1999 Jeffrey A Law (law@cygnus.com)
+ * gcse.c (delete_null_pointer_checks): Only record non-null info
+ for pseudos when examining stores.
+
* arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
splitters for these patterns. Use "#" for output templates.
(addsi3_carryin_shift): New pattern.
diff --git a/gcc/gcse.c b/gcc/gcse.c
index a40852d..30cb1b9 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -5076,7 +5076,8 @@ delete_null_pointer_checks (f)
not kill the nonnull property if it is derived from a MEM
appearing in a SET_DEST. */
if (GET_CODE (SET_DEST (set)) == MEM
- && GET_CODE (XEXP (SET_DEST (set), 0)) == REG)
+ && GET_CODE (XEXP (SET_DEST (set), 0)) == REG
+ && REGNO (XEXP (SET_SRC (set), 0)) >= FIRST_PSEUDO_REGISTER)
SET_BIT (nonnull_local[current_block],
REGNO (XEXP (SET_DEST (set), 0)));
}