• Home
  • History
  • Annotate
  • only in /external/llvm/bindings/python/llvm/
History log of /external/llvm/bindings/python/llvm/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cddc3e03e4ec99c0268c03a126195173e519ed58 04-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r256229

http://b/26987366

(cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383)

Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
it_reader.py
ore.py
bject.py
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
bject.py
ests/test_object.py
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
ore.py
ests/test_core.py
ests/test_disassembler.py
e8a957d2a91d02af0b9c3808b31067d236b22196 17-Nov-2013 Anders Waldenborg <anders@0x63.nu> python: Fix check for disasm creation failure

Check should be for pointer being NULL, not what it points to.

Also adds a test for this case.

Reviewed By: indygreg

Differential Revision: http://llvm-reviews.chandlerc.com/D1878



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194965 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.py
ests/test_disassembler.py
60e4d7f618ffc8b91c6fa2638e3c25a085c2fb1e 17-Nov-2013 Anders Waldenborg <anders@0x63.nu> python: Properly initialize before trying to create disasm

As the "LLVMInitializeAll*" functions are not available as symbols in
the shared library they can't be used, and as a workaround a list of
the targets is kept and the individual symbols tried. As soon as the
"All"-functions are changed to proper symbols (as opposed to static
inlines in the headers) this hack will be replace with simple calls
to the corresponding "LLVMInitializeAll*" functions.

Reviewed By: indygreg

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1879



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194964 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
ore.py
ests/test_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
ore.py
ests/test_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
ore.py
ests/test_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
ore.py
ests/test_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
ore.py
a1e366058b2ffce54b3f92a1a74094822c819c80 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Added test for reading a module from bitcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190467 91177308-0d34-0410-b5e6-96231b3b80d8
ests/test_bitreader.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
ore.py
ests/test_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
ore.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
it_reader.py
ore.py
ests/base.py
ests/test.bc
ests/test_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
ore.py
ests/test_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
ore.py
ests/test_core.py
699f8c3524eb179f7cb8302b4a5d19abbd547125 11-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Removed unused import byref from llvm/disassembler.py.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190455 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.py
86942d20b9ca8861207edd49eba13939dfec230a 10-Sep-2013 Michael Gottesman <mgottesman@apple.com> [python-bindings] Changed test_memory_buffer_create_from_file to just use the generic provided test_file instead of a binary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190389 91177308-0d34-0410-b5e6-96231b3b80d8
ests/test_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
ore.py
ests/base.py
ests/test_core.py
ests/test_file
0c25b8f07e4ff033bf630d48cac28fedee1f4c55 07-May-2013 Bill Wendling <isanbard@gmail.com> We're in 3.4 land now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181350 91177308-0d34-0410-b5e6-96231b3b80d8
ommon.py
fdddf771716a48857a1044abc7917886bf0bf719 01-Dec-2012 Gregory Szorc <gregory.szorc@gmail.com> [python] Add markup option to disassembler

Patch contributed by Wladimir J. van der Laan <laanwj@gmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169102 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.py
ests/test_disassembler.py
17cfe87c390265187d16a60ff4d7687802a07bba 20-Nov-2012 Anders Waldenborg <anders@0x63.nu> [python] fix get_library()

Before this fix, the LLVM Python bindings on SVN trunk always fail with:
Exception: LLVM shared library not found!
since it's still looking for a library named "LLVM-3.1svn".

Besides updating the LLVM version in the library name,
this patch also changes llvm.get_library() to make it possible to run
the unit tests without installing the LLVM shared library into a
default linker search path.

e.g. after this patch, running the llvm/python unit tests with:
LD_LIBRARY_PATH=../build/Debug+Asserts/lib nosetests -v bindings/python/llvm/tests/
would work on Linux.

Patch from Scott Tsai (with some minor modifications)

Patch also acked by Gregory Szorc



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168390 91177308-0d34-0410-b5e6-96231b3b80d8
ommon.py
e3295cc5be7f7b2e3bb27e6bf94cd5c569f54876 22-Mar-2012 Anders Waldenborg <anders@0x63.nu> [python] Add negative MemoryBuffer testcase


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153248 91177308-0d34-0410-b5e6-96231b3b80d8
ests/test_core.py
a8d873e178d45024db9c0ef6a25c6867424785f7 21-Mar-2012 Anders Waldenborg <anders@0x63.nu> [python] Add some paths where to find test binary

Adds /usr/lib/debug early to list, as some systems (debian) have unstripped libs in there
Adds /lib/i386-linux-gnu for systems that does multiarch (debian)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153174 91177308-0d34-0410-b5e6-96231b3b80d8
ests/base.py
359595413071ff706b484a875a23a4a7d1508f50 21-Mar-2012 Anders Waldenborg <anders@0x63.nu> [python] Mark get_test_binary as not being a test

get_test_binary is a helper method, not a test, make sure nosetests
doesn't pick it up as a test.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153173 91177308-0d34-0410-b5e6-96231b3b80d8
ests/base.py
92a3e9d63a4fd408fce76c1b2ba71b5a7fb04b8a 11-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> [llvm.py] Implement disassembler interface

It doesn't currently support the op info and symbol lookup callbacks,
but it is better than nothing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152527 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.py
ests/test_disassembler.py
309a2c4e3be8a5dc55e76e766be2d2fb0f9cdec2 10-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> Revert "[llvm.py] Implement interface to enhanced disassembler"

Chris Lattner says the edis interface is going away. It doesn't make
sense to land something that will go away in the near future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152508 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.py
ests/test_disassembler.py
0b3aae906fa302bcad0863b92f16aec020db26ad 10-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> [llvm.py] Implement interface to enhanced disassembler

This requires a C++ change to EDDisassembler's ctor to function properly
(the llvm::InitializeAll* functions aren't being called currently and
there is no way to call them from Python).

Code is partially tested and works well enough for initial commit. There
are probably many small bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152506 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.py
ests/test_disassembler.py
d3ac784fbb1e3cc31f9d8bd702fcda5a63d3ca8e 10-Mar-2012 Gregory Szorc <gregory.szorc@gmail.com> [llvm.py] Make LLVMObject.__del__ work if called during __init__

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152505 91177308-0d34-0410-b5e6-96231b3b80d8
ommon.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
ore.py
numerations.py
ests/test_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
ommon.py
ore.py
bject.py
ests/__init__.py
ests/base.py
ests/test_core.py
ests/test_object.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
ommon.py
ore.py
bject.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
_init__.py
ommon.py
ore.py
bject.py