[llvm-dev] Problem with local context getType() == global context getType()

koffie drinker via llvm-dev llvm-dev at lists.llvm.org
Tue Aug 25 07:28:41 PDT 2015


I'm experiencing a weird problem with llvm 3.7(rc2/rc3) that did not occur
in llvm 3.6.2
I created a bug for it: https://llvm.org/bugs/show_bug.cgi?id=24521

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.

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.

I needed 3.7 because of the LLVMAddGlobalMapping C api fixes.
Could someone help me out ? Or point me in the right direction? I'm using
the C api.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150825/02ab74c3/attachment.html>

More information about the llvm-dev mailing list