IRComparer 36 src/IREquality.cpp IRComparer(IRCompareCache *c = nullptr) : result(Equal), cache(c) {} IRComparer 96 src/IREquality.cpp IRComparer::CmpResult IRComparer::compare_scalar(T a, T b) { IRComparer 108 src/IREquality.cpp IRComparer::CmpResult IRComparer::compare_expr(const Expr &a, const Expr &b) { IRComparer 163 src/IREquality.cpp IRComparer::CmpResult IRComparer::compare_stmt(const Stmt &a, const Stmt &b) { IRComparer 198 src/IREquality.cpp IRComparer::CmpResult IRComparer::compare_types(Type a, Type b) { IRComparer 209 src/IREquality.cpp IRComparer::CmpResult IRComparer::compare_names(const string &a, const string &b) { IRComparer 223 src/IREquality.cpp IRComparer::CmpResult IRComparer::compare_expr_vector(const vector<Expr> &a, const vector<Expr> &b) { IRComparer 234 src/IREquality.cpp void IRComparer::visit(const IntImm *op) { IRComparer 239 src/IREquality.cpp void IRComparer::visit(const UIntImm *op) { IRComparer 244 src/IREquality.cpp void IRComparer::visit(const FloatImm *op) { IRComparer 249 src/IREquality.cpp void IRComparer::visit(const StringImm *op) { IRComparer 254 src/IREquality.cpp void IRComparer::visit(const Cast *op) { IRComparer 258 src/IREquality.cpp void IRComparer::visit(const Variable *op) { IRComparer 265 src/IREquality.cpp void visit_binary_operator(IRComparer *cmp, const T *op, Expr expr) { IRComparer 272 src/IREquality.cpp void IRComparer::visit(const Add *op) {visit_binary_operator(this, op, expr);} IRComparer 273 src/IREquality.cpp void IRComparer::visit(const Sub *op) {visit_binary_operator(this, op, expr);} IRComparer 274 src/IREquality.cpp void IRComparer::visit(const Mul *op) {visit_binary_operator(this, op, expr);} IRComparer 275 src/IREquality.cpp void IRComparer::visit(const Div *op) {visit_binary_operator(this, op, expr);} IRComparer 276 src/IREquality.cpp void IRComparer::visit(const Mod *op) {visit_binary_operator(this, op, expr);} IRComparer 277 src/IREquality.cpp void IRComparer::visit(const Min *op) {visit_binary_operator(this, op, expr);} IRComparer 278 src/IREquality.cpp void IRComparer::visit(const Max *op) {visit_binary_operator(this, op, expr);} IRComparer 279 src/IREquality.cpp void IRComparer::visit(const EQ *op) {visit_binary_operator(this, op, expr);} IRComparer 280 src/IREquality.cpp void IRComparer::visit(const NE *op) {visit_binary_operator(this, op, expr);} IRComparer 281 src/IREquality.cpp void IRComparer::visit(const LT *op) {visit_binary_operator(this, op, expr);} IRComparer 282 src/IREquality.cpp void IRComparer::visit(const LE *op) {visit_binary_operator(this, op, expr);} IRComparer 283 src/IREquality.cpp void IRComparer::visit(const GT *op) {visit_binary_operator(this, op, expr);} IRComparer 284 src/IREquality.cpp void IRComparer::visit(const GE *op) {visit_binary_operator(this, op, expr);} IRComparer 285 src/IREquality.cpp void IRComparer::visit(const And *op) {visit_binary_operator(this, op, expr);} IRComparer 286 src/IREquality.cpp void IRComparer::visit(const Or *op) {visit_binary_operator(this, op, expr);} IRComparer 288 src/IREquality.cpp void IRComparer::visit(const Not *op) { IRComparer 293 src/IREquality.cpp void IRComparer::visit(const Select *op) { IRComparer 301 src/IREquality.cpp void IRComparer::visit(const Load *op) { IRComparer 308 src/IREquality.cpp void IRComparer::visit(const Ramp *op) { IRComparer 315 src/IREquality.cpp void IRComparer::visit(const Broadcast *op) { IRComparer 320 src/IREquality.cpp void IRComparer::visit(const Call *op) { IRComparer 329 src/IREquality.cpp void IRComparer::visit(const Let *op) { IRComparer 337 src/IREquality.cpp void IRComparer::visit(const LetStmt *op) { IRComparer 345 src/IREquality.cpp void IRComparer::visit(const AssertStmt *op) { IRComparer 352 src/IREquality.cpp void IRComparer::visit(const ProducerConsumer *op) { IRComparer 360 src/IREquality.cpp void IRComparer::visit(const For *op) { IRComparer 370 src/IREquality.cpp void IRComparer::visit(const Store *op) { IRComparer 380 src/IREquality.cpp void IRComparer::visit(const Provide *op) { IRComparer 388 src/IREquality.cpp void IRComparer::visit(const Allocate *op) { IRComparer 399 src/IREquality.cpp void IRComparer::visit(const Realize *op) { IRComparer 416 src/IREquality.cpp void IRComparer::visit(const Block *op) { IRComparer 423 src/IREquality.cpp void IRComparer::visit(const Free *op) { IRComparer 429 src/IREquality.cpp void IRComparer::visit(const IfThenElse *op) { IRComparer 437 src/IREquality.cpp void IRComparer::visit(const Evaluate *op) { IRComparer 443 src/IREquality.cpp void IRComparer::visit(const Shuffle *op) { IRComparer 454 src/IREquality.cpp void IRComparer::visit(const Prefetch *op) { IRComparer 470 src/IREquality.cpp return IRComparer().compare_expr(a, b) == IRComparer::Equal; IRComparer 475 src/IREquality.cpp return IRComparer(&cache).compare_expr(a, b) == IRComparer::Equal; IRComparer 479 src/IREquality.cpp return IRComparer().compare_stmt(a, b) == IRComparer::Equal; IRComparer 484 src/IREquality.cpp return IRComparer(&cache).compare_stmt(a, b) == IRComparer::Equal; IRComparer 488 src/IREquality.cpp IRComparer cmp; IRComparer 490 src/IREquality.cpp return cmp.result == IRComparer::LessThan; IRComparer 494 src/IREquality.cpp IRComparer cmp; IRComparer 496 src/IREquality.cpp return cmp.result == IRComparer::LessThan; IRComparer 500 src/IREquality.cpp IRComparer cmp(cache); IRComparer 502 src/IREquality.cpp return cmp.result == IRComparer::LessThan; IRComparer 508 src/IREquality.cpp IRComparer::CmpResult flip_result(IRComparer::CmpResult r) { IRComparer 510 src/IREquality.cpp case IRComparer::LessThan: return IRComparer::GreaterThan; IRComparer 511 src/IREquality.cpp case IRComparer::Equal: return IRComparer::Equal; IRComparer 512 src/IREquality.cpp case IRComparer::GreaterThan: return IRComparer::LessThan; IRComparer 513 src/IREquality.cpp case IRComparer::Unknown: return IRComparer::Unknown; IRComparer 515 src/IREquality.cpp return IRComparer::Unknown; IRComparer 520 src/IREquality.cpp IRComparer::CmpResult r = IRComparer(&cache).compare_expr(a, b); IRComparer 521 src/IREquality.cpp internal_assert(r == IRComparer::Equal) IRComparer 523 src/IREquality.cpp << " instead of " << IRComparer::Equal IRComparer 530 src/IREquality.cpp IRComparer::CmpResult r1 = IRComparer(&cache).compare_expr(a, b); IRComparer 531 src/IREquality.cpp IRComparer::CmpResult r2 = IRComparer(&cache).compare_expr(b, a); IRComparer 532 src/IREquality.cpp internal_assert(r1 != IRComparer::Equal && IRComparer 533 src/IREquality.cpp r1 != IRComparer::Unknown &&