[PATCH] D93376: [LangRef] Clarify the semantics of lifetime intrinsics
Juneyoung Lee via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 17 23:34:15 PST 2020
aqjune added a comment.
BTW, the unit failures are due to two reasons:
(1) Some tests simply use `lifetime.start(undef)`/`end(undef)`, but they can be fixed. There are only 14 such tests.
(2) Optimizations can transform lifetime's argument, such as bitcast -> gep (as @nikic said) or merging two lifetime calls in if-else branches and introducing phi.
I'll change the syntactic constraint to be more generous. Syntactic constraint is needed anyway, otherwise we really don't know which object is passed to `lifetime.start`. Assume that a pointer p is passed to `call f(p)`, which is doing `lifetime.start(p)`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D93376/new/
https://reviews.llvm.org/D93376
More information about the llvm-commits
mailing list