[PATCH] D88806: [SCEV] Model inttoptr and ptrtoint casts not as unknown, but as zext/trunc/self of unknown
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 5 10:55:29 PDT 2020
lebedev.ri added a reviewer: hfinkel.
lebedev.ri added a comment.
In D88806#2312222 <https://reviews.llvm.org/D88806#2312222>, @efriedma wrote:
> See https://bugs.llvm.org/show_bug.cgi?id=34548 for the inttoptr semantic hole.
In D88806#2311154 <https://reviews.llvm.org/D88806#2311154>, @lebedev.ri wrote:
> In D88806#2310959 <https://reviews.llvm.org/D88806#2310959>, @efriedma wrote:
>
>> Also, treating two distinct inttoptr instructions with the same operand as if they're equivalent is a known source of unsoundness; I don't want to expand that.
>
> Hm, that sounds weird. Any chance for an example?
> Then i'm guessing we can't allow this in any form even if `unknown`-to-be is a `load`?
... and if we can't even model `inttoptr(load)` as `no-op cast(unknown)` (can we?),
i'm getting increasingly more worried that we can't fix this in instcombine, either.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88806/new/
https://reviews.llvm.org/D88806
More information about the llvm-commits
mailing list