RFC: Shark LLVM 3.0svn support

Xerxes Rånby xerxes at zafena.se
Wed Aug 31 00:56:34 PDT 2011


Hi all Zero/Shark hackers!

The attached patches updates Shark to handle the latest LLVM API changes in the LLVM 
3.0svn codebase.

0-sharkllvm30-targetselect-138450.patch:
The TargetSelect header have been moved to a new location.
http://llvm.org/viewvc/llvm-project?view=rev&revision=138450


1-sharkllvm30-de-const-type-135375.patch:
This patch are a pain, basically all LLVM types have dropped const in LLVM 3.0.
* I have not yet conditionalized this patch to make shark work with older llvm versions.
http://llvm.org/viewvc/llvm-project?view=rev&revision=135375


2-sharkllvm30-PHI-128537-Call-ArrayRef-135265.patch:
This patch fixes two API changes. Please review this patch.
* I have not yet conditionalized this patch to make shark work with older llvm versions.

The CreatePHI API change added a requirement that all CreatePHI calls had to tell in 
advance the (known or expected) number of operands to the PHI node. I have passed a 0 here 
because Shark did not use the old API PHINode::reserveOperandSpace() at all.
http://llvm.org/viewvc/llvm-project?view=rev&revision=128537

The CreateCall API change made it mandatory to pass multiple arguments to CreateCall 
inside a ArrayRef. I have solved this by wrapping the existing argument/parameter arrays 
in a llvm::makeArrayRef() call.
http://llvm.org/viewvc/llvm-project?view=rev&revision=135265


3-sharkllvm30-MCJIT.patch:
This are a fun patch that makes it possible to test Shark in combination with the new 
MCJIT in LLVM that uses the direct machine code emission framework. The MCJIT are intended 
to be the new stable JIT in LLVM that will use the same stable code path as the static 
compilers in LLVM.
* I have not yet conditionalized this patch to make shark work with older llvm versions.


Ok thats all for today!
Cheers
Xerxes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0-sharkllvm30-targetselect-138450.patch
Type: text/x-patch
Size: 667 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/zero-dev/attachments/20110831/d00aad93/attachment-0004.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1-sharkllvm30-de-const-type-135375.patch
Type: text/x-patch
Size: 23417 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/zero-dev/attachments/20110831/d00aad93/attachment-0005.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2-sharkllvm30-PHI-128537-Call-ArrayRef-135265.patch
Type: text/x-patch
Size: 10458 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/zero-dev/attachments/20110831/d00aad93/attachment-0006.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 3-sharkllvm30-MCJIT.patch
Type: text/x-patch
Size: 615 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/zero-dev/attachments/20110831/d00aad93/attachment-0007.bin 


More information about the zero-dev mailing list