gallivm: Properly update for removal of JITMemoryManager in LLVM 3.6.
authorJosé Fonseca <jfonseca@vmware.com>
Wed, 22 Oct 2014 19:08:57 +0000 (20:08 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Thu, 23 Oct 2014 09:19:33 +0000 (10:19 +0100)
commit065256dfc4464cb510f84d638da1b345ff65b693
treee6f03d1d40ca9d1e930b55cd7b5054886f6937b4
parent3fd220e2eb699d2eb10cf0b8a97f48730baf76cf
gallivm: Properly update for removal of JITMemoryManager in LLVM 3.6.

JITMemoryManager was removed in LLVM 3.6, and replaced by its base class
RTDyldMemoryManager.

This change fixes our JIT memory managers specializations to derive from
RTDyldMemoryManager in LLVM 3.6 instead of JITMemoryManager.

This enables llvmpipe to run with LLVM 3.6.

However, lp_free_generated_code is basically a no-op because there are
not enough hook points in RTDyldMemoryManager to track and free the code
of a module.  In other words, with MCJIT, code once created, stays
forever allocated until process destruction.  This is not speicfic to
LLVM 3.6 -- it will happen whenever MCJIT is used regardless of version.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_init.c
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp