April 24, 2018
On Tue, Apr 24, 2018 at 08:18:55PM +0000, Basile B. via Digitalmars-d wrote:
> On Tuesday, 24 April 2018 at 18:53:02 UTC, H. S. Teoh wrote:
> > Yesterday afternoon I ran into a performance issue in one of my D projects, and thought, "well, it's simple, just compile with -profile, identify the hotspot, optimize".  Unfortunately, doing that triggered a latent codegen bug in -O that randomly causes runtime segfaults, basically halting all progress.  I spent all morning today to reduce the code in order to identify the codegen bug:
> > 
> > 	https://issues.dlang.org/show_bug.cgi?id=18794
> 
> In the report you forgot to mention that the bug is only visible with
> -O -profile.
> With just -O the provided test case works fine.

Really?! That's weird...  Originally the problem appeared with -O -profile, but after reduction, I could reproduce the problem even without -profile. (Just tested it again: the segfault happens without -profile.)  Possibly it's affected by the OS/architecture?  Or perhaps it's just very sensitive to the exact combination of flags + environmental factors.


T

-- 
I'm still trying to find a pun for "punishment"...
April 24, 2018
On Tuesday, 24 April 2018 at 20:44:12 UTC, H. S. Teoh wrote:
> On Tue, Apr 24, 2018 at 08:18:55PM +0000, Basile B. via Digitalmars-d wrote:
>> On Tuesday, 24 April 2018 at 18:53:02 UTC, H. S. Teoh wrote:
>> > Yesterday afternoon I ran into a performance issue in one of my D projects, and thought, "well, it's simple, just compile with -profile, identify the hotspot, optimize".  Unfortunately, doing that triggered a latent codegen bug in -O that randomly causes runtime segfaults, basically halting all progress.  I spent all morning today to reduce the code in order to identify the codegen bug:
>> > 
>> > 	https://issues.dlang.org/show_bug.cgi?id=18794
>> 
>> In the report you forgot to mention that the bug is only visible with
>> -O -profile.
>> With just -O the provided test case works fine.
>
> Really?! That's weird...  Originally the problem appeared with -O -profile, but after reduction, I could reproduce the problem even without -profile. (Just tested it again: the segfault happens without -profile.)  Possibly it's affected by the OS/architecture?  Or perhaps it's just very sensitive to the exact combination of flags + environmental factors.
>
>
> T

I'm sorry to bring confusion but i've tested on linux x86_64. With dmd 2.079.1 and ~master (just updated it right now). Here for some reason -profile is always required to get the error :/