Siu Kwan Lam
206d512c10
Fix LLVMLinkModules for LLVM-3.1
2013-01-17 19:06:06 -06:00
Siu Kwan Lam
2d3889111b
Cleanup usage of long long; replace with PY_LONG_LONG.
...
For address, use PyLong_AsVoidPtr.
2013-01-17 13:16:53 -06:00
Siu Kwan Lam
00b3449443
Try PY_LONG_LONG replacement for unsigned long long
2013-01-16 19:36:26 -06:00
Siu Kwan Lam
bdac4a809d
Add lazy compilation option.
...
Unify execution engine creation through engine-builder internally.
2013-01-16 17:52:33 -06:00
Siu Kwan Lam
8b58488bbd
Add GEP inbounds
2013-01-14 10:30:58 -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
9dadd9f1df
Use 'L' format for unsigned long long to be consistent
2013-01-10 09:44:00 -06:00
Siu Kwan Lam
64880e7d69
Fix invalid use of long for address. Use unsigned long long for cross-platform 64-bit int.
2013-01-08 16:09:51 -06:00
Siu Kwan Lam
5fc5ba2e66
Fix free/delete mismatch in LLVMGetNativeCodeFromModule
2013-01-07 16:39:32 -06:00
Siu Kwan Lam
8ca0e79bd0
Fix free/delete mismatch in LLVMGetBitcodeFromModule
2013-01-07 15:14:46 -06:00
Siu Kwan Lam
9571aefbe0
Add ExecutionEngine.add_global_mapping
2013-01-04 15:15:41 -06:00
Siu Kwan Lam
5b6a1d75f8
Fix breakage of LLVM 3.1.
...
Add LLVM version number in llvmpy.
2013-01-04 14:24:26 -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
f01da12e16
Add CodeModel
2013-01-03 15:37:11 -06:00
Siu Kwan Lam
e8c7fcfd32
Add optional TargetMachine param to EngineBuilder.create.
2013-01-03 11:47:24 -06:00
Siu Kwan Lam
3b399f9d8b
Adding target specific passes.
2013-01-02 17:42:28 -06:00
Siu Kwan Lam
ff92a05858
Begin to expose Pass class.
2013-01-02 17:42:28 -06:00
Siu Kwan Lam
10e83f306f
Add PassManagerBuilder.loop_vectorize property
2012-12-31 10:45:21 -06:00
Alberto Valverde
5c5f3015f7
exposed LLVMInstructionEraseFromParent
2012-12-14 23:54:49 +01: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
Mark Wiebe
4d7d665a82
Template overload of <size_t> was incorrect
...
size_t can be 32-bit or 64-bit, was hardcoded to 32-bit
2012-09-28 17:53:54 +09:00
Mark Wiebe
2af04094a2
Rename nonconformant _TRY and _CATCH_ALL macros
...
Was conflicting with MSVC headers, for reference why this was
incorrect, see
http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier
Reserved in the global namespaces:
identifiers beginning with an underscore
2012-09-28 17:49:23 +09:00
dand-oss
0ee70e1a92
pycap_new() template replaces a bunch of macro code
2012-09-21 09:22:03 -05:00
Siu Kwan Lam
9767ac4d47
Improve error-handling for PyCapsule_GetPointer and related functions.
2012-09-15 19:10:05 -07:00
Siu Kwan Lam
0079b1de07
Cleanup all memory allocations and their exception handling
2012-09-15 18:34:15 -07:00
Siu Kwan Lam
f17d4f7d62
Add try-catch to all exposed functions
2012-09-15 18:17:16 -07: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
dand-oss
db00a6b8de
C++ cleanup of old C conventions - prefer C++ casting to unsafe C style casts - use templates to encapsulate casting - prefer new to malloc - apply const when possible - decalare variables as near to use as possible
2012-09-10 16:52:50 -07: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
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
788af6d82d
Disable PTX backend by default on windows
2012-08-23 09:27:28 -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
1ed2049395
add method to retrieve host cpu name
...
add stub method to enginebuilder to setMCPU and setMAttrs -- these are not implemented in llvm3.1
2012-08-18 17:32:40 -07: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
8eb6a34d54
Replace fprintf with exception
2012-08-15 15:22:08 -07:00