AssociativePattern 105 src/AssociativeOpsTable.cpp static map<TableKey, vector<AssociativePattern>> pattern_tables; AssociativePattern 119 src/AssociativeOpsTable.cpp void populate_ops_table_single_general_add(Type t, vector<AssociativePattern> &table) { AssociativePattern 126 src/AssociativeOpsTable.cpp void populate_ops_table_single_general_mul(Type t, vector<AssociativePattern> &table) { AssociativePattern 133 src/AssociativeOpsTable.cpp void populate_ops_table_single_general_max(Type t, vector<AssociativePattern> &table) { AssociativePattern 140 src/AssociativeOpsTable.cpp void populate_ops_table_single_general_min(Type t, vector<AssociativePattern> &table) { AssociativePattern 147 src/AssociativeOpsTable.cpp void populate_ops_table_single_general_sub(Type t, vector<AssociativePattern> &table) { AssociativePattern 153 src/AssociativeOpsTable.cpp void populate_ops_table_single_general_select(Type t, vector<AssociativePattern> &table) { AssociativePattern 159 src/AssociativeOpsTable.cpp void populate_ops_table_double_general_add(Type t, vector<AssociativePattern> &table) { AssociativePattern 166 src/AssociativeOpsTable.cpp void populate_ops_table_double_general_mul(Type t, vector<AssociativePattern> &table) { AssociativePattern 172 src/AssociativeOpsTable.cpp void populate_ops_table_double_general_max(Type t, vector<AssociativePattern> &table) { AssociativePattern 179 src/AssociativeOpsTable.cpp void populate_ops_table_double_general_min(Type t, vector<AssociativePattern> &table) { AssociativePattern 186 src/AssociativeOpsTable.cpp void populate_ops_table_double_general_sub(Type t, vector<AssociativePattern> &table) { AssociativePattern 193 src/AssociativeOpsTable.cpp void populate_ops_table_double_general_select(Type t, vector<AssociativePattern> &table) { AssociativePattern 199 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint1_and(Type t, vector<AssociativePattern> &table) { AssociativePattern 206 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint1_or(Type t, vector<AssociativePattern> &table) { AssociativePattern 213 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint8_cast(Type t, vector<AssociativePattern> &table) { AssociativePattern 225 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint8_select(Type t, vector<AssociativePattern> &table) { AssociativePattern 233 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint16_cast(Type t, vector<AssociativePattern> &table) { AssociativePattern 243 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint16_select(Type t, vector<AssociativePattern> &table) { AssociativePattern 251 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint32_cast(Type t, vector<AssociativePattern> &table) { AssociativePattern 259 src/AssociativeOpsTable.cpp void populate_ops_table_single_uint32_select(Type t, vector<AssociativePattern> &table) { AssociativePattern 267 src/AssociativeOpsTable.cpp static const map<TableKey, void(*)(Type, vector<AssociativePattern> &)> val_type_to_populate_luts_fn = { AssociativePattern 294 src/AssociativeOpsTable.cpp const vector<AssociativePattern> &get_ops_table_helper(Type t, RootExpr root, size_t dim) { AssociativePattern 300 src/AssociativeOpsTable.cpp vector<AssociativePattern> &table = pattern_tables[key]; AssociativePattern 321 src/AssociativeOpsTable.cpp const vector<AssociativePattern> &get_ops_table(const vector<Expr> &exprs) { AssociativePattern 325 src/AssociativeOpsTable.cpp static vector<AssociativePattern> empty; AssociativePattern 367 src/AssociativeOpsTable.cpp const vector<AssociativePattern> &table = get_ops_table_helper(exprs[0].type(), root, exprs.size()); AssociativePattern 39 src/AssociativeOpsTable.h AssociativePattern() : is_commutative(false) {} AssociativePattern 40 src/AssociativeOpsTable.h AssociativePattern(size_t size) : ops(size), identities(size), is_commutative(false) {} AssociativePattern 41 src/AssociativeOpsTable.h AssociativePattern(const std::vector<Expr> &ops, const std::vector<Expr> &ids, bool is_commutative) AssociativePattern 43 src/AssociativeOpsTable.h AssociativePattern(Expr op, Expr id, bool is_commutative) AssociativePattern 46 src/AssociativeOpsTable.h bool operator==(const AssociativePattern &other) const { AssociativePattern 57 src/AssociativeOpsTable.h bool operator!=(const AssociativePattern &other) const { return !(*this == other); } AssociativePattern 62 src/AssociativeOpsTable.h const std::vector<AssociativePattern> &get_ops_table(const std::vector<Expr> &exprs); AssociativePattern 158 src/Associativity.cpp bool find_match(const vector<AssociativePattern> &table, const vector<string> &op_x_names, AssociativePattern 171 src/Associativity.cpp for (const AssociativePattern &pattern : table) { AssociativePattern 538 src/Associativity.cpp AssociativePattern(Cast::make(UInt(8), min(Cast::make(UInt(16), x + y), make_const(t, 255))), make_const(t, 0), true), AssociativePattern 547 src/Associativity.cpp AssociativePattern(Cast::make(UInt(8), min(Cast::make(UInt(16), x + y), make_const(t, 255))), make_const(t, 0), true), AssociativePattern 556 src/Associativity.cpp AssociativePattern(select(x > make_const(t, 255) - y, make_const(t, 255), y), make_const(t, 0), true), AssociativePattern 565 src/Associativity.cpp AssociativePattern(select(x < -y, y, make_const(t, 255)), make_const(t, 0), true), AssociativePattern 583 src/Associativity.cpp AssociativePattern(And::make(x, y), const_true(), true), AssociativePattern 592 src/Associativity.cpp AssociativePattern(Or::make(x, y), const_false(), true), AssociativePattern 621 src/Associativity.cpp AssociativePattern(min(x, y), t.max(), true), AssociativePattern 630 src/Associativity.cpp AssociativePattern(x + y, make_const(t, 0), true), AssociativePattern 639 src/Associativity.cpp AssociativePattern(max(x, y), t.min(), true), AssociativePattern 648 src/Associativity.cpp AssociativePattern({ys[0], ys[1], xs[2] + ys[2]}, {make_const(t, 0), make_const(t, 0), make_const(t, 0)}, true), AssociativePattern 657 src/Associativity.cpp AssociativePattern( AssociativePattern 672 src/Associativity.cpp AssociativePattern(x + y, 0, true), AssociativePattern 681 src/Associativity.cpp AssociativePattern(y, make_const(t, 0), true), AssociativePattern 693 src/Associativity.cpp AssociativePattern(max(x, y), t.min(), true), AssociativePattern 702 src/Associativity.cpp AssociativePattern( AssociativePattern 714 src/Associativity.cpp AssociativePattern( AssociativePattern 726 src/Associativity.cpp AssociativePattern(max(x, y), t.min(), true), AssociativePattern 751 src/Associativity.cpp AssociativePattern( AssociativePattern 70 src/Associativity.h AssociativePattern pattern; AssociativePattern 77 src/Associativity.h AssociativeOp(const AssociativePattern &p, const std::vector<Replacement> &xs, AssociativePattern 149 src/IRPrinter.cpp ostream& operator<<(ostream &stream, const AssociativePattern &p) { AssociativePattern 41 src/IRPrinter.h struct AssociativePattern; AssociativePattern 46 src/IRPrinter.h EXPORT std::ostream &operator<<(std::ostream &stream, const AssociativePattern &);