Automatically do the equivalent of freeMachineCodeForFunction(F) when F is
authorJeffrey Yasskin <jyasskin@google.com>
Tue, 27 Oct 2009 00:03:05 +0000 (00:03 +0000)
committerJeffrey Yasskin <jyasskin@google.com>
Tue, 27 Oct 2009 00:03:05 +0000 (00:03 +0000)
commit7a9034c4db248fe8b8cb82762881b51b221988d3
tree730343fa9578d5b2ea0637b4cf330070aab8c0f7
parentf2becca90b832cc02345fba063b9b439b2be33ad
Automatically do the equivalent of freeMachineCodeForFunction(F) when F is
being destroyed. This allows users to run global optimizations like globaldce
even after some functions have been jitted.

This patch also removes the Function* parameter to
JITEventListener::NotifyFreeingMachineCode() since it can cause that to be
called when the Function is partially destroyed. This change will be even more
helpful later when I think we'll want to allow machine code to actually outlive
its Function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85182 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ExecutionEngine/ExecutionEngine.h
include/llvm/ExecutionEngine/JITEventListener.h
lib/ExecutionEngine/JIT/JIT.cpp
lib/ExecutionEngine/JIT/JIT.h
lib/ExecutionEngine/JIT/JITEmitter.cpp
lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp
unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp
unittests/ExecutionEngine/JIT/JITTest.cpp