Commit Graph

49 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 5d40c2431e py2llvm: support type merge with empty list 2014-12-19 15:19:59 +08:00
Sebastien Bourdeauducq 44e7b99792 py2llvm/VNone: bugfixes 2014-12-19 12:43:13 +08:00
Sebastien Bourdeauducq f31386d15d py2llvm: len() support on lists 2014-12-18 11:13:50 +08:00
Sebastien Bourdeauducq f3b727b59d py2llvm: replace array with list 2014-12-17 21:54:10 +08:00
Sebastien Bourdeauducq 123656e2cd fractions: fix comparison 2014-12-08 19:21:16 +08:00
Sebastien Bourdeauducq bfe980d458 py2llvm: distinguish between llvmlite Module and ModuleRef 2014-12-06 15:14:39 +08:00
Sebastien Bourdeauducq 159f632a65 switch to llvmlite 2014-12-05 17:05:43 +08:00
Sebastien Bourdeauducq 6e219469fe py2llvm: support operations between fractions and floats 2014-11-27 18:52:45 +08:00
Sebastien Bourdeauducq 594b3dda74 py2llvm/ast_body: pep8 2014-10-14 00:08:42 +08:00
Sebastien Bourdeauducq d26a9d031b py2llvm: support BoolOp 2014-10-13 23:54:56 +08:00
Sebastien Bourdeauducq 6b173d0a9a py2llvm/base_types: fix not on bool 2014-10-13 19:49:29 +08:00
Sebastien Bourdeauducq 9caaaeb414 py2llvm/fractions: add lt, le, gt, ge comparisons 2014-10-06 23:22:05 +08:00
Sebastien Bourdeauducq 4a5e398857 py2llvm: support continue statement 2014-09-27 00:27:11 +08:00
Sebastien Bourdeauducq 89fdab2176 py2llvm: factorize basic block termination test 2014-09-26 23:53:56 +08:00
Sebastien Bourdeauducq d10112688f py2llvm: execute finally block when exception is re-raised in handler 2014-09-26 23:44:44 +08:00
Sebastien Bourdeauducq 4978f8b3d7 py2llvm: remove LLVM-crashing (unreachable) non-SSA path with exception ID 2014-09-26 19:38:14 +08:00
Sebastien Bourdeauducq 20ca97485c py2llvm: support break/return in try block 2014-09-26 19:21:49 +08:00
Sebastien Bourdeauducq f332def3a2 py2llvm: fix behaviour of 'break' in 'else' clause of loops 2014-09-26 18:16:20 +08:00
Sebastien Bourdeauducq cf1f1269b2 py2llvm/fractions: use internal linkage for gcd function 2014-09-24 19:21:45 +08:00
Sebastien Bourdeauducq f7075b24f6 py2llvm: fix exception matching 2014-09-23 22:09:35 +08:00
Sebastien Bourdeauducq d1085449aa py2llvm: support for try/except/else/finally blocks 2014-09-23 16:23:54 +08:00
Sebastien Bourdeauducq c989daf4d6 py2llvm: stop after other types of termination instructions 2014-09-23 16:21:48 +08:00
Sebastien Bourdeauducq 19abab3feb devices/runtime: rename syscall to build_syscall 2014-09-22 13:22:38 +08:00
Sebastien Bourdeauducq a8df1703fb py2llvm: support raise statement 2014-09-22 13:20:27 +08:00
Sebastien Bourdeauducq 97ad9efa85 py2llvm/base_types: implement int, floor, floordiv, and boolean ops on floats 2014-09-17 16:24:37 +08:00
Sebastien Bourdeauducq 80f4bc7741 py2llvm/base_types: fix corner cases with bool/int/float conversion 2014-09-17 16:23:02 +08:00
Sebastien Bourdeauducq 2e45d7267d py2llvm/fractions: fix round() 2014-09-17 16:22:00 +08:00
Sebastien Bourdeauducq f061b15994 py2llvm: add floating point support 2014-09-16 23:11:30 +08:00
Sebastien Bourdeauducq dbca62c1d7 py2llvm/fractions: fix or_sub 2014-09-16 16:43:01 +08:00
Sebastien Bourdeauducq 5c228f9114 Consistent variable naming 2014-09-13 19:32:21 +08:00
Sebastien Bourdeauducq 3d440d5f15 py2llvm: support pass statements 2014-09-13 16:16:15 +08:00
Sebastien Bourdeauducq f0c2003778 py2llvm/fractions: fix addsub with int 2014-09-11 23:11:57 +08:00
Sebastien Bourdeauducq 7e889b014d py2llvm: add break statement support 2014-09-10 16:16:12 +08:00
Sebastien Bourdeauducq d66448a486 py2llvm: for loop and range support 2014-09-10 16:06:27 +08:00
Sebastien Bourdeauducq eec52a2e29 py2llvm: array support 2014-09-09 17:13:48 +08:00
Sebastien Bourdeauducq 9eb2a2441d py2llvm: factor repr/same_type/merge for values 2014-09-09 10:30:10 +08:00
Sebastien Bourdeauducq 60368aa9e2 py2llvm: complete rational arithmetic support 2014-09-08 18:45:46 +08:00
Sebastien Bourdeauducq 1133308dd5 py2llvm: support 'neg' on VInt 2014-09-08 18:25:04 +08:00
Sebastien Bourdeauducq 71b8575d7a py2llvm/fractions: add numerator/denominator getattr support 2014-09-07 15:26:05 +08:00
Sebastien Bourdeauducq e2d834928f py2llvm/ast_body: support getattr 2014-09-07 15:24:19 +08:00
Sebastien Bourdeauducq c5c38c6376 py2llvm: remove unnecessary indirection for unary operators 2014-09-07 15:09:38 +08:00
Sebastien Bourdeauducq bce687b4a0 py2llvm/base_types: implement 'not' on 'None' 2014-09-07 14:55:46 +08:00
Sebastien Bourdeauducq dddc9259b0 py2llvm: run passes before creating EE 2014-09-07 14:47:09 +08:00
Sebastien Bourdeauducq 15dcf3351b py2llvm: move GCD function into LLVM IR 2014-09-07 14:46:32 +08:00
Sebastien Bourdeauducq 3c8b541939 py2llvm: reorganize, split 'values' module, factor LLVM module/pass management 2014-09-07 14:09:03 +08:00
Sebastien Bourdeauducq 6deaf7b81a py2llvm: add support for function parameters and return values, add unit test 2014-09-06 19:03:08 +08:00
Sebastien Bourdeauducq 64c29bcfa6 py2llvm/values: support 'not' on VInt 2014-09-06 19:02:09 +08:00
Sebastien Bourdeauducq 2ef187b7d3 py2llvm/values: fix arity of 'not' 2014-09-06 18:18:08 +08:00
Sebastien Bourdeauducq a647e1104d compiler: split into transforms and py2llvm 2014-09-05 22:18:31 +08:00