<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 17, 2018 at 3:09 PM, Friedman, Eli <span dir="ltr"><<a href="mailto:efriedma@codeaurora.org" target="_blank">efriedma@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 5/17/2018 10:10 AM, Kenneth Adam Miller via llvm-dev wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
<br>
I've looked around in the documentation, and I can't see anywhere where there is a backend plugin capability for LLVM. I'd like to be able to get the output of the instruction selector along with the LLVM IR, or perhaps instrument that.<br>
<br>
<br>
Is there any capability to have a backend plugin in LLVM at all?<br>
</blockquote>
<br></span>
It sounds like you want to write a MachineFunctionPass as a plugin, and run it in the middle of the pass pipeline of an existing backend?  No, there isn't any support for that; RegisterStandardPasses only works on IR.<span class="HOEnZb"><font color="#888888"><br>
<br>
-Eli<br>
<br>
-- <br>
Employee of Qualcomm Innovation Center, Inc.<br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project<br>
<br>
</font></span></blockquote></div><br></div><div class="gmail_extra">Yeah, I just discovered MachineFunctionPass. I don't know that I want to run it in the middle of the pass pipeline of an existing backend so much as I want the desired target to run and then have my machine function pass run. If I can get the address of every machine instruction I will be very happy.</div><div class="gmail_extra"><br></div></div>