Commit graph

73 commits

Author SHA1 Message Date
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
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
Siu Kwan Lam
e7ad6c7439 Remove the need to build temporary std::vector. 2012-09-19 14:20:19 -07: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
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
Siu Kwan Lam
5ee6bba66b Fix invalid prototype after switches to size_t instead of unsigned int. 2012-09-10 17:22:20 -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
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
Siu Kwan Lam
7880cdd3ba Fix get intrinsic 2012-08-15 16:13:38 -07:00
Siu Kwan Lam
8eb6a34d54 Replace fprintf with exception 2012-08-15 15:22:08 -07: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
ec71908874 Add target machine 2012-08-14 12:04:28 -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
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
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
Siu Kwan Lam
5bb4b8affb Added EngineBuilder.
Added test/enginebuilder.
2012-07-25 15:31:18 -07:00
Siu Kwan Lam
6a02c36f04 Added PassManagerBuilder.
Updated test/passes.py for PassManagerBuilder.
2012-07-24 23:42:28 -07:00
Siu Kwan Lam
99c7a0736e Comment out pass constants in C files. 2012-07-24 12:25:42 -07:00
Siu Kwan Lam
2d79cfa437 Replaced PASS_* constants with pass name lookup. 2012-07-23 17:39:40 -07:00
Siu Kwan Lam
c9902ab8cf Add opaque StructType;
Remove test/typehandle.py;
Add test/opaque.py to demonstrate recursive type.
2012-07-22 15:14:52 -07:00
Siu Kwan Lam
b71d22b570 Update StructType to LLVM 3.x (incomplete).
Bring back StructType.elements.
2012-07-22 00:00:04 -07:00
Siu Kwan Lam
9bbeee519b Added Module.id property (getter+setter).
Updated test/asm.py to use unittest.
2012-07-20 20:15:21 -07:00
Travis E. Oliphant
7b6aac79fb Add llvm::Module::addLibrary to exposed API 2012-06-21 01:25:23 -05:00
Nicolas Pinto
bf36c50e96 BUG: fix error: ‘printf’ was not declared in this scope 2012-03-15 13:13:26 -04:00
Travis E. Oliphant
796f5e264a Use correct casing for print method. 2012-03-08 07:18:18 -06:00
Travis E. Oliphant
3120dbf29e More changes to get llvm-py to compile with LLVM 3.0 2012-02-08 09:23:58 -06:00
Travis E. Oliphant
c09903e54f Making progress towards a 3.0 version of llvm-py. 2012-02-08 01:40:03 -06:00
AndrewBC
46a9a86085 Fixed some old PyInt usage, drastically reduced compile-time warnings 2011-06-12 13:58:57 -05:00
AndrewBC
2c42b82799 Moar py3k updates... Still segfaulting, in PyArg_ParseTuple of _wLLVMLoadLibraryPermanently for some reason. :| 2011-06-12 05:54:08 -05:00
AndrewBC
13815fd2f3 It compiles! It also segfaults when tested! :D 2011-06-12 03:41:03 -05:00
AndrewBC
d5c2806b5d applied patch to work with llvm 2.9 from llvm-py r105 ... 84.7KB version seen here: http://code.google.com/p/llvm-py/issues/detail?id=37 2011-06-05 21:21:18 -05:00
mdevan.foobar
bb2d613e39 Fix incomplete merge from scratch branch
git-svn-id: http://llvm-py.googlecode.com/svn/trunk@102 8d1e9007-1d4e-0410-b67e-1979fd6579aa
2010-10-24 08:40:50 +00:00
mdevan.foobar
ab4ef428b6 Migrate to LLVM 2.8 (rc2)
git-svn-id: http://llvm-py.googlecode.com/svn/trunk@96 8d1e9007-1d4e-0410-b67e-1979fd6579aa
2010-09-30 13:22:13 +00:00
mdevan.foobar
1c04eb1c87 Updated documentation, partially.
git-svn-id: http://llvm-py.googlecode.com/svn/trunk@90 8d1e9007-1d4e-0410-b67e-1979fd6579aa
2010-08-31 07:31:34 +00:00
mdevan.foobar@gmail.com
d51eb76fec Updated for LLVM 2.7 (will not work with LLVM 2.6). Work-in-progress.
git-svn-id: http://llvm-py.googlecode.com/svn/trunk@86 8d1e9007-1d4e-0410-b67e-1979fd6579aa
2010-07-24 18:15:49 +00:00
mdevan.foobar
5901f8d32b Migrate to LLVM 2.6 (KS Sreeram) (Issue #25)
git-svn-id: http://llvm-py.googlecode.com/svn/trunk@83 8d1e9007-1d4e-0410-b67e-1979fd6579aa
2009-10-28 06:02:04 +00:00