[PATCH] D36059: [memops] Add a new pass to inject fast-path code for specific library function calls.
Chandler Carruth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 1 00:49:10 PDT 2017
chandlerc added a comment.
In https://reviews.llvm.org/D36059#827032, @craig.topper wrote:
> I suspect SimplifyCFG got it in SimplifyEqualityComparisonWithOnlyPredecessor.
Yeah, this doesn't surprise me as much, but from the comment:
This does a very limited form of jump threading.
Among cases it doesn't handle is one where, for example, the predicate is hoisted above an outer loop loop. I thought I had a test case that shows this, but I think it was a bit fragile so I removed it, but consider the memset being inside a loop and the test for zero getting unswitched out of that outer loop. I don't think SimplifyCFG will be able to get this, and I'll be very surprised if InstCombine does. I'll try to add a test case for this.
Still not sure how / if instcombine really handles this.
https://reviews.llvm.org/D36059
More information about the llvm-commits
mailing list