Jon Riehl
fcf5420803
Added argument naming to llpython.byte_translator.
2013-06-14 15:59:51 -05:00
Jon Riehl
ecf88f93e2
Merge branch 'master' of github.com:llvmpy/llvmpy into llpython-dev
2013-06-14 11:35:48 -05:00
Siu Kwan Lam
2338eae5f6
Fix py3 str has no buffer interface
2013-06-13 17:17:43 -05:00
Jon Riehl
fd41a93554
Added llpython.af_to_api module. Started work on a code generator that accepts address flows, and outputs an LLVM function that implements the given code object using (undefined) API calls for bytecode instructions.
2013-06-13 15:25:28 -05:00
Jon Riehl
5f81cab357
Moved most of bytecode_visitor.BytecodeFlowVisitor into a new parent class GenericFlowVisitor, which is a useful starting point for address-based flow visitors.
2013-06-11 17:11:38 -05:00
Jon Riehl
68030d51d1
Modified BytecodeFlowBuilder and AddressFlowBuilder to use a named tuple for representing bytecode instructions.
2013-06-11 16:44:15 -05:00
Jon Riehl
6c7d493441
Fixed llpython.type_flow's main routine. Was using addr_flow.build_addr_flow() which was removed.
2013-06-07 19:18:34 -05:00
Jon Riehl
0b24adb80a
Modified various passes to use the inspect module instead of using type comparisons or isinstance.
2013-06-07 15:30:45 -05:00
Jon Riehl
ee557c55cc
Added llpython.tests.test_all module for unit testing all llpython.
2013-06-06 14:13:39 -05:00
Jon Riehl
722453502c
Continued generalization of byte_flow.demo_flow_builder(), moving traversal logic into visitor function opcode_util.visit_code_args(). Modified byte_control.main() to use visit_code_args().
2013-06-06 14:08:09 -05:00
Jon Riehl
c55198095f
Modified FlowTestMixin.build_and_test_flow() to return generated flow for further testing.
2013-06-06 14:04:48 -05:00
Jon Riehl
bba305774a
Moved most of llpython.tests.test_addr_flow into llpython.tests.test_byte_flow, made some modifications to various modules to facilitate proper handling of try-finally.
2013-06-05 18:52:27 -05:00
Jon Riehl
4837bf194e
Moved some utility functions into class methods of the BytecodeFlowBuilder class, and eliminated redundant code in AddressFlowBuilder.
2013-06-05 15:28:17 -05:00
Jon Riehl
102d6eac66
Adding basic unit test for llpython.addr_flow.
2013-06-05 13:49:02 -05:00
Jon Riehl
31119a48d4
Modified main routine in llpython.addr_flow to make it easier to determine which code object caused an exception in the translator.
2013-06-05 13:48:30 -05:00
Jon Riehl
b5a15a5019
Added function to iterate through nested code objects, llpython.opcode_util.itercodeobjs(), and used it in llpython.addr_flow.
2013-06-03 19:12:19 -05:00
Jon Riehl
c890cbdd92
Attempting to improve readability of opcode value stack action map using namedtuple in llpython.opcode_util.
2013-06-03 18:00:06 -05:00
Jon Riehl
420d0ed88d
Merge branch 'master' of github.com:llvmpy/llvmpy into llpython-dev
2013-06-03 16:01:03 -05:00
Jon Riehl
643f0706e9
Checking in non-functional attempt at type dependency simplification pass in llpython.type_flow.
2013-06-03 16:00:46 -05:00
Siu Kwan Lam
2415042a2a
DIDescriptor does not inherit MDNode
0.11.3
2013-05-31 15:01:02 -05:00
Siu Kwan Lam
ad287faeb1
Fixes a werid case of refct problem
2013-05-31 14:01:57 -05:00
Ilan Schnell
69c75355f4
fix future import
2013-05-31 11:47:51 -05:00
Siu Kwan Lam
84f1b433de
Use if-else instead of try-except for perf reason
2013-05-30 14:04:08 -05:00
Siu Kwan Lam
2e8944916c
Add DIBuilder binding
2013-05-29 19:13:45 -05:00
Siu Kwan Lam
17ec89e457
Fix win32 build
2013-05-28 19:23:45 -05:00
Mark Florisson
6b333e84aa
Use error message string from BytesIO
2013-05-27 12:22:13 +01:00
Travis E. Oliphant
009239713e
Update llvm_array concepts.
2013-05-25 13:35:45 -05:00
Travis E. Oliphant
1812cff2d0
Fix import problem.
2013-05-25 13:34:14 -05:00
Siu Kwan Lam
a0eb03b239
Fix CompareInstruction.predicate
2013-05-23 11:45:15 -05:00
Siu Kwan Lam
5b2b878f24
Enable MCJIT
2013-05-22 15:17:59 -05:00
Jon Riehl
abbf972768
Added address flow builder, and type constraint generator.
2013-05-21 11:58:26 -05:00
Jon Riehl
329b10dbf0
Merge branch 'master' of github.com:llvmpy/llvmpy into llpython-dev
2013-05-20 20:32:40 -05:00
Siu Kwan Lam
edab81ed7e
Fix GC problem with Module when it is GCed but re-instantiate from GlobalValue.module.
2013-05-17 14:05:40 -05:00
Jon Riehl
8b075317cd
Merge branch 'master' of github.com:llvmpy/llvmpy into llpython-dev
2013-05-16 15:38:55 -05:00
Jon Riehl
c06f811473
Reintroduced dead code elimination to CFA pass to avoid dataflow problems. Updated tests.
2013-05-16 15:38:12 -05:00
Siu Kwan Lam
96dc907613
Make enum integer constants prints name
2013-05-16 13:46:57 -05:00
Siu Kwan Lam
592f9c6988
Allow retrieving argument attributes
2013-05-16 13:45:59 -05:00
Siu Kwan Lam
331f71f26f
Fix hashing of llvm type
2013-05-16 11:34:27 -05:00
Jon Riehl
c5d95e01e1
More work on CFA for try-finally in the presence of loops.
2013-05-15 18:40:44 -05:00
Jon Riehl
8ae1b70206
Initial attempt to support return statements in try-finally block in llpython.byte_control. Added incomplete unit tests.
2013-05-14 17:34:54 -05:00
Jon Riehl
d3b252531d
Updates to llpython.opcode_util to better support loop and exception control flow.
...
* Inlcuded non-argument branching opcodes in the hasjump opcode list.
* Added all the SETUP_* opcodes to the hascbranch list.
* Modified itercode() to not output the EXTENDED_ARG bytecode.
* Cleaned up extendlabels(), and made it use the hasjump opcode list uniformly.
2013-05-14 14:52:11 -05:00
Jon Riehl
6f532f164a
Working on full opcode coverage and support for exception control flow.
2013-05-14 14:52:11 -05:00
Jon Riehl
5ef00671e7
Add support for more bytecodes.
2013-05-14 14:52:11 -05:00
Jon Riehl
8787af154e
Change idom() method to get_a_dom(), update uses, and documentation.
2013-05-14 14:52:11 -05:00
Siu Kwan Lam
db7323771f
Fix PR
2013-05-14 11:23:50 -05:00
Travis E. Oliphant
f4b320ff09
Fix a few erros. Add an array type
2013-05-14 11:12:51 -05:00
Siu Kwan Lam
08bed7dd74
Fix bug with Module.to_bitcode() (Reported by Jun Koi)
2013-05-14 10:33:49 -05:00
Travis E. Oliphant
c118427118
Don't get name field from literal structure and avoid a segfault.
2013-05-14 04:26:10 -05:00
Siu Kwan Lam
3e0dc25070
Silent capsule memory logger.
2013-05-10 10:58:51 -05:00
Siu Kwan Lam
489d8056b9
Fix error msg
2013-05-03 10:57:38 -05:00