merge add

This commit is contained in:
2026-02-13 08:09:12 -06:00
parent f7e2ff13b5
commit 0acaabd5fa
14 changed files with 98386 additions and 107814 deletions

View File

@@ -43,6 +43,10 @@ var streamline = function(ir, log) {
add_float: true, sub_float: true, mul_float: true,
div_float: true, mod_float: true
}
var numeric_ops = {
add: true, subtract: true, multiply: true,
divide: true, modulo: true, pow: true
}
var bool_result_ops = {
eq_int: true, ne_int: true, lt_int: true, gt_int: true,
le_int: true, ge_int: true,
@@ -159,10 +163,12 @@ var streamline = function(ir, log) {
slot_types[text(instr[1])] = T_FUNCTION
} else if (op == "length") {
slot_types[text(instr[1])] = T_INT
} else if (op == "neg_int") {
slot_types[text(instr[1])] = T_INT
} else if (op == "negate" || op == "neg_int") {
slot_types[text(instr[1])] = T_UNKNOWN
} else if (op == "neg_float") {
slot_types[text(instr[1])] = T_FLOAT
} else if (numeric_ops[op] == true) {
slot_types[text(instr[1])] = T_UNKNOWN
} else if (op == "bitnot" || op == "bitand" || op == "bitor" ||
op == "bitxor" || op == "shl" || op == "shr" || op == "ushr") {
slot_types[text(instr[1])] = T_INT
@@ -266,6 +272,12 @@ var streamline = function(ir, log) {
merge_backward(backward_types, instr[3], T_INT)
} else if (op == "neg_int" || op == "bitnot") {
merge_backward(backward_types, instr[2], T_INT)
} else if (op == "subtract" || op == "multiply" ||
op == "divide" || op == "modulo" || op == "pow") {
merge_backward(backward_types, instr[2], T_NUM)
merge_backward(backward_types, instr[3], T_NUM)
} else if (op == "negate") {
merge_backward(backward_types, instr[2], T_NUM)
} else if (op == "add_float" || op == "sub_float" || op == "mul_float" ||
op == "div_float" || op == "mod_float" ||
op == "eq_float" || op == "ne_float" || op == "lt_float" ||
@@ -395,6 +407,9 @@ var streamline = function(ir, log) {
} else if (op == "neg_float") {
slot = instr[1]
typ = T_FLOAT
} else if (op == "negate") {
slot = instr[1]
typ = T_UNKNOWN
} else if (op == "concat") {
slot = instr[1]
typ = T_TEXT