<div dir="ltr"><div>FWIW, I was able to use the EarlyCSE debug counters without issue in a Release build with -DLLVM_ENABLE_ASSERTIONS=Yes. Further, the only preprocessor checks I see around debug counters use `NDEBUG`. Am I missing something?</div><div><br></div><div>It seems reasonable to me to require that assertions are on when you're trying to debug the compiler. Not so much to require that the compiler itself has been built with `-O0` :)</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 13, 2018 at 1:44 PM David A. Greene via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Fedor Sergeev <<a href="mailto:fedor.sergeev@azul.com" target="_blank">fedor.sergeev@azul.com</a>> writes:<br>
<br>
> My problem with debug counters is that they are ... well ...<br>
> debug-only :)<br>
> I was planning to use debug counters for the purpose of pass execution<br>
> counting but then<br>
> realized that it will not work in Release mode at all.<br>
><br>
> But other than that debug counters seems to be a exactly a machinery<br>
> designed for opt-in control of internal pass activity.<br>
<br>
Why were debug counters made debug-only in the first place?  We<br>
certainly use our -pass-max stuff in release builds.  Most of the time a<br>
debug build is fine but for some codes a debug build is way too slow to<br>
allow bisecting in a reasonable amount of time.<br>
<br>
                              -David<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>