[LLVMdev] another experimental patch for bug 2606

Garrison Venn gvenn.cfe.dev at gmail.com
Fri Feb 26 17:44:08 PST 2010

Hey all,

Attached you will find an experimental patch which allows me to play with a derived JIT class. With this patch
I've alleviated my concerns with forcing cross module behavior for all users of JIT. However this introduces some 
new semantics, and kind of circumvents the EngineBuilder API. More important though, I have not addressed
any concern about using stub functions in eager compilation mode. I don't yet understand this concern since
these stubs are compile time only, and it seems that the pending function system inherently uses stubs. Anyway
I'm sure my understanding will get fixed soon enough. :-) The new code is NOT commented.

This patch was NOT attached to 2606. Rather I feel this patch is experimental in nature. As before I tried to use "GMV Mod" 
as comments to mark my modifications as long as they did not involve introducing new files. If one is interested and wants 
to use this patch, one should use the test cases found in  2606 and modify them in the following ways.

1) Add: #include "llvm/ExecutionEngine/CrossModuleJIT.h"
2) Add the call: LLVMSetupForCrossModuleJITUse();
	before using the EngineBuilder API

For example take:

	ExecutionEngine* EE = EngineBuilder(M).create();

and turn it into:

	ExecutionEngine* EE = EngineBuilder(M).create();

I wrote this somewhat fast so caveat emptor.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100226/87fda390/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PR2606.experimental.patch
Type: application/octet-stream
Size: 11233 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100226/87fda390/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100226/87fda390/attachment-0001.html>

More information about the llvm-dev mailing list