tra added inline comments.

================
Comment at: lib/Driver/Tools.cpp:10707
@@ +10706,3 @@
+    // ptxas does not accept -g option if optimization is enabled, so we ignore
+    // compiler's -O* options if we want debug info.
+    CmdArgs.push_back("-g");
----------------
tra wrote:
> hfinkel wrote:
> > echristo wrote:
> > > jlebar wrote:
> > > > I think this is would be very surprising to users.  -g does not usually 
> > > > have a large performance impact, so -O2 -g does not generally mean 
> > > > "generate slow code," as far as I know.  I'm concerned that this will 
> > > > result in people accidentally compiling with ptxas -O0 (which is why I 
> > > > didn't do it like this to begin with).
> > > > 
> > > > Can we accomplish this in a more explicit way?
> > > Other than warning I'm not sure what we can do, we could do that instead 
> > > and make everyone use O0 that wants debug info in their ptx?
> > I'd rather we refuse to do anything (i.e. produce an error) than silently 
> > remove either optimizations or -g. Do we have a way to separately specify 
> > the optimization level for host and device code? If not, looks like we 
> > should add one.
> NVCC has -G option to control ptxas' debug options. If it's present, ptxas 
> optimizations are disabled. I could add a similar option. "-gcuda-device" 
> perhaps?
> 
@hfinkel: separate option should work. Any suggestions for a good name? 
-gcuda-device sounds awkward.

@echristo: "-O0" is not going to work for everyone in practice due to ptxas 
limitations. For instance on some thrust files ptxas runs out of memory on all 
non-inlined functions in unoptimized code. Compiling with -O2 is one way to 
work around that, but I do want device-side debug info!



http://reviews.llvm.org/D17111



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to