This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

A gcse bug


> 
> 
> 
>   In message <m0yurrq-000266C@ocean.lucon.org>you write:
>   > I don't quite understand what is going on. But something is wrong.
>   > 
>   > 1. For gcse.c, we have
>   > 
>   > 	block head
>   > 	...
>   > 	call foo/set memory
>   > 	...
>   > 	block end
>   > 
>   > 	block head
>   > 	...
>   > 	set reg MEM(addr)
>   > 	...
>   > 	block end
>   > 
>   > Since there is no memory set in the second block, gces thinks it is
>   > safe to optimize MEM(addr). But in fact, the mem set insn in the
>   > previous block may change MEM(addr).
> It's not that simple.  It depends on the flow relationships between
> the various blocks.
> 
> Can you provide a testcase?  I don't know the x86 well enough to be
> able to debug the problem in any kind of reasonable timeframe.  Even
> a large function is OK if you can point out the instructions which
> are incorrectly optimized.
> 
> 

Here is a testcase for gcse bug. Compile it with -O2. You should
get a core dump on x86.


H.J.
----
begin 644 tPlex.cc.gz
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
<5&"UD$QR4=;R!PR`F0-;.7`I_7_.NKU_)/\`````
`
end


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]