<div dir="ltr">Can't you just include the generated files? What different way would you like them exposed?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Oct 28, 2013 at 11:23 AM, Stephen Checkoway <span dir="ltr"><<a href="mailto:s@pahtak.org" target="_blank">s@pahtak.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On Oct 28, 2013, at 2:02 PM, Tyler Hardin <<a href="mailto:tghardin1@catamount.wcu.edu">tghardin1@catamount.wcu.edu</a>> wrote:<br>
<br>
> See the source here: <a href="https://github.com/earl/llvm-mirror/blob/master/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp" target="_blank">https://github.com/earl/llvm-mirror/blob/master/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp</a>. It looks like getRegisterName might do what you want, but I don't know where it's coming from. (Whether it's a function or a member of a super class. Hopefully, if it's a member, it's public.)<br>

<br>
</div>Looks like X86ATTInstPrinter::getRegisterName() and X86IntelInstPrinter::getRegisterName() are static, public members. It would still be handy to expose an enum somewhere. This is to support something like:<br>
<br>
if (Inst.getOpcode() == X86::CALL64r) {<br>
  if (Inst.getOperand(0).getReg() == X86::RIP) {<br>
    // ...<br>
  }<br>
}<br>
<br>
E.g., exposing some of the tablegened enums in X86GenRegisterInfo.inc and X86GenInstrInfo.inc would be very handy.<br>
<br>
Steve<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
><br>
> On Oct 28, 2013 12:03 PM, "Stephen Checkoway" <<a href="mailto:s@pahtak.org">s@pahtak.org</a>> wrote:<br>
> I'm iterating over MCInsts and I'd like to examine particular instructions. For example, I'd like to look at all x86 CALL64m instructions. I may be missing something, but it seems like my only option is to use MCInstPrinter::getOpcodeName and compare strings. (Of course, I could iterate through the opcodes and build up a table of the ones I'm interested in to avoid string comparisons.)<br>

><br>
> Register mappings to names seem to be even worse. It appears you have to go through MCInstPrinter::printRegName(raw_ostream&, unsigned).<br>
><br>
> Is there a better way?<br>
><br>
> --<br>
> Stephen Checkoway<br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
--<br>
Stephen Checkoway<br>
<br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>~Craig
</div>