
This patch extends `checkOrAndOpImpliedByOther` to handle and/or trees. Limitation: At least one of the operands of root and/or instruction should be an icmp. That is, this patch doesn't support expressions like `(cmp1 & cmp2) & (cmp3 & cmp4)`. Closes https://github.com/llvm/llvm-project/issues/117107. Compile-time impact: http://llvm-compile-time-tracker.com/compare.php?from=69cc3f096ccbdef526bbd5a065a25c95122e87ee&to=919416d2c4c71e3b9fe533af2c168a36c7893be5&stat=instructions%3Au