alok marked an inline comment as done.
alok added inline comments.

================
Comment at: clang/lib/Frontend/CompilerInvocation.cpp:1648
 
-  if (Opts.OptimizationLevel > 0 && Opts.hasReducedDebugInfo() &&
+  if (Opts.hasReducedDebugInfo() &&
       llvm::is_contained(DebugEntryValueArchs, T.getArch()))
----------------
dblaikie wrote:
> alok wrote:
> > alok wrote:
> > > dblaikie wrote:
> > > > probinson wrote:
> > > > > I think we don't want this enabled by default at -O0.  It doesn't run 
> > > > > any optimizations that should eliminate parameters, so this is going 
> > > > > to increase debug info size for no real benefit to the debugging 
> > > > > experience.
> > > > +1 to @probinson here. That's generally been the thinking behind why 
> > > > this was only enabled when optimizations are enabled. (there's some 
> > > > minor tradeoff here: call site descriptions in unoptimized code can 
> > > > still be useful if they call into optimized code, so this is a bit 
> > > > heuristical - assuming that all code will be compiled with the same 
> > > > optimization level)
> > > > 
> > > > If flang is in a different situation and enables some optimizations at 
> > > > -O0 that make call site parameter descriptions beneficial even there, 
> > > > then maybe we'll need some different way to differentiate optimizations 
> > > > V no optimizations for the purpose of this feature.
> > > Thanks Paul for the comment. I shall probably add an option to enable in 
> > > such cases which should remain off by default, Flang driver can pass that 
> > > to compiler to turn it on.
> > Thanks David for your explanation and thoughts. Please also look at trigger 
> > to this https://reviews.llvm.org/D99160
> > 
> > It is needed in a Fortran case. I shall probably drop to enable it by 
> > default and add an option which by default is disabled and Fortran driver 
> > can pass that to make use of it.
> Sounds like @djtodoro is suggesting in 
> https://reviews.llvm.org/D99160#2666106 that the "Bug" to fix here is the 
> presence of DW_OP_call_value at -O0, it seems that could be an issue for the 
> existing/original use of call_site_parameter/call_value (in C++/clang) as it 
> would be for flang - so the fix should probably not be flang-specific if the 
> issue isn't flang-specific. Understanding why we produce DW_OP_call_values at 
> -O0, whether we can/should avoid that, what it costs (how much larger the 
> debug info gets by adding DW_TAG_call_sites at -O0) would be necessary to 
> determine the right path forward here.
Thanks David for clarification. I shall look at it and get back.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99238/new/

https://reviews.llvm.org/D99238

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

Reply via email to