This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix const/pure call RTL DCE (PR rtl-optimization/38245)
On Wed, Jan 14, 2009 at 8:07 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Wed, Jan 14, 2009 at 02:57:24PM +0100, Richard Guenther wrote:
>> > I don't like this at all, because you can very easily generate wrong code
>> > with it, but I've left it in with a comment.
>> >
>> > Here is the updated, so far untested, patch, that I'm going to
>> > bootstrap/regtest now.
>>
>> Is there any effect on code-generation from the calls.c part?
>
> On x86_64 I haven't seen any (from cc1files), on i386 minor scheduling
> differences in 33 out of 386 files, like:
>
> @@ -4417,9 +4417,9 @@ handle_section_attribute:
> .loc 1 5867 0
> addl $24, %ecx
> leal 24(%edi), %eax
> - movb %dl, -28(%ebp)
> movl %eax, 4(%esp)
> movl %ecx, (%esp)
> + movb %dl, -28(%ebp)
> call strcmp
> .loc 1 5865 0
> movzbl -28(%ebp), %edx
>
> (- is vanilla trunk, + is trunk + the calls.c change alone).
>
> FYI, the whole patch I've posted successfully bootstrapped/regtested
> on {x86_64,i686,powerpc64,ia64}-linux, on powerpc64-linux with
> --with-cpu=default32 and {-m32,-m64} testing.
Ok, I guess I don't care. The call.c change is ok.
Richard.
> Jakub
>