<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Forgot to CC the list.<br>
    <br>
    -- John t.<br>
    <div class="moz-forward-container"><br>
      <br>
      -------- Original Message --------
      <table class="moz-email-headers-table" border="0" cellpadding="0"
        cellspacing="0">
        <tbody>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Subject:
            </th>
            <td>Re: [LLVMdev] Fwd: updating module references in call
              instructions after a module clone</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Date: </th>
            <td>Thu, 06 Dec 2012 11:48:37 -0600</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">From: </th>
            <td>John Criswell <a class="moz-txt-link-rfc2396E" href="mailto:criswell@illinois.edu"><criswell@illinois.edu></a></td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">Organization:
            </th>
            <td>University of Illinois</td>
          </tr>
          <tr>
            <th align="RIGHT" nowrap="nowrap" valign="BASELINE">To: </th>
            <td>charles quarra
              <a class="moz-txt-link-rfc2396E" href="mailto:charllsnotieneningunputocorreo@gmail.com"><charllsnotieneningunputocorreo@gmail.com></a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <pre>On 12/6/12 11:43 AM, charles quarra wrote:
> (i hope bumping my own question as a way for begging attention is not
> too frowned upon on the list, otherwise i can adjust the frequency as
> low as required)
>
>
> suppose module B has call/InvokeInst to calls in module A
> after i clone both modules i get B' and A'
> my concrete question is this:
> Are there any special steps that i need to do before linking the
> modules B' and A' together?

If I understand correctly, you have a function in module A (call it 
foo), and you're calling it from module B (so B declares foo as an 
externally defined function).  Is this correct?

If so, if you clone B and A, and the cloning doesn't change the names of 
the functions, and you link the clones but not the originals, then I 
would think it would just link together.

-- John T.

>
> my main concern is that B' will have call/InvokeInst pointing to
> module A, not A', and the linker will not be able to notice that it
> should replace A' references with A
>
> The reason for linking B' and A' instead of A and B is to avoid
> rebuilding all modules when only a few of them change
>
> any suggestions about this are greatly welcome
> _______________________________________________
> LLVM Developers mailing list
> <a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
> <a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>

</pre>
      <br>
      <br>
    </div>
    <br>
  </body>
</html>