www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - Compiling optimized release build with debug info turns off

reply "Mikko Ronkainen" <mikoro iki.fi> writes:
I want to profile a program with a profiler (say Intel VTune). If 
I have understood correctly, the build to be profiled should be 
an optimized release version. It would be beneficial to have 
debug info in that profile build though so that the profiler can 
show correct functions names etc.

Now if I add -g to an optimized build (-O3 -release) in LDC, it 
seems that all/some optimizations are turned off. The debug (-g) 
and profile (-O3 -release -g) builds have the same performance. 
Release (-O3 -release) is noticeably faster.

The profile build works as expected in GDC.

I don't know if this something to do with this: 
http://forum.dlang.org/thread/iiqppmojezdrmnsfienq forum.dlang.org
Dec 21 2013
parent reply "David Nadlinger" <code klickverbot.at> writes:
On Saturday, 21 December 2013 at 12:17:57 UTC, Mikko Ronkainen 
wrote:
 Now if I add -g to an optimized build (-O3 -release) in LDC, it 
 seems that all/some optimizations are turned off. The debug 
 (-g) and profile (-O3 -release -g) builds have the same 
 performance. Release (-O3 -release) is noticeably faster.
The issue is that currently -g links in a non-optimized build of druntime/Phobos, which is probably not a good idea: https://github.com/ldc-developers/ldc/issues/417 I'm currently thinking about enabling the druntime/Phobos debug libraries when -d-debug is given (which also enables debug {} blocks), but if you have a better idea, please comment on the above GitHub issue. David
Dec 23 2013
parent reply "Kai Nacke" <kai redstar.de> writes:
Hi David!

On Monday, 23 December 2013 at 15:15:55 UTC, David Nadlinger 
wrote:
 The issue is that currently -g links in a non-optimized build 
 of druntime/Phobos, which is probably not a good idea: 
 https://github.com/ldc-developers/ldc/issues/417
The problem behind this issue can be generalized. E.g. I like to create a druntime/Phobos version compiled with the address sanitizer turned on. How do I link against this library? Regards, Kai
Jan 01 2014
parent David Nadlinger <code klickverbot.at> writes:
Hi Kai,

On Wed, Jan 1, 2014 at 5:05 PM, Kai Nacke <kai redstar.de> wrote:
 The problem behind this issue can be generalized. E.g. I like to create a
 druntime/Phobos version compiled with the address sanitizer turned on. How
 do I link against this library?
ldc2 -defaultlib=libphobos-ldc-asan -debuglib=libphobos-ldc-asan, or something like that? David
Jan 01 2014