[PATCH] D49975: [InstSimplify] Fold another Select with And/Or pattern
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 31 07:00:40 PDT 2018
spatel accepted this revision.
spatel added a comment.
This revision is now accepted and ready to land.
LGTM with 1 more comment fix.
================
Comment at: lib/Analysis/InstructionSimplify.cpp:68-82
/// Fold
/// %A = icmp ne/eq i8 %X, %V1
/// %B = icmp ne/eq i8 %X, %V2
/// %C = or/and i1 %A, %B
/// %D = select i1 %C, i8 %X, i8 %V1
-/// To
+// To
/// %X/%V1
----------------
The comment still doesn't match the code. Might as well move this next to the match statement inside the function in case there are other folds possible here:
```
%A = icmp eq %TV, %FV
%B = icmp eq %X, %Y (and one of these is a select operand)
%C = and %A, %B
%D = select %C, %TV, %FV
-->
%FV
%A = icmp ne %TV, %FV
%B = icmp ne %X, %Y (and one of these is a select operand)
%C = or %A, %B
%D = select %C, %TV, %FV
-->
%TV
```
https://reviews.llvm.org/D49975
More information about the llvm-commits
mailing list