Mike Pall
|
158de60b8c
|
Refactoring of conversion ops, part 2: cleanup cdata conversions.
|
2010-12-30 00:42:00 +01:00 |
|
Mike Pall
|
8bcc5ed021
|
Add support for IRT_FLOAT to XLOAD/XSTORE.
|
2010-12-30 00:36:33 +01:00 |
|
Mike Pall
|
2ca2de7f0e
|
Refactoring of conversion ops, part 1: add IR_CONV.
|
2010-12-30 00:35:32 +01:00 |
|
Mike Pall
|
06c61d9cea
|
Use macro-map for IRT_* enum. Add IRT_FLOAT.
|
2010-12-28 20:58:00 +01:00 |
|
Mike Pall
|
d176433e32
|
FFI: Catch various NYI cases while recording.
|
2010-12-28 19:09:01 +01:00 |
|
Mike Pall
|
a70fb9416a
|
Make recording of type() independent of LJ_T*/IRT_* mapping.
|
2010-12-28 18:23:41 +01:00 |
|
Mike Pall
|
44935dae0d
|
FFI: Add 64 bit integer arithmetic.
|
2010-12-25 22:54:25 +01:00 |
|
Mike Pall
|
dd65e00831
|
FFI: Fix C type representation for valarrays.
|
2010-12-25 22:33:07 +01:00 |
|
Mike Pall
|
461bf77331
|
FFI: Parse complex and 64 bit integer literals.
|
2010-12-24 01:31:39 +01:00 |
|
Mike Pall
|
4850865c57
|
Fix misnamed macro in Lua parser.
|
2010-12-24 01:23:42 +01:00 |
|
Mike Pall
|
aa705f7e1a
|
FFI: Fix C parser for hex literals.
|
2010-12-23 23:06:04 +01:00 |
|
Mike Pall
|
79ab1a4baa
|
FFI: Add pointer arithmetic.
|
2010-12-23 17:54:54 +01:00 |
|
Mike Pall
|
ba20871f0f
|
Fix display of branches to exit stubs in 32 bit disassembly.
|
2010-12-23 01:01:04 +01:00 |
|
Mike Pall
|
6082f93919
|
Improve register allocation for loops with variable shifts.
|
2010-12-23 00:55:31 +01:00 |
|
Mike Pall
|
c0ffe7d394
|
FFI: Record cdata allocations.
|
2010-12-22 23:21:38 +01:00 |
|
Mike Pall
|
4f2f44dd97
|
Avoid compiler warnings.
|
2010-12-22 23:20:50 +01:00 |
|
Mike Pall
|
dbab6cf511
|
Reassociate XLOAD across PHIs to handle a[i-1] forwarding case.
Improved SciMark scores: http://luajit.org/download/scimark.lua
x86 SciMark LARGE | FFT SOR MC SPARSE LU
-----------------------+---------------------------------------
GCC 4.4.3 623.8 | 91.0 883.5 190.4 784.7 1169.6
LuaJIT git +FFI 651.2 | 97.2 1021.9 323.4 673.7 1139.6
LuaJIT git 527.7 | 91.4 1008.5 225.6 400.0 913.2
x64 SciMark LARGE | FFT SOR MC SPARSE LU
-----------------------+---------------------------------------
GCC 4.4.3 614.7 | 97.7 883.5 228.5 734.0 1129.9
JVM 1.6.0_22 707.5 | 79.2 1118.1 385.5 658.9 1295.7
LuaJIT git +FFI 632.8 | 89.1 1035.8 298.3 648.1 1092.9
LuaJIT git 516.1 | 88.4 995.4 225.6 382.1 888.9
|
2010-12-20 22:32:01 +01:00 |
|
Mike Pall
|
c8d6f078a5
|
Fix XSTORE for IRT_NUM constants.
|
2010-12-20 19:34:15 +01:00 |
|
Mike Pall
|
c9a0b9ea9e
|
Improve alias analysis for cdata allocations.
|
2010-12-20 15:26:05 +01:00 |
|
Mike Pall
|
255c6e8c87
|
FFI: Drop IR_CNEWI. Add IR_CNEWP only for pointers/refs.
|
2010-12-17 17:20:04 +01:00 |
|
Mike Pall
|
c98132e182
|
FFI: FOLD load of initializers even across PHIs.
|
2010-12-17 16:47:28 +01:00 |
|
Mike Pall
|
c4a0fb4f60
|
FFI: Record copy-by-value for pointer and complex C types.
|
2010-12-17 16:47:14 +01:00 |
|
Mike Pall
|
09ef7ebf56
|
FFI: Simplify copy-by-value. Strip attributes, keep qualifiers.
|
2010-12-15 21:47:46 +01:00 |
|
Mike Pall
|
fbcc925a2d
|
FFI: Fix auto-deref of pointers to structs.
|
2010-12-15 19:48:20 +01:00 |
|
Mike Pall
|
badff4ed0a
|
Fix error location while recording metamethods.
|
2010-12-15 19:44:30 +01:00 |
|
Mike Pall
|
9666cf52ce
|
Fix type-based alias analysis for XLOAD/XSTORE.
|
2010-12-12 23:09:26 +01:00 |
|
Mike Pall
|
74317fa0ef
|
Add alias analysis for XLOAD/XSTORE. Add DSE for XSTORE.
|
2010-12-12 22:32:52 +01:00 |
|
Mike Pall
|
a22ea8898e
|
FOLD (base+k)+(idx*sz)+ofs ==> (base+idx*sz)+(ofs+k).
|
2010-12-12 21:07:23 +01:00 |
|
Mike Pall
|
a403cb13e4
|
Add missing PHI barrier to strength reduction of widening.
|
2010-12-12 21:05:34 +01:00 |
|
Mike Pall
|
42f9b38663
|
Extend all FOLD rules to work on 64 bit integers.
|
2010-12-11 21:20:49 +01:00 |
|
Mike Pall
|
476259e87e
|
Add 64 bit bswap and rotates.
|
2010-12-11 21:20:12 +01:00 |
|
Mike Pall
|
5f7e9173db
|
Regroup FOLD rules for constant folding.
|
2010-12-11 20:08:07 +01:00 |
|
Mike Pall
|
44101c64e8
|
FFI: Don't use KNULL for arbitrary NULL pointers.
|
2010-12-11 20:12:14 +01:00 |
|
Mike Pall
|
cdac0fa2cb
|
FFI: Add IR_CNEW/IR_CNEWI to allocate/init cdata objects.
|
2010-12-11 19:32:12 +01:00 |
|
Mike Pall
|
6947493687
|
Turn lj_mem_newgco() into a fastcall.
|
2010-12-10 01:10:52 +01:00 |
|
Mike Pall
|
09e2bdbb0a
|
FFI: Always specialize to the field name for struct access.
|
2010-12-09 22:48:01 +01:00 |
|
Mike Pall
|
870bcd7640
|
Add missing guard for check against "#" when recording select().
|
2010-12-09 22:35:49 +01:00 |
|
Mike Pall
|
cc0efd85d6
|
FFI: Fix alignment of scalars/vectors modified with mode attribute.
|
2010-12-09 18:48:23 +01:00 |
|
Mike Pall
|
1d86090926
|
Strength-reduce 32 to 64 bit widening using scalar evolution analysis.
|
2010-12-09 16:12:59 +01:00 |
|
Mike Pall
|
36fed9f3e1
|
Allow integer literals in FOLD rules.
Workaround before refactoring conversion ops.
|
2010-12-09 16:11:15 +01:00 |
|
Mike Pall
|
e9cab5a763
|
x86/x64 backend: keep invariants on the right rather than fusing loads.
|
2010-12-09 16:08:55 +01:00 |
|
Mike Pall
|
4f0d3e8262
|
Apply narrowing optimization to IR_TOI64, too.
|
2010-12-08 21:03:45 +01:00 |
|
Mike Pall
|
f308e00e03
|
Add FOLD rule to reassociate 64 bit (x+k1)+k2.
|
2010-12-08 20:57:21 +01:00 |
|
Mike Pall
|
d0b283e596
|
Avoid stack resizes while recording calls to vararg functions.
FUNCV might have been recorded twice (with ill effects).
|
2010-12-08 19:11:58 +01:00 |
|
Mike Pall
|
6a04591b7b
|
FOLD (base+(idx+k)*sz)+ofs ==> (base+idx*sz)+(ofs+k*sz).
|
2010-12-08 03:33:48 +01:00 |
|
Mike Pall
|
3c78a7f468
|
Avoid fusing loads if there are multiple references.
|
2010-12-08 03:26:53 +01:00 |
|
Mike Pall
|
72744dabd9
|
Fix IRT_NUM support for XLOAD/XSTORE.
|
2010-12-08 03:24:35 +01:00 |
|
Mike Pall
|
3ef6a53cfa
|
FFI: Turn cdata indexing into x86/x64 [base+idx*sz+ofs] addressing.
|
2010-12-08 02:36:09 +01:00 |
|
Mike Pall
|
d778680098
|
FFI: Record cdata index operations (preliminary, lots of NYI cases).
|
2010-12-08 02:11:18 +01:00 |
|
Mike Pall
|
2a917a9d83
|
FFI: Treat cdata metatable+methods as immutable in trace recorder.
|
2010-12-08 02:02:21 +01:00 |
|