<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Clang does support -finstrument-functions (and also provides -finstrument-functions-after-inlining and XRay-based options:
<a href="https://llvm.org/docs/XRay.html">https://llvm.org/docs/XRay.html</a>).</p>
<p> -Hal<br>
</p>
<div class="moz-cite-prefix">On 11/6/19 6:22 PM, Jeff Hammond via devel wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAGKz=uKtKEW3ermuiAXWhg1-X14NEtnp4zpesD3RO9knxgaKBg@mail.gmail.com">
<div dir="ltr">
<div>Do you have a list of what compilers support this?  Is this just GCC, just GCC and Clang, or a bigger list?  If Clang supports it, do you know if all of the Clang derivatives (e.g. IBM XLC) support it?</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
Jeff</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Nov 6, 2019 at 2:04 PM Raffenetti, Kenneth J. via devel <<a href="mailto:devel@mpich.org" moz-do-not-send="true">devel@mpich.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">
Folks,<br>
<br>
I want to draw attention to a pull request posted to the MPICH github.<br>
<br>
   <a href="https://github.com/pmodels/mpich/pull/4139" rel="noreferrer" target="_blank" moz-do-not-send="true">https://github.com/pmodels/mpich/pull/4139</a><br>
<br>
This proposes to remove all MPIR_FUNC_VERBOSE_ENTER and <br>
MPIR_FUNC_VERBOSE_EXIT macros from MPICH and instead use compiler <br>
function instrumentation when configured for debug logging: <br>
<a href="https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html" rel="noreferrer" target="_blank" moz-do-not-send="true">https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html</a>.<br>
<br>
There are 2 main benefits:<br>
<br>
1. De-clutter the code. PR stats show a net deletion of >10,000 lines!<br>
2. Less error-prone. The compiler will reliably instrument *all* <br>
functions, and will not suffer from copy/paste errors or typos.<br>
<br>
Drawbacks:<br>
<br>
1. Requires compiler support for instrumentation. May affect users <br>
debugging certain compiler configurations.<br>
2. Compiler function instrumentation logs function addresses, not <br>
symbols. An additional step is needed to convert addresses to function <br>
names via script (included in PR).<br>
<br>
What do people think? Will these changes affect anyone using debug <br>
logging in any regular capacity? We're looking for feedback good or bad. <br>
Let us know.<br>
<br>
Thanks,<br>
Ken<br>
_______________________________________________<br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/devel" rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.mpich.org/mailman/listinfo/devel</a><br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr" class="gmail_signature">Jeff Hammond<br>
<a href="mailto:jeff.science@gmail.com" target="_blank" moz-do-not-send="true">jeff.science@gmail.com</a><br>
<a href="http://jeffhammond.github.io/" target="_blank" moz-do-not-send="true">http://jeffhammond.github.io/</a></div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
To manage subscription options or unsubscribe:
<a class="moz-txt-link-freetext" href="https://lists.mpich.org/mailman/listinfo/devel">https://lists.mpich.org/mailman/listinfo/devel</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>