[llvm] r176214 - The FastISEL should be fast. But when we record statistics we use atomic operations to increment the counters.

Jan Voung jvoung at chromium.org
Thu Feb 28 12:42:51 PST 2013


On Thu, Feb 28, 2013 at 9:19 AM, Eli Bendersky <eliben at google.com> wrote:

> >> I kept NumDAGBlocks and NumFastIselBlocks, because they are called once
> >> per blocks and not once per instructions. I don't mind if we put them
> behind
> >> #ifndef NDEBUG as well.
> >
> >
> > It's why I was asking, I think it might be an interesting idea to put all
> > the statistics
> > behind NDEBUG so we can feel free to collect stats whenever rather than
> > needing to worry about putting the high firing status under NDEBUG
> > explicitly.
>
> FWIW, I'm +1 on this. You'll still have to wrap the actual ++counter
> code with DEBUG or some other macro-fu all over the code, though.
>
> Eil
>


Perhaps we could just re-define the operator++(), operator--(), etc. in
Statistics.h to only do real work "#if !defined(NDEBUG) ||
defined(LLVM_ENABLE_STATS)", and to be nops otherwise.  Where
LLVM_ENABLE_STATS would be like LLVM_ENABLE_DUMP...   If that sounds
reasonable, I could spin up a patch.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130228/20a70262/attachment.html>


More information about the llvm-commits mailing list