Commit Graph

33 Commits

Author SHA1 Message Date
Mike Pall
9211a66e0e Improve ULOAD forwarding for open upvalues. 2013-06-18 20:08:55 +02:00
Mike Pall
f17b038828 Inhibit DSE for implicit loads via calls. 2013-04-09 11:50:33 +02:00
Mike Pall
4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall
c7826af5a0 FFI: Detect type punning through unions. 2012-08-27 20:53:37 +02:00
Mike Pall
a9bf455b96 Add HREFK forwarding. Eliminate HREFK guard for TDUP refs. 2012-06-28 15:10:52 +02:00
Mike Pall
9a98ba64b4 Fix TDUP to HLOAD forwarding for DUALNUM builds. 2012-06-27 19:54:52 +02:00
Mike Pall
3ed5172fe4 Fix DSE of USTORE. Have to remove OBAR, too. 2012-04-11 16:22:05 +02:00
Mike Pall
10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00
Mike Pall
05ef03e2d0 Don't bother to chain NOPs. 2011-08-11 22:04:38 +02:00
Mike Pall
19b84009b2 Fix type mismatch in XSTORE forwarding. 2011-02-14 23:02:16 +01:00
Mike Pall
97d0874ff5 Add IR_XBAR, a barrier against XLOAD/XSTORE optimizations. 2011-02-07 21:59:25 +01:00
Mike Pall
26fadcd25b FFI: Record simple C function calls.
Only handles cdecl and fixarg C functions.
Doesn't handle pass-by-value aggregates.
Doesn't handle 64 bit args/returns on 32 bit CPUs.
2011-02-05 21:50:15 +01:00
Mike Pall
8407ac0eca Add volatile XLOADs. 2011-01-19 02:05:12 +01:00
Mike Pall
06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall
ddfa7fc246 Add conversions for type mismatches in XSTORE forwarding. 2010-12-31 22:50:06 +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
c9a0b9ea9e Improve alias analysis for cdata allocations. 2010-12-20 15:26:05 +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
db3d16bfd7 Add IR_XSTORE. 2010-12-06 01:48:19 +01:00
Mike Pall
5a13fa69d9 Add IR_KINT64. 2010-12-05 22:12:31 +01:00
Mike Pall
4cd2299acd Improve AA for field accesses: disambiguate new allocations. 2010-09-21 15:21:26 +02:00
Mike Pall
38628d93b8 Improve FOLD/CSE of field loads and array/hash refs across NEWREF. 2010-09-21 02:28:14 +02:00
Mike Pall
23b5c56d41 Improve alias analysis: disambiguate new allocations. 2010-09-21 01:31:04 +02:00
Mike Pall
8dc76ee327 Add IR_VLOAD for vararg loads.
Also fixes the broken AA improvement in the last commit.
2010-09-14 19:58:27 +02:00
Mike Pall
23655bd52e Improve alias analysis for vararg loads. 2010-09-14 16:48:52 +02:00
Mike Pall
1d1d9221f3 Fold HREF of TNEW/TDUP to niltv. Fold HLOAD of niltv to nil. 2010-03-28 06:53:41 +02:00
Mike Pall
99d153bef9 Improve alias analysis of upvalues using a disambiguation hash value.
All upvalue objects hold a disambiguation hash value now.
It's built from the parent prototype and the slot number.
Different hash values imply the upvalues cannot alias.
Same hash values don't imply anything (collision or different closures).
Upvalue disambiguation makes use of a reduced hash due to IR contraints.
2010-01-09 23:59:43 +01:00
Mike Pall
4d9be5b8f8 Bump all copyright dates to 2010. 2010-01-09 14:28:11 +01:00
Mike Pall
3f1f9e11f4 Fast forward to sync public repo.
Compile math.sinh(), math.cosh(), math.tanh() and math.random().
Compile various io.*() functions.
Drive the GC forward on string allocations in the parser.
Improve KNUM fuse vs. load heuristics.
Add abstract C call handling to IR.
2009-12-08 20:35:29 +01:00
Mike Pall
1d1fed48a0 RELEASE LuaJIT-2.0.0-beta2 2009-12-08 19:49:20 +01:00
Mike Pall
55b1695971 RELEASE LuaJIT-2.0.0-beta1 2009-12-08 19:46:35 +01:00