<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Fri, Jun 17, 2016 at 5:42 AM Matthias Braun via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">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"><div style="word-wrap:break-word"><div>Some of this overlaps with the features in XRay (<a href="http://lists.llvm.org/pipermail/llvm-dev/2016-April/098901.html" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2016-April/098901.html</a>).</div></div><div style="word-wrap:break-word"><div><br></div></div></blockquote><div><br></div><div>Matthias beat me to it!</div><div><br></div><div>From reading the RFC, it seems that some of what XRay is doing on the instrumentation side is very similar to what CSI enables. The current implementation I'm working with (inĀ <a href="http://reviews.llvm.org/D19904">http://reviews.llvm.org/D19904</a>) requires some very deep integration with the LLVM compiler infrastructure (essentially a machine function pass, and instruction lowering on a per-platform basis).</div><div><br></div><div>The development of XRay has a few trade-offs for code-size effect and runtime overhead, which I suspect are unique to XRay's target use-case which is for efficient function call accounting/tracing.</div><div><br></div><div>So I have two high-level questions:</div><div><br></div><div>- Will something like XRay be implementable on-top of CSI?</div><div>- How will the runtime components cooperate or be handled by tools built on top of CSI?</div><div><br></div><div>Cheers</div></div></div>