[PATCH] D149563: [TRE] Mark alloca's as escaped if their call does not write memory
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 1 13:02:28 PDT 2023
efriedma added a comment.
There are basically two ways a pointer can be "captured": it can be written to memory, or it can be returned.
The code here is trying to reason more deeply about `memory(none)` functions: the `memory(none)` implies no writes to memory, so the only way a pointer can be captured is by returning it. The code follows the return value to figure out if it's actually used. So the tail markings in test17 and test18 should be fine, I think.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149563/new/
https://reviews.llvm.org/D149563
More information about the llvm-commits
mailing list