| 1001 | } |
| 1002 | |
| 1003 | static bool isDerivedFromLoad(const expr &e) { |
| 1004 | expr val, val2, _; |
| 1005 | unsigned h, l; |
| 1006 | if (e.isExtract(val, h, l)) |
| 1007 | return isDerivedFromLoad(val); |
| 1008 | if (e.isIf(_, val, val2)) |
| 1009 | return isDerivedFromLoad(val) && isDerivedFromLoad(val2); |
| 1010 | return e.isLoad(_, _); |
| 1011 | } |
| 1012 | |
| 1013 | Memory::AliasSet Memory::computeAliasing(const Pointer &ptr, const expr &bytes, |
| 1014 | uint64_t align, bool write) const { |
no test coverage detected