Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | DUALNUM: Add integer variant of MIN/MAX. | Mike Pall | 2011-03-11 | 1 | -2/+23 | |
| | ||||||
* | DUALNUM: Handle integer type in JIT compiler. | Mike Pall | 2011-03-10 | 1 | -14/+21 | |
| | ||||||
* | x86/x64: Fix code generation for fused IR_MUL/IR_MULOV. | Mike Pall | 2011-03-10 | 1 | -1/+1 | |
| | ||||||
* | FFI: Fix x86 code generation for ffi.string(). | Mike Pall | 2011-03-10 | 1 | -1/+1 | |
| | ||||||
* | Fix code generation for bit.bnot(). | Mike Pall | 2011-03-07 | 1 | -1/+1 | |
| | ||||||
* | DUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV. | Mike Pall | 2011-03-07 | 1 | -0/+3 | |
| | ||||||
* | Fix code generation for Intel Atom in x64 mode. | Mike Pall | 2011-03-03 | 1 | -1/+1 | |
| | ||||||
* | FFI: Fix compiled ffi.string() semantics. | Mike Pall | 2011-02-28 | 1 | -1/+1 | |
| | ||||||
* | Add IR_XBAR, a barrier against XLOAD/XSTORE optimizations. | Mike Pall | 2011-02-07 | 1 | -1/+1 | |
| | ||||||
* | FFI: Record simple C function calls. | Mike Pall | 2011-02-05 | 1 | -25/+92 | |
| | | | | | | 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. | |||||
* | FFI: Rename IR_CNEWP to IR_CNEWI and use it to box 64 bit integers. | Mike Pall | 2011-02-03 | 1 | -25/+42 | |
| | | | | | Generates smaller IR and DCE eliminates many intermediate boxes. Needs allocation sinking to eliminate the boxes kept alive by PHIs. | |||||
* | Rename IR_POWI to IR_POW. | Mike Pall | 2011-02-02 | 1 | -4/+4 | |
| | ||||||
* | FFI: Record 64 bit integer divide and modulo. | Mike Pall | 2011-02-02 | 1 | -5/+26 | |
| | ||||||
* | Add SPLIT pass to split 64 bit IR instructions for 32 bit CPUs. | Mike Pall | 2011-02-02 | 1 | -81/+363 | |
| | | | | | | | Add generic HIOP instruction for extra backend functionality. Add support for HIOP to x86 backend. Use POWI for 64 bit integer x^k, too. POWI is lowered to a call by SPLIT or the x64 backend. | |||||
* | Combine i8/u8 XLOAD with BAND+comparison into test byte mrm, imm8. | Mike Pall | 2011-01-19 | 1 | -0/+20 | |
| | ||||||
* | Differentiate between IR_KPTR and IR_KKPTR. | Mike Pall | 2011-01-19 | 1 | -3/+3 | |
| | | | | | | | IR_KPTR holds a const pointer to possibly non-const content. IR_KKPTR holds a const pointer to definitely const content. Note that only content known by the VM to be const qualifies. Content tagged as const by users (e.g. const char *) doesn't. | |||||
* | FFI: Record 64 bit integer comparisons and pointer comparisons. | Mike Pall | 2011-01-17 | 1 | -1/+1 | |
| | ||||||
* | Bump copyright date to 2011. | Mike Pall | 2011-01-09 | 1 | -1/+1 | |
| | ||||||
* | Fix handling of floats in x86/x64 backend. | Mike Pall | 2011-01-05 | 1 | -13/+17 | |
| | ||||||
* | Add support for non-constant integer IR_MUL to backend. | Mike Pall | 2011-01-03 | 1 | -27/+13 | |
| | ||||||
* | Add support for integer IR_NEG to backend. | Mike Pall | 2011-01-03 | 1 | -4/+9 | |
| | ||||||
* | Improve uint64_t <-> FP conversions in x64 backend. | Mike Pall | 2011-01-02 | 1 | -13/+17 | |
| | ||||||
* | Add support for uint64_t <-> FP conversions to x64 backend. | Mike Pall | 2011-01-02 | 1 | -15/+34 | |
| | ||||||
* | Add 8/16 to 32 bit sign/zero-extension variants to CONV. | Mike Pall | 2010-12-31 | 1 | -1/+24 | |
| | ||||||
* | Fix register allocation for FP <- int conversion. | Mike Pall | 2010-12-31 | 1 | -1/+1 | |
| | ||||||
* | Refactoring of conversion ops, part 5: drop TOINT/TOI64/TONUM. | Mike Pall | 2010-12-31 | 1 | -44/+2 | |
| | ||||||
* | Copy destination type for CONV from ir->t to op2, too. | Mike Pall | 2010-12-31 | 1 | -1/+1 | |
| | ||||||
* | Add support for IRT_FLOAT to XLOAD/XSTORE. | Mike Pall | 2010-12-30 | 1 | -2/+5 | |
| | ||||||
* | Refactoring of conversion ops, part 1: add IR_CONV. | Mike Pall | 2010-12-30 | 1 | -1/+95 | |
| | ||||||
* | Improve register allocation for loops with variable shifts. | Mike Pall | 2010-12-23 | 1 | -1/+4 | |
| | ||||||
* | Fix XSTORE for IRT_NUM constants. | Mike Pall | 2010-12-20 | 1 | -1/+2 | |
| | ||||||
* | FFI: Drop IR_CNEWI. Add IR_CNEWP only for pointers/refs. | Mike Pall | 2010-12-17 | 1 | -58/+32 | |
| | ||||||
* | FFI: Add IR_CNEW/IR_CNEWI to allocate/init cdata objects. | Mike Pall | 2010-12-11 | 1 | -1/+90 | |
| | ||||||
* | x86/x64 backend: keep invariants on the right rather than fusing loads. | Mike Pall | 2010-12-09 | 1 | -3/+6 | |
| | ||||||
* | Avoid fusing loads if there are multiple references. | Mike Pall | 2010-12-08 | 1 | -8/+13 | |
| | ||||||
* | Fix IRT_NUM support for XLOAD/XSTORE. | Mike Pall | 2010-12-08 | 1 | -2/+3 | |
| | ||||||
* | FFI: Turn cdata indexing into x86/x64 [base+idx*sz+ofs] addressing. | Mike Pall | 2010-12-08 | 1 | -4/+36 | |
| | ||||||
* | Fix x64 code generation for A16+REX prefixed instructions. | Mike Pall | 2010-12-08 | 1 | -0/+1 | |
| | ||||||
* | Fix register allocation for 8 bit stores in x86 backend. | Mike Pall | 2010-12-07 | 1 | -2/+10 | |
| | ||||||
* | Add IRT_NUM support to XLOAD/XSTORE. | Mike Pall | 2010-12-06 | 1 | -2/+4 | |
| | ||||||
* | Add IR_TOI64. | Mike Pall | 2010-12-06 | 1 | -0/+19 | |
| | ||||||
* | Fix 64 bit shifts in backend. Fix shift by 0. | Mike Pall | 2010-12-06 | 1 | -2/+2 | |
| | ||||||
* | Fix XLOAD/XSTORE references. | Mike Pall | 2010-12-06 | 1 | -2/+3 | |
| | ||||||
* | Add support for integer IR_MUL. | Mike Pall | 2010-12-06 | 1 | -1/+31 | |
| | ||||||
* | Support all kinds of XLOAD/XSTORE references in backend. | Mike Pall | 2010-12-06 | 1 | -6/+13 | |
| | | | | Fuse pointer arithmetic, too. | |||||
* | Avoid warning. | Mike Pall | 2010-12-06 | 1 | -0/+1 | |
| | ||||||
* | Add IR_XSTORE. | Mike Pall | 2010-12-06 | 1 | -4/+9 | |
| | ||||||
* | Add support for 64 bit integer arithmetic to x64 backend. | Mike Pall | 2010-12-06 | 1 | -33/+51 | |
| | ||||||
* | Fix xmm spill/restore broken by b1fb71fb. | Mike Pall | 2010-12-05 | 1 | -7/+16 | |
| | ||||||
* | Add IR_KINT64. | Mike Pall | 2010-12-05 | 1 | -21/+44 | |
| |