This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/20331] [3.4/4.0/4.1 Regression] Wrong code generation for the argument of the pure function in PIC
- From: "joern dot rennecke at st dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Mar 2005 18:18:33 -0000
- Subject: [Bug rtl-optimization/20331] [3.4/4.0/4.1 Regression] Wrong code generation for the argument of the pure function in PIC
- References: <20050305081136.20331.kkojima@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From joern dot rennecke at st dot com 2005-03-10 18:18 -------
Subject: Re: [3.4/4.0/4.1 Regression] Wrong code generation for the argument of the pure function in PIC
rth at gcc dot gnu dot org wrote:
>------- Additional Comments From rth at gcc dot gnu dot org 2005-03-10 13:57 -------
>I'll agree that modified_{in,between}_p need to check the address for changes,
>since that controls the ultimate value that is accessed.
>
>I do not agree that alias.c needs to check the address for changes. In that
>case we're trying to determine if assigning a value to one memory reference
>can possibly change the value of another memory reference. Which is false for
>*all* read-only memory.
>
>
>
After looking a bit more at true_dependence and friends, I think you are
right; the callers have
checked or will be checking the address. And apart from the dependency
functions in alias.c,
I could find only modified_{in,between}_p using MEM_READONLY_P to
indicate that the
entire MEM doesn't change.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20331