Commit graph

137 commits

Author SHA1 Message Date
Siu Kwan Lam
a357987597 Allow initialization of other targets.
- Remove PTX/NVPTX targets from default built and init
2013-05-03 10:45:02 -05:00
Siu Kwan Lam
b754e803ec Cleanup 2013-05-02 12:17:38 -05:00
Siu Kwan Lam
a5f6f2596f Fix ignored name arg 2013-05-02 12:16:39 -05:00
Conner Bryan
e74b26f84c Add methods to instructions to retrieve metadata and determine if metadata exists for the instruction. 2013-04-27 09:01:32 -03:00
Siu Kwan Lam
0b1abe7b26 Add isLayoutIdentical 2013-04-01 11:24:19 -05:00
Ilan Schnell
f8deae06dd remove excess whitespace 2013-03-02 12:56:00 -06:00
Siu Kwan Lam
93cd20e933 Fix for python 3 2013-02-27 13:48:08 -06:00
Siu Kwan Lam
740d2595ee Replace StringIO with BytesIO 2013-02-27 13:25:19 -06:00
Siu Kwan Lam
dd9ba65328 Bug fixes 2013-02-26 18:43:49 -06:00
Siu Kwan Lam
435b92b4a4 Fix VectorType.element 2013-02-22 10:50:18 -06:00
Siu Kwan Lam
42f7219c3f Allow function.verify to raise exception on error. 2013-02-22 10:43:11 -06:00
Siu Kwan Lam
bf121485ad Fix problem with caching llvm.core.Value objects. 2013-02-15 13:30:50 -06:00
Siu Kwan Lam
cb00dcc52c Fix a bug in CreatInsertValue and one in ConstantInt. 2013-02-13 18:12:45 -06:00
Siu Kwan Lam
d2dc34cdd3 Try to fix invalid dtor call 2013-02-13 17:12:54 -06:00
Siu Kwan Lam
a09394cacd Fix a lots of bugs in the newbinding to pass all the tests.
NOTE: debug info has not been implemented yet.
2013-02-13 15:52:53 -06:00
Siu Kwan Lam
a97b26415e Update old API to use the new binding.
Have not run the testsuite yet.
2013-02-11 18:15:22 -06:00
Siu Kwan Lam
0681d2f37e Fixes various problem in llvm.core 2013-02-08 18:22:53 -06:00
Siu Kwan Lam
1fb6b05715 Finished wrapper in llvm.core 2013-02-08 18:13:45 -06:00
Siu Kwan Lam
450c29e052 Swap out old llvm code 2013-02-05 15:30:43 -06:00
Siu Kwan Lam
8b58488bbd Add GEP inbounds 2013-01-14 10:30:58 -06:00
Siu Kwan Lam
207254fe50 Make note about preverifier bug in LLVM that *.verify() will abort upon error 2013-01-10 17:13:06 -06:00
Siu Kwan Lam
31fbc3ae64 Module.link_in should not delete other.ptr and should prevent the other.ptr from being destroyed 2013-01-10 17:10:40 -06:00
Siu Kwan Lam
ee62b0c96c Fix Module.link_in so it reports error and destory the other module when preserve=False 2013-01-10 16:52:25 -06:00
Siu Kwan Lam
f731332360 Builder.branch will check if the basicblock has terminator when running in debug mode. 2013-01-10 16:43:14 -06:00
Siu Kwan Lam
371e940c83 Reverse finalizer 2013-01-07 16:39:41 -06:00
Bradley M. Froehle
dd32ce56b1 Wrap LLVMGetPointerToGlobal & add ExecutionEngine.get_pointer_to_global. 2013-01-04 10:21:55 -06:00
Siu Kwan Lam
bc20661343 Introduce finalizer module to manage finalization of C resources. 2013-01-03 14:44:32 -06:00
Alberto Valverde
5c5f3015f7 exposed LLVMInstructionEraseFromParent 2012-12-14 23:54:49 +01:00
Siu Kwan Lam
03e54f2c12 Expose preserve flag for Module.link_in 2012-12-04 13:50:16 -06:00
Siu Kwan Lam
b9d05bb6fe Can now modify called_function of CallOrInvokeInstruction 2012-11-01 11:42:10 -05:00
Siu Kwan Lam
507ff73061 Add InlineAsm 2012-10-31 16:41:10 -05:00
Siu Kwan Lam
daa62d9f78 Add address-space control to global-variable 2012-10-26 14:08:33 -05:00
Siu Kwan Lam
d781e83bd1 can now clone modules 2012-10-19 16:18:24 -05:00
Siu Kwan Lam
e0d1b94053 Add NamedMetaData 2012-10-16 16:35:20 -05:00
Thomas Kluyver
aba3e208d2 Improve bytes/unicode distinction for reading modules from bitcode & assembly 2012-10-10 10:49:48 -05:00
Thomas Kluyver
1c15a9784b Fix minor problems under Python 3 from running the tests 2012-10-10 10:49:48 -05:00
Siu Kwan Lam
bba30621f1 Allow to_native_object & to_native_assembly to receive an optional fileobj to write to. 2012-10-10 10:47:56 -05:00
Siu Kwan Lam
323d432847 Implements Jun Koi's suggestion to improve consistency of the api:
* allow to_bitcode to return a string if no fileobj is defined.
* also modify from_bitcode and from_assembly to accept a string.
2012-09-26 10:19:35 -05:00
Siu Kwan Lam
0ee5e2e845 Raise TypeError when a function is called with the wrong argument.
Otherwise, llvm will give assertion error which is hard to trackdown.
2012-09-20 15:15:26 -07:00
Siu Kwan Lam
56796cad61 Follow up on pull request 21. Since PyCapsule_GetPointer returns NULL on error, we should check if the list element is Py_None. 2012-09-14 18:42:49 -07:00
Wladimir J. van der Laan
c94e852c0e MetaData operands can be None. Handle this. 2012-09-14 17:09:28 +02:00
Wladimir J. van der Laan
e2d8079b93 Support MetaDataString, and correctly represent MetaData Values in _make_value 2012-09-12 21:23:54 +02:00
Wladimir J. van der Laan
7f69beb258 Access to MetaData operands
This is not available in the C API, so add functions to extra.cpp:

- `LLVMMetaDataGetOperand` wraps MDNode::getOperand
- `LLVMMetaDataGetNumOperands` wraps MDNode::getNumOperands
2012-09-12 20:59:59 +02:00
Wladimir J. van der Laan
6e6bd1ea71 Add support for module named metadata
This is mainly useful to get access to top-level debug information through 'llvm.dbg.cu'.

Wraps LLVM C-API functions `LLVMGetNamedMetadataNumOperands`, `LLVMGetNamedMetadataOperands` and `LLVMAddNamedMetadataOperand`.

Also add testcase.
2012-09-12 20:03:24 +02:00
Siu Kwan Lam
47baa49160 Merge pull request #18 from laanwj/2012_09_constantint_value
Thanks!
2012-09-10 16:41:19 -07:00
Siu Kwan Lam
cc12434f57 Add thread local 2012-09-10 16:37:20 -07:00
Wladimir J. van der Laan
41953602bf Add ways to get the value of a ConstantInt
- property z_ext_value gets the zero-extended value using LLVMConstIntGetZExtValue
- property s_ext_value gets the sign-extended value using LLVMConstIntGetSExtValue
- add test case for both
2012-09-09 12:40:40 +02:00
Siu Kwan Lam
fbb7208b85 add invariant load
add related test
2012-09-06 20:00:01 -07:00
Siu Kwan Lam
82117d899e add support for metadata.
add related test.
2012-09-06 15:47:23 -07:00
Siu Kwan Lam
78cde30883 Revive inline_function() 2012-09-04 10:06:36 -07:00