The implication logic for two values that are both negative or non-negative
says that it doesn't matter whether their predicate is signed and unsigned it,
but only flips unsigned into signed for further inference. This patch adds support
for flipping a signed predicate into unsigned.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
LGTM
llvm/lib/Analysis/ScalarEvolution.cpp | ||
---|---|---|
10711 | You should be able to simply this to CmpInst::isRelational(P2) && P1 == CmpInst::getFlippedSignednessPredicate(P2). |
llvm/lib/Analysis/ScalarEvolution.cpp | ||
---|---|---|
10711 | That's a good point, thanks! |
You should be able to simply this to CmpInst::isRelational(P2) && P1 == CmpInst::getFlippedSignednessPredicate(P2).