From: spark Date: Thu, 22 Mar 2007 06:18:33 +0000 (+0000) Subject: 2007-03-21 Seongbae Park X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02f07e876bbbb086765d8dae9e509b082af46018;p=thirdparty%2Fgcc.git 2007-03-21 Seongbae Park * regmove.c (regmove_optimize): Use reg_mentioned_p instead of reg_overlap_mentioned_p for DST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123124 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 219b7131c5c2..84cd54419c9a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-03-21 Seongbae Park + + * regmove.c (regmove_optimize): Use reg_mentioned_p + instead of reg_overlap_mentioned_p for DST. + 2007-03-21 Mike Stump * c.opt: Fixup for Objective-C/C++. diff --git a/gcc/regmove.c b/gcc/regmove.c index 4bd5d1da9915..3c059f44a78f 100644 --- a/gcc/regmove.c +++ b/gcc/regmove.c @@ -1429,8 +1429,13 @@ regmove_optimize (rtx f, int nregs) break; } + /* We can't make this change if SRC is read or + partially written in P, since we are going to + eliminate SRC. We can't make this change + if DST is mentioned at all in P, + since we are going to change its value. */ if (reg_overlap_mentioned_p (src, PATTERN (p)) - || reg_overlap_mentioned_p (dst, PATTERN (p))) + || reg_mentioned_p (dst, PATTERN (p))) break; /* If we have passed a call instruction, and the