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
|
70071241bf
|
Fix type-based colorization of snapshot slots in debug output.
|
2010-12-08 20:37:22 +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 |
|
Mike Pall
|
d4d95ee2da
|
Fix x64 code generation for A16+REX prefixed instructions.
|
2010-12-08 01:57:50 +01:00 |
|
Mike Pall
|
e6093b129a
|
Fix register allocation for 8 bit stores in x86 backend.
|
2010-12-07 01:18:10 +01:00 |
|
Mike Pall
|
b3c4c0810a
|
Add IRT_NUM support to XLOAD/XSTORE.
|
2010-12-06 19:28:51 +01:00 |
|
Mike Pall
|
159f51d811
|
Add IR_TOI64.
|
2010-12-06 18:21:51 +01:00 |
|
Mike Pall
|
f6c4e8d3d7
|
Add FOLD rule to turn i << 1 into i + i.
|
2010-12-06 13:26:58 +01:00 |
|
Mike Pall
|
a5bdae8f23
|
Fix 64 bit shifts in backend. Fix shift by 0.
|
2010-12-06 13:16:35 +01:00 |
|
Mike Pall
|
5270586a80
|
Fix XLOAD/XSTORE references.
|
2010-12-06 13:15:53 +01:00 |
|
Mike Pall
|
86fd2289f0
|
Add support for integer IR_MUL.
|
2010-12-06 12:54:00 +01:00 |
|
Mike Pall
|
b56b83487f
|
Support all kinds of XLOAD/XSTORE references in backend.
Fuse pointer arithmetic, too.
|
2010-12-06 03:10:28 +01:00 |
|
Mike Pall
|
a850b27da9
|
Avoid compiler warnings.
|
2010-12-06 03:07:10 +01:00 |
|
Mike Pall
|
e137408752
|
Use native IRT_PTR instead of IRT_LIGHTUD workaround for FILE*.
|
2010-12-06 02:14:39 +01:00 |
|
Mike Pall
|
73bc83cda1
|
Simplify lj_ir_kvalue(). Fix IR_KNULL + IRT_P64 case.
|
2010-12-06 02:12:08 +01:00 |
|
Mike Pall
|
4755765e32
|
Avoid warning.
|
2010-12-06 01:59:07 +01:00 |
|
Mike Pall
|
db3d16bfd7
|
Add IR_XSTORE.
|
2010-12-06 01:48:19 +01:00 |
|
Mike Pall
|
281f426d60
|
Add minimal set of fold rules for KINT64.
|
2010-12-06 00:38:21 +01:00 |
|
Mike Pall
|
588fa0481f
|
Add support for 64 bit integer arithmetic to x64 backend.
|
2010-12-06 00:07:36 +01:00 |
|
Mike Pall
|
c5f4f607c9
|
Fix xmm spill/restore broken by b1fb71fb .
|
2010-12-05 22:39:36 +01:00 |
|
Mike Pall
|
5a13fa69d9
|
Add IR_KINT64.
|
2010-12-05 22:12:31 +01:00 |
|
Mike Pall
|
b1fb71fb98
|
Cleanup 64 bit IR type handling.
|
2010-12-05 21:01:08 +01:00 |
|
Mike Pall
|
6a7605ec85
|
Rename IRT_PTR to IRT_P32.
|
2010-12-05 18:59:34 +01:00 |
|
Mike Pall
|
26830d070d
|
Make sure to use irt_toitype() macro everywhere.
|
2010-12-05 18:51:37 +01:00 |
|