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
Wladimir J. van der Laan
5bd4991f0b
Implement property CallOrInvokeInstruction.called_function
...
Also add a testcase.
2012-09-02 13:23:47 +02:00
Siu Kwan Lam
5d14461c84
Fix ConstantExpr opcode to use C++ enum values.
...
Note: C++ opcode is different from C opcode values.
Add ConstantExpr opcode name.
Add test for these.
2012-09-01 20:53:33 -07:00
Wladimir J. van der Laan
c033ba02a4
Implement property ConstantExpr.opcode
...
Use LLVM C-API function `LLVMGetConstOpcode`
2012-09-01 17:33:55 +02:00
Siu Kwan Lam
38d4de35bb
Make it possible to pass LLVM options from environment variables.
...
These options are parsed like commandline options to llc.
2012-08-26 21:00:56 -07:00
Mark Wiebe
bc2c9a24ed
Support possibility of neither PTX backend being available
2012-08-23 09:27:30 -07:00
Siu Kwan Lam
d78253ebe3
Add control to alignment of ld/st inst
2012-08-21 18:28:35 -05:00
Siu Kwan Lam
d1bcdd05d1
add NVPTX for LLVM 3.2;
...
auto-gen _intrinsic_ids.py in setup.py;
2012-08-18 15:29:26 -07:00
Jon Riehl
7c22f37b57
Adding support for building the "insertvalue" instruction.
2012-08-17 15:52:07 -05:00
Siu Kwan Lam
8b273490a9
Can create PTX target machine and print PTX asm
2012-08-14 16:50:32 -07:00
Siu Kwan Lam
f85713a736
Enable PTX backend
2012-08-14 15:05:22 -07:00
Siu Kwan Lam
bed4f24cbd
Added Module.to_native_object() and Module.to_native_assembly().
...
Added test for these new functions.
2012-08-09 15:41:55 -07:00
Siu Kwan Lam
5e15b27909
Atomic load/store must explicit define alignment.
2012-08-03 14:13:22 -07:00
Siu Kwan Lam
f479f85676
Add memory fence
2012-08-03 12:30:01 -07:00
Siu Kwan Lam
6ac0f3c369
Add atomic load/store
2012-08-03 11:56:59 -07:00
Siu Kwan Lam
4d763680f6
Add easier atomic api
2012-08-03 10:28:17 -07:00
Siu Kwan Lam
fb72ab5c8d
Add the rest of atomic op.
2012-08-03 10:14:09 -07:00
Siu Kwan Lam
acad5c9d8b
Added atomic cmpxchg.
2012-08-02 17:54:40 -07:00
Siu Kwan Lam
9d068fd582
Add methods to set volatile inst.
2012-08-02 16:51:42 -07:00
Siu Kwan Lam
9aadd489c3
Python3 ready. Py2.7 and Py3 working. Drop PyCObject for all.
...
Pre Py2.7 support should be possible by including "capsulethunk.h". (See llvm/wrap.h)
2012-07-26 15:25:23 -07:00