--- Comment #24 from ebotcazou at gcc dot gnu dot org 2007-10-11 05:33
---
Subject: Bug 33638
Author: ebotcazou
Date: Thu Oct 11 05:33:04 2007
New Revision: 129226
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129226
Log:
PR rtl-optimization/33638
* dse.c (stru
--- Comment #23 from Kenneth dot Zadeck at NaturalBridge dot com
2007-10-08 12:35 ---
Subject: Re: [4.3 regression]: wrong code with -fforce-addr
Your (a) solution would only paper over the problem: dse assumes that
it can see all of the loads and stores off of the frame in more plac
--- Comment #22 from ubizjak at gmail dot com 2007-10-08 12:15 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00420.html
--
ubizjak at gmail dot com changed:
What|Removed |Added
---
--- Comment #21 from ubizjak at gmail dot com 2007-10-08 08:56 ---
The problem is, that we don't have correct REG_DEP_TRUE expr of the call to
powf after we have pushed ebp+const into temp register.
I'm testing following patch to explow.c:
Index: explow.c
==
--- Comment #20 from zadeck at naturalbridge dot com 2007-10-06 21:20
---
Subject: Re: [4.3 regression]: wrong code with
-fforce-addr
ubizjak at gmail dot com wrote:
> --- Comment #19 from ubizjak at gmail dot com 2007-10-06 19:58 ---
> In dse.c, scan_insn(), we have:
>
>
--- Comment #19 from ubizjak at gmail dot com 2007-10-06 19:58 ---
In dse.c, scan_insn(), we have:
if ((GET_CODE (PATTERN (insn)) == CLOBBER)
|| volatile_refs_p (PATTERN (insn))
|| (flag_non_call_exceptions && may_trap_p (PATTERN (insn)))
|| (RTX_FRAME_RELATED_P (ins
--- Comment #18 from zadeck at naturalbridge dot com 2007-10-06 13:07
---
Subject: Re: [4.3 regression]: wrong code with
-fforce-addr
ubizjak at gmail dot com wrote:
> --- Comment #16 from ubizjak at gmail dot com 2007-10-06 06:49 ---
> (In reply to comment #14)
>
>> The
--- Comment #17 from zadeck at naturalbridge dot com 2007-10-06 12:27
---
Subject: Re: [4.3 regression]: wrong code with
-fforce-addr
ubizjak at gmail dot com wrote:
> --- Comment #16 from ubizjak at gmail dot com 2007-10-06 06:49 ---
> (In reply to comment #14)
>
>> The
--- Comment #16 from ubizjak at gmail dot com 2007-10-06 06:49 ---
(In reply to comment #14)
> The testcase works for me, that is, it produces the expected output good.out.
Uh, you have to un-comment the line 315 of the comunpack.f test. The testcase,
as attached, produces good code. Un
--- Comment #15 from zadeck at naturalbridge dot com 2007-10-05 20:17
---
Subject: Re: [4.3 regression]: wrong code with
-fforce-addr
kargl at gcc dot gnu dot org wrote:
> --- Comment #13 from kargl at gcc dot gnu dot org 2007-10-05 17:50
> ---
> (In reply to comment #9)
>
--- Comment #14 from rguenth at gcc dot gnu dot org 2007-10-05 20:16
---
The testcase works for me, that is, it produces the expected output good.out.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33638
--- Comment #13 from kargl at gcc dot gnu dot org 2007-10-05 17:50 ---
(In reply to comment #9)
> > Hope this helps.
> Sure, I've got the problem. The problem is actually in RTL optimization, where
> dse1 pass removes wrong insn.
>
> Suprisingly, the problem is in line 61 of comunpack.f
--- Comment #12 from zadeck at naturalbridge dot com 2007-10-05 13:02
---
Subject: Re: [4.3 regression]: wrong code with
-fforce-addr
rguenth at gcc dot gnu dot org wrote:
> --- Comment #11 from rguenth at gcc dot gnu dot org 2007-10-05 12:36
> ---
> But powf is pure/const,
--- Comment #11 from rguenth at gcc dot gnu dot org 2007-10-05 12:36
---
But powf is pure/const, so the call is not a use.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33638
--
zadeck at naturalbridge dot com changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |zadeck at naturalbridge dot
|dot org
--- Comment #10 from ubizjak at gmail dot com 2007-10-05 11:40 ---
(In reply to comment #9)
> This is wrong. dse1 pass should _not_ remove (insn 1312). (insn 1322) is
> storing to the same address as (insn 1312), but we have a call to powf in
> between, so new store insn doesn't kill pr
--- Comment #9 from ubizjak at gmail dot com 2007-10-05 10:47 ---
> Hope this helps.
Sure, I've got the problem. The problem is actually in RTL optimization, where
dse1 pass removes wrong insn.
Suprisingly, the problem is in line 61 of comunpack.f:
--> bscale = 2.0**real(idrstmpl(2))
17 matches
Mail list logo