summaryrefslogtreecommitdiff
path: root/src/lj_opt_fold.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactoring of conversion ops, part 4: use CONV instead of TOINT/TONUM.Mike Pall2010-12-311-6/+7
| | | | Also narrow CONV.int.num and CONV.i64.num.
* Refactoring of conversion ops, part 3: add FOLD rules for IR_CONV.Mike Pall2010-12-311-31/+222
|
* Copy destination type for CONV from ir->t to op2, too.Mike Pall2010-12-311-6/+4
|
* Refactoring of conversion ops, part 1: add IR_CONV.Mike Pall2010-12-301-0/+22
|
* FFI: Drop IR_CNEWI. Add IR_CNEWP only for pointers/refs.Mike Pall2010-12-171-18/+9
|
* FFI: FOLD load of initializers even across PHIs.Mike Pall2010-12-171-1/+1
|
* Add alias analysis for XLOAD/XSTORE. Add DSE for XSTORE.Mike Pall2010-12-121-0/+3
|
* Add missing PHI barrier to strength reduction of widening.Mike Pall2010-12-121-0/+2
|
* Extend all FOLD rules to work on 64 bit integers.Mike Pall2010-12-111-32/+130
|
* Regroup FOLD rules for constant folding.Mike Pall2010-12-111-104/+112
|
* FFI: Add IR_CNEW/IR_CNEWI to allocate/init cdata objects.Mike Pall2010-12-111-2/+33
|
* Strength-reduce 32 to 64 bit widening using scalar evolution analysis.Mike Pall2010-12-091-2/+43
|
* Apply narrowing optimization to IR_TOI64, too.Mike Pall2010-12-081-0/+2
|
* Add FOLD rule to reassociate 64 bit (x+k1)+k2.Mike Pall2010-12-081-0/+14
|
* Add IR_TOI64.Mike Pall2010-12-061-0/+26
|
* Add FOLD rule to turn i << 1 into i + i.Mike Pall2010-12-061-0/+5
|
* Add support for integer IR_MUL.Mike Pall2010-12-061-12/+74
|
* Avoid compiler warnings.Mike Pall2010-12-061-1/+1
|
* Add IR_XSTORE.Mike Pall2010-12-061-12/+1
|
* Add minimal set of fold rules for KINT64.Mike Pall2010-12-061-0/+19
|
* Rename IRT_PTR to IRT_P32.Mike Pall2010-12-051-1/+1
|
* Drop redundant (UGE any +0).Mike Pall2010-09-211-0/+8
|
* Improve FOLD/CSE of field loads and array/hash refs across NEWREF.Mike Pall2010-09-211-15/+8
|
* Add IR_VLOAD for vararg loads.Mike Pall2010-09-141-0/+1
| | | | Also fixes the broken AA improvement in the last commit.
* Record vararg expressions with varargs defined off-trace.Mike Pall2010-09-131-2/+7
| | | | Add SLOAD variant to access the frame type/size.
* PPC: Clean up masked shift/rotate target settings.Mike Pall2010-08-291-3/+2
|
* No longer let the GC replace dead keys with the LJ_TDEADKEY tag.Mike Pall2010-04-211-2/+3
| | | | | | | | Important: this changes the semantics of the write barrier! Carefully read the big comment block in lj_obj.h This helps HREFK key slot specialization and allows safely hoisting HREF/HREFK across GC steps, too (fix for a barely reproducible bug). Dead keys are only removed during a table resize (as before).
* Fold HREF of TNEW/TDUP to niltv. Fold HLOAD of niltv to nil.Mike Pall2010-03-281-0/+31
|
* Add array bounds check elimination (-Oabc, on by default).Mike Pall2010-03-151-14/+53
|
* Fix folding of (comparison x x).Mike Pall2010-03-141-1/+1
|
* RETF modifies BASE. Treat it like a store or it gets CSEd.Mike Pall2010-02-041-0/+1
|
* Improve alias analysis of upvalues using a disambiguation hash value.Mike Pall2010-01-091-2/+2
| | | | | | | | 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.
* Bump all copyright dates to 2010.Mike Pall2010-01-091-1/+1
|
* Fast forward to sync public repo.Mike Pall2009-12-081-35/+92
| | | | | | | | 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.
* RELEASE LuaJIT-2.0.0-beta2v2.0.0-beta2Mike Pall2009-12-081-4/+4
|
* RELEASE LuaJIT-2.0.0-beta1v2.0.0-beta1Mike Pall2009-12-081-0/+1415