Is OrcJIT compile-on-demand thread safe?

Hi all,

I am trying OrcMCJITReplacement but I am seeing failures whenever multiple threads calls the same function concurrently. I am suspecting that the compile-on-demand feature is not thread safe.

Details of my usecase:

A single JIT engine compiles code and sends the jitted function address to multiple threads. So, all threads could be enter the lazy function stub concurrently.

A good way to confirm in this case is to build with TSAN enabled.
I think it is: cmake -DLLVM_USE_SANITIZER=Thread