<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Alex already answered your question.<div class=""><br class=""></div><div class="">Q.<br class=""><div class=""><div><blockquote type="cite" class=""><div class="">On Jul 28, 2015, at 1:46 AM, Johnny Bory <<a href="mailto:johnny.bory.12@gmail.com" class="">johnny.bory.12@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi,<br class=""><br class="">i have got some troubles while trying to instrumentate a indirect call instruction. <br class="">Basically, every time i run into a CALL64r i would like to have this situation:<br class=""><font face="monospace, monospace" class="">                 ------<br class="">                | .... |<br class="">                | CMP  |</font><div class=""><font face="monospace, monospace" class="">                | JE   |</font></div><div class=""><font face="monospace, monospace" class="">                 ------</font></div><div class=""><font face="monospace, monospace" class="">                  |  |</font></div><div class=""><font face="monospace, monospace" class="">                ---  -----</font></div><div class=""><font face="monospace, monospace" class="">                |        |</font></div><div class=""><font face="monospace, monospace" class="">                ----    ---- </font></div><div class=""><font face="monospace, monospace" class="">               |EXIT|  |CALL|</font></div><div class=""><font face="monospace, monospace" class="">                ----   |....|</font></div><div class=""><font face="monospace, monospace" class="">                        ----</font><br class=""><font face="arial, helvetica, sans-serif" class="">So i do a splice, fix up successors and predecessors, but since the call implicitly uses some register the compilation fails with a lot of this:<br class=""><br class="">  *** Bad machine code: Using an undefined physical register ***</font></div><div class=""><font face="arial, helvetica, sans-serif" class="">- function:    parse_and_dump_tv_tag</font></div><div class=""><font face="arial, helvetica, sans-serif" class="">- basic block: BB#126 (null) (0x6127658)</font></div><div class=""><font face="arial, helvetica, sans-serif" class="">- instruction: CALL64r %vreg41, <regmask>, %RSP<imp-use>, %EDI<imp-use>, %RSI<imp-use>, %RDX<imp-use>, %RCX<imp-use>, %R8<imp-use>, %R9D<imp-use>, %AL<imp-use>, %RSP<imp-def>, %EAX<imp-def>; GR64:%vreg41<br class=""><br class="">How can i get rid of this errors?<br class=""><br class="">Thank you very much,<br class=""><br class="">-- Jon</font></div></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:LLVMdev@cs.uiuc.edu" class="">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" class="">http://llvm.cs.uiuc.edu</a><br class=""><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br class=""></div></blockquote></div><br class=""></div></div></body></html>