| 789 | } |
| 790 | |
| 791 | static bool returns_local(const Value &v) { |
| 792 | // no alias fns return local block |
| 793 | if (auto call = dynamic_cast<const FnCall*>(&v)) |
| 794 | return call->hasAttribute(FnAttrs::NoAlias) || |
| 795 | call->getAttributes().isAlloc(); |
| 796 | |
| 797 | return dynamic_cast<const Alloc*>(&v); |
| 798 | } |
| 799 | |
| 800 | static Value *get_base_ptr(Value *ptr) { |
| 801 | vector<Value*> todo = { ptr }; |
no test coverage detected