fleft             138 lj_opt_fold.c  #define knumleft	(ir_knum(fleft)->n)
fleft             272 lj_opt_fold.c    return INTFOLD(kfold_intop(fleft->i, fright->i, (IROp)fins->o));
fleft             280 lj_opt_fold.c    lua_Number n = lj_vm_foldarith((lua_Number)fleft->i, (lua_Number)fright->i,
fleft             291 lj_opt_fold.c    return INTFOLD(~fleft->i);
fleft             297 lj_opt_fold.c    return INTFOLD((int32_t)lj_bswap((uint32_t)fleft->i));
fleft             311 lj_opt_fold.c    int32_t a = fleft->i, b = fright->i;
fleft             362 lj_opt_fold.c    return INT64FOLD(kfold_int64arith(ir_k64(fleft)->u64,
fleft             372 lj_opt_fold.c    uint64_t k1 = ir_k64(fleft)->u64, k2 = ir_k64(fright)->u64;
fleft             396 lj_opt_fold.c    uint64_t k = ir_k64(fleft)->u64;
fleft             418 lj_opt_fold.c    return INT64FOLD(~ir_k64(fleft)->u64);
fleft             428 lj_opt_fold.c    return INT64FOLD(lj_bswap64(ir_k64(fleft)->u64));
fleft             445 lj_opt_fold.c    uint64_t a = ir_k64(fleft)->u64, b = ir_k64(fright)->u64;
fleft             479 lj_opt_fold.c    GCstr *s = lj_str_new(J->L, (const char *)ir_kptr(fleft), (size_t)fright->i);
fleft             494 lj_opt_fold.c    GCstr *str = ir_kstr(fleft);
fleft             502 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             504 lj_opt_fold.c      return fleft->op1;  /* strref(snew(ptr, len), 0) ==> ptr */
fleft             507 lj_opt_fold.c      IRIns *ir = IR(fleft->op1);
fleft             523 lj_opt_fold.c    if (irref_isk(fleft->op1) && irref_isk(fleft->op2)) {
fleft             524 lj_opt_fold.c      GCstr *a = ir_kstr(IR(fleft->op1));
fleft             525 lj_opt_fold.c      GCstr *b = ir_kstr(IR(fleft->op2));
fleft             537 lj_opt_fold.c    GCobj *o = ir_kgc(fleft);
fleft             544 lj_opt_fold.c    if (irt_iscdata(fleft->t)) {
fleft             561 lj_opt_fold.c    void *p = ir_kptr(fleft);
fleft             567 lj_opt_fold.c    return lj_ir_kptr_(J, fleft->o, (char *)p + ofs);
fleft             575 lj_opt_fold.c    if (fleft->o == IR_KINT || fleft->o == IR_KINT64) {
fleft             593 lj_opt_fold.c    return lj_ir_knum(J, (lua_Number)fleft->i);
fleft             599 lj_opt_fold.c    return lj_ir_knum(J, (lua_Number)(uint32_t)fleft->i);
fleft             608 lj_opt_fold.c    int32_t k = fleft->i;
fleft             623 lj_opt_fold.c      return INT64FOLD((uint64_t)(int64_t)fleft->i);
fleft             625 lj_opt_fold.c      return INT64FOLD((uint64_t)(int64_t)(uint32_t)fleft->i);
fleft             631 lj_opt_fold.c    return lj_ir_knum(J, (lua_Number)(int64_t)ir_kint64(fleft)->u64);
fleft             637 lj_opt_fold.c    return lj_ir_knum(J, (lua_Number)ir_kint64(fleft)->u64);
fleft             644 lj_opt_fold.c    return INTFOLD((int32_t)ir_kint64(fleft)->u64);
fleft             705 lj_opt_fold.c    return lj_ir_kstr(J, lj_str_fromint(J->L, fleft->i));
fleft             712 lj_opt_fold.c    if (lj_strscan_num(ir_kstr(fleft), &n))
fleft             747 lj_opt_fold.c    IRFPMathOp op = (IRFPMathOp)fleft->op2;
fleft             762 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             763 lj_opt_fold.c    fins->op1 = fleft->op1;  /* abs(neg(x)) ==> abs(x) */
fleft             773 lj_opt_fold.c    PHIBARRIER(fleft);  /* See above. Fold would be ok, but not beneficial. */
fleft             774 lj_opt_fold.c    return fleft->op1;  /* f(g(x)) ==> x */
fleft             789 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             792 lj_opt_fold.c    fins->op2 = fleft->op1;
fleft             817 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             818 lj_opt_fold.c    fins->op2 = fleft->op1;  /* (-x) - k ==> (-k) - x */
fleft             864 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             865 lj_opt_fold.c    fins->op1 = fleft->op1;  /* (-a) o k ==> a o (-k) */
fleft             874 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             876 lj_opt_fold.c    fins->op1 = fleft->op1;  /* (-a) o (-b) ==> a o b */
fleft             934 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             936 lj_opt_fold.c    if ((fleft->op2 & IRCONV_SRCMASK) == IRT_NUM && irt_isguard(fleft->t))
fleft             937 lj_opt_fold.c      return fleft->op1;  /* f(g(x)) ==> x */
fleft             946 lj_opt_fold.c    if ((fleft->op2 & IRCONV_SRCMASK) ==
fleft             948 lj_opt_fold.c      return fleft->op1;
fleft             956 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             957 lj_opt_fold.c    if ((fleft->op2 & IRCONV_SRCMASK) == IRT_INT) {
fleft             959 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft             962 lj_opt_fold.c    } else if ((fleft->op2 & IRCONV_SRCMASK) == IRT_U32) {
fleft             964 lj_opt_fold.c      return fleft->op1;
fleft             967 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft             982 lj_opt_fold.c    PHIBARRIER(fleft);
fleft             983 lj_opt_fold.c    src = (fleft->op2 & IRCONV_SRCMASK);
fleft             986 lj_opt_fold.c        return fleft->op1;
fleft             989 lj_opt_fold.c        fins->op1 = fleft->op1;
fleft             999 lj_opt_fold.c    PHIBARRIER(fleft);
fleft            1000 lj_opt_fold.c    if ((fleft->op2 & IRCONV_SRCMASK) == IRT_FLOAT)
fleft            1001 lj_opt_fold.c      return fleft->op1;
fleft            1010 lj_opt_fold.c    if ((fleft->op2 & IRCONV_SRCMASK) == IRT_INT) {
fleft            1011 lj_opt_fold.c      lua_assert(irt_isnum(fleft->t));
fleft            1012 lj_opt_fold.c      return fleft->op1;
fleft            1013 lj_opt_fold.c    } else if ((fleft->op2 & IRCONV_SRCMASK) == IRT_U32) {
fleft            1014 lj_opt_fold.c      lua_assert(irt_isnum(fleft->t));
fleft            1016 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft            1029 lj_opt_fold.c    if ((fleft->op2 & IRCONV_SRCMASK) == IRT_INT ||
fleft            1030 lj_opt_fold.c        (fleft->op2 & IRCONV_SRCMASK) == IRT_U32)
fleft            1044 lj_opt_fold.c    PHIBARRIER(fleft);
fleft            1045 lj_opt_fold.c    if (fleft->o == IR_XLOAD && (irt_isu8(fleft->t) || irt_isu16(fleft->t)))
fleft            1047 lj_opt_fold.c    if (fleft->o == IR_ADD && irref_isk(fleft->op2)) {
fleft            1048 lj_opt_fold.c      ofs = (int64_t)IR(fleft->op2)->i;
fleft            1049 lj_opt_fold.c      ref = fleft->op1;
fleft            1085 lj_opt_fold.c    IROp op = (IROp)fleft->o;
fleft            1087 lj_opt_fold.c    IRRef op1 = fleft->op1, op2 = fleft->op2, mode = fins->op2;
fleft            1088 lj_opt_fold.c    PHIBARRIER(fleft);
fleft            1126 lj_opt_fold.c    PHIBARRIER(fleft);
fleft            1175 lj_opt_fold.c    if (fleft->o == IR_KINT ? (fleft->i == 0) : (ir_kint64(fleft)->u64 == 0)) {
fleft            1257 lj_opt_fold.c    if (fleft->i == 0)
fleft            1275 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            1276 lj_opt_fold.c      if (fins->op2 == fleft->op1)  /* (i + j) - i ==> j */
fleft            1277 lj_opt_fold.c        return fleft->op2;
fleft            1278 lj_opt_fold.c      if (fins->op2 == fleft->op2)  /* (i + j) - j ==> i */
fleft            1279 lj_opt_fold.c        return fleft->op1;
fleft            1288 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            1289 lj_opt_fold.c      if (fins->op2 == fleft->op1) {  /* (i - j) - i ==> 0 - j */
fleft            1291 lj_opt_fold.c        fins->op2 = fleft->op2;
fleft            1332 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            1334 lj_opt_fold.c      if (fleft->op1 == fright->op1) {  /* (i + j1) - (i + j2) ==> j1 - j2 */
fleft            1335 lj_opt_fold.c        fins->op1 = fleft->op2;
fleft            1339 lj_opt_fold.c      if (fleft->op1 == fright->op2) {  /* (i + j1) - (j2 + i) ==> j1 - j2 */
fleft            1340 lj_opt_fold.c        fins->op1 = fleft->op2;
fleft            1344 lj_opt_fold.c      if (fleft->op2 == fright->op1) {  /* (j1 + i) - (i + j2) ==> j1 - j2 */
fleft            1345 lj_opt_fold.c        fins->op1 = fleft->op1;
fleft            1349 lj_opt_fold.c      if (fleft->op2 == fright->op2) {  /* (j1 + i) - (j2 + i) ==> j1 - j2 */
fleft            1350 lj_opt_fold.c        fins->op1 = fleft->op1;
fleft            1457 lj_opt_fold.c    int64_t k = fleft->o == IR_KINT ? (int64_t)fleft->i :
fleft            1458 lj_opt_fold.c  				    (int64_t)ir_k64(fleft)->u64;
fleft            1472 lj_opt_fold.c    int64_t k = fleft->o == IR_KINT ? (int64_t)fleft->i :
fleft            1473 lj_opt_fold.c  				    (int64_t)ir_k64(fleft)->u64;
fleft            1485 lj_opt_fold.c    IRIns *irk = IR(fleft->op2);
fleft            1486 lj_opt_fold.c    PHIBARRIER(fleft);
fleft            1489 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft            1502 lj_opt_fold.c    IRIns *irk = IR(fleft->op2);
fleft            1504 lj_opt_fold.c        kfold_intop(-1, irk->i, (IROp)fleft->o) == fright->i)
fleft            1518 lj_opt_fold.c    IRIns *irk = IR(fleft->op2);
fleft            1523 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            1524 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft            1539 lj_opt_fold.c    IRIns *irk = IR(fleft->op2);
fleft            1543 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            1544 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft            1560 lj_opt_fold.c    if (fins->op2 == fleft->op1 || fins->op2 == fleft->op2)
fleft            1568 lj_opt_fold.c    PHIBARRIER(fleft);
fleft            1569 lj_opt_fold.c    if (fins->op2 == fleft->op1)  /* (a xor b) xor a ==> b */
fleft            1570 lj_opt_fold.c      return fleft->op2;
fleft            1571 lj_opt_fold.c    if (fins->op2 == fleft->op2)  /* (a xor b) xor b ==> a */
fleft            1572 lj_opt_fold.c      return fleft->op1;
fleft            1583 lj_opt_fold.c    IRIns *irk = IR(fleft->op2);
fleft            1584 lj_opt_fold.c    PHIBARRIER(fleft);  /* The (shift any KINT) rule covers k2 == 0 and more. */
fleft            1596 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft            1609 lj_opt_fold.c    IRIns *irk = IR(fleft->op2);
fleft            1615 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            1616 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft            1624 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            1625 lj_opt_fold.c      fins->op1 = fleft->op1;
fleft            1636 lj_opt_fold.c    if (fins->op2 == fleft->op1 || fins->op2 == fleft->op2)
fleft            1830 lj_opt_fold.c    PHIBARRIER(fleft);
fleft            1833 lj_opt_fold.c      IRRef strref = fleft->op1;
fleft            1837 lj_opt_fold.c        emitir(IRTGI(IR_EQ), fleft->op2, lj_ir_kint(J, len));
fleft            1841 lj_opt_fold.c        if (!irref_isk(fleft->op2))  /* Only handle the constant length case. */
fleft            1843 lj_opt_fold.c        if (IR(fleft->op2)->i != len)
fleft            1884 lj_opt_fold.c    lua_assert(ir_kptr(fleft) == niltvg(J2G(J)));
fleft            1909 lj_opt_fold.c      GCfunc *fn = ir_kfunc(fleft);
fleft            1945 lj_opt_fold.c    if (lj_tab_get(J->L, ir_ktab(IR(fleft->op1)), &keyv) == niltvg(J2G(J)) &&
fleft            1961 lj_opt_fold.c      return INTFOLD(fleft->op1);
fleft            1969 lj_opt_fold.c      return INTFOLD((1 << fleft->op2)-1);
fleft            1977 lj_opt_fold.c      return INTFOLD((int32_t)ir_ktab(IR(fleft->op1))->asize);
fleft            1985 lj_opt_fold.c      return INTFOLD((int32_t)ir_ktab(IR(fleft->op1))->hmask);
fleft            2005 lj_opt_fold.c      return INTFOLD((int32_t)ir_kstr(fleft)->len);
fleft            2013 lj_opt_fold.c      PHIBARRIER(fleft);
fleft            2014 lj_opt_fold.c      return fleft->op2;
fleft            2024 lj_opt_fold.c      return INTFOLD((int32_t)ir_kcdata(fleft)->ctypeid);
fleft            2035 lj_opt_fold.c      void *p = cdataptr(ir_kcdata(fleft));
fleft            2049 lj_opt_fold.c      return fleft->op1;  /* No PHI barrier needed. CNEW/CNEWI op1 is const. */
fleft            2060 lj_opt_fold.c      return fleft->op2;  /* Fold even across PHI to avoid allocations. */
fleft            2093 lj_opt_fold.c    TRef tr = kfold_xload(J, fins, ir_kptr(fleft));
fleft            2211 lj_opt_fold.c      *fleft = *IR(fins->op1);
fleft             262 lj_opt_mem.c     IRRef tab = fleft->op1;