History log of /external/llvm/bindings/python/llvm/core.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/bindings/python/llvm/core.py
abaa85d88d13f6efa99c61d206155678ccd5f118 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Added support for getting/setting operands of values and getting the number of operands of a value.

Also in the process did some cleanups for BasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
73c382f7fdbe034383600c1ddd385aea0cd27221 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Added support for iterating over a basic blocks instructions, getting their name/dumping them, f/b iteration.

Tests are included.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
e23fa984f5094b58c0b57260ade5a6728336d3ab 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Added support for iterating over a function's basic blocks, dumping/getting names of those bb, f/w iteration.

Tests are included.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
7dfa4bc4716aaa34cc7c6226fd00675899263e9d 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Added support for getting a module's functions, iterating f/b over said functions, dumping/print name of functions.

Tests are included as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
f532d448307215c9ddc1dbdea42afa74757c5e00 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Export OpCode from core.py.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
7400a858be88ed6fbffb46dcd48b6c9ad6c85a2b 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Fixed 3 test failures caused by typos.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
f495a2679248bca1a426052b3a297326bb46e9db 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> Fixed typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
37a8807323672ab0bb366272e5a798b8e63752a4 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Added code for loading a module from bitcode, getset its datalayout, getset its target, dump it, print it to a file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
6a63cd12813fea01d711f098126d199c936c8f6b 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Added bindings for LLVMContextRef and a test for creating a new context or getting the global context.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
8184ca673bbc23d55f17d903f98f5382f2b7da79 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Implemented the PassRegistry class and the calls to initialize/shutdown llvm. Also included an initialize_llvm declaration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
653212fdd1f5b5eea1c5b7d4d28b3f6c8fd05bba 10-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python bindings] Added code to get the length of a memory buffer. Tests are included.

This is a part of a series of patches that have been sitting fallow on a
personal branch that I have been messing with for a bit.

The patches start to flesh out the python llvm-c wrapper to the point where you can:

1. Load Modules from Bitcode/Dump/Print them.
2. Iterate over Functions from those modules/get their names/dump them.
3. Iterate over the BasicBlocks from said function/get the BB's name/dump it.
4. Iterate over the Instructions in said BasicBlocks/get the instructions
name/dump the instruction.

My main interest in developing this was to be able to gather statistics about
LLVM IR using python scripts to speed up statistical profiling of different IR
level transformations (hence the focus on printing/dumping/getting names).

This is a gift from me to the LLVM community = ).

I am going to be committing the patches slowly over the next bit as I have time
to prepare the patches.

The overall organization follows the c-api like the bindings that are already
implemented.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
b7487d4edc34fa22b697d0874331c163ed2c6847 10-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> [llvm.py] Define enumerations from Core.h; add OpCode class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
61e22cd85cd4c84fff391da67018c92bf21a8e19 10-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> [llvm.py] Implement interface to object files

It is now possible to load object files and scan over sections, symbols,
and relocations! Includes test code with partial coverage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
07c32218f448b7637d4acad8e87ce7cfaef0277e 09-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> [llvm.py] Make ObjectFile destructor work

Previous code had a double free in MemoryBuffer. The tests now pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py
5ae04279e0ed16975e1eea012499e8d833aab3c5 09-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> [llvm.py] Initial skeleton for Python LLVM bindings

This contains a semi-functional skeleton for the implementation of the
LLVM bindings for Python.

The API for the Object.h interface is roughly designed but not
implemented. MemoryBufferRef is implemented and actually appears to
work!

The ObjectFile unit test fails with a segmentation fault because the
LLVM library isn't being properly initialized. The build system doesn't
know about this code yet, so no alerts should fire.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/python/llvm/core.py