[llvm] [ExtendLifetimes] Implement llvm.fake.use to extend variable lifetimes (PR #86149)
Stephen Tozer via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 17 09:13:41 PDT 2024
SLTozer wrote:
> [test/CodeGen/X86/fake-use-escape.ll](https://reviews.llvm.org/D41043#change-rq7Ra9xJmIVE) from the original patch triggers an assertion failure `isAllocaPromotable(AI) && "Cannot promote non-promotable alloca!"`, file `llvm\lib\Transforms\Utils\PromoteMemoryToRegister.cpp:737`.
I see - the reason I removed that test from the patch was that the circumstances of the crash could only be reproduced with typed pointers, which are no longer supported in LLVM. Likewise, the code that the test was covering has been removed, because as far as I can tell there is no way to trigger it without typed pointers. While it's unclear whether we'd need to support this in textual IR, since we don't guarantee backwards compatibility, the error also occurs for the bitcode version of the file which we do expect to keep supporting over time, so I'll restore this test.
https://github.com/llvm/llvm-project/pull/86149
More information about the llvm-commits
mailing list