| 2570 | } |
| 2571 | |
| 2572 | expr Memory::blockRefined(const Pointer &src, const Pointer &tgt) const { |
| 2573 | expr aligned(true); |
| 2574 | expr src_align = src.blockAlignment(); |
| 2575 | expr tgt_align = tgt.blockAlignment(); |
| 2576 | // if they are both non-const, then the condition holds per the precondition |
| 2577 | if (src_align.isConst() || tgt_align.isConst()) |
| 2578 | aligned = src_align.ule(tgt_align); |
| 2579 | |
| 2580 | return src.isBlockAlive() == tgt.isBlockAlive() && |
| 2581 | src.blockSize() == tgt.blockSize() && |
| 2582 | src.getAllocType() == tgt.getAllocType() && |
| 2583 | aligned; |
| 2584 | } |
| 2585 | |
| 2586 | expr Memory::blockValRefined(const Pointer &src, const Memory &tgt, |
| 2587 | unsigned bid, set<expr> &undef, |
nothing calls this directly
no test coverage detected