<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 8/25/15 10:28 AM, koffie drinker via
      llvm-dev wrote:<br>
    </div>
    <blockquote
cite="mid:CAERF46KdGU+3MpSDeoLH_3vqb16+V5jyO3Dv23PTfKhLj-eUQA@mail.gmail.com"
      type="cite">
      <meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi,
        <div><br>
        </div>
        <div>I'm experiencing a weird problem with llvm 3.7(rc2/rc3)
          that did not occur in llvm 3.6.2</div>
        <div>I created a bug for it: <a moz-do-not-send="true"
            href="https://llvm.org/bugs/show_bug.cgi?id=24521">https://llvm.org/bugs/show_bug.cgi?id=24521</a></div>
        <div><br>
        </div>
        <div>
          <div>I'm building a app where multiple code gen can happen in
            parallel. The documentation state that I need to use
            separate context. Each thread has it's own context.</div>
          <div><br>
          </div>
          <div>When code generating a constant number I use the
            *InContext() calls to create the types. The assert fails
            since the optimizer replaces some numbers with a global
            type. The values are equal but the types are not. I did
            patch some calls to compare on getTypeID() but got another
            assert a couple of days later in another source file.</div>
        </div>
      </div>
    </blockquote>
    <br>
    It sounds like the two values (or the types of the values) are in
    different contexts.  If you are creating the Types, make sure each
    type is created in the correct context.  If some LLVM API function
    is creating the type for you, then it may be creating it in the
    wrong context (i.e., you have found a bug) or the LLVM API function
    has to assume a context (i.e., there is a limitation in the API for
    your application).<br>
    <br>
    If you determine that it is a bug, you should file a bug report.  If
    it's a limitation, you should file an enhancement request.<br>
    <br>
    Sorry I can't be more helpful than that; I haven't used LLVM 3.7
    yet, and I haven't used multiple contexts within a multi-threaded
    application.  These are educated guesses on my part.<br>
    <br>
    Regards,<br>
    <br>
    John Criswell<br>
    <br>
    <blockquote
cite="mid:CAERF46KdGU+3MpSDeoLH_3vqb16+V5jyO3Dv23PTfKhLj-eUQA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>I needed 3.7 because of the LLVMAddGlobalMapping C api
          fixes. </div>
        <div>Could someone help me out ? Or point me in the right
          direction? I'm using the C api.</div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a class="moz-txt-link-freetext" href="http://www.cs.rochester.edu/u/criswell">http://www.cs.rochester.edu/u/criswell</a></pre>
  </body>
</html>