[PATCH] D73697: [LoopPredication] Optimize two exits case.
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 25 10:09:39 PST 2020
reames requested changes to this revision.
reames added a comment.
This revision now requires changes to proceed.
If I'm reading the description and code correctly, you're basically trying to avoid generating the construct "a == umin(a, b)" right? If so, what's the problem with generating that? I would expect other transform passes (such as instcombine) to very happily rip that apart into the component pieces. In fact, I see in instcombine the transform "foldICmpWithMinMax" which appears to do exactly that. Why isn't that sufficient?
In fact, I took the predicate-exits.ll test file, ran it through loop-pred and then instcombine, and I see exactly the simplification expected. This seems to result in the same form as your change, so why do we need the complexity here?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D73697/new/
https://reviews.llvm.org/D73697
More information about the llvm-commits
mailing list