[llvm] [InstCombine][ValueTracking] Improve logic for shift flags. (PR #67758)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 29 04:12:15 PDT 2023


================
@@ -936,6 +936,59 @@ Instruction *InstCombinerImpl::foldLShrOverflowBit(BinaryOperator &I) {
   return new ZExtInst(Overflow, Ty);
 }
 
+// Try to set nuw/nsw flags on shl or exact flag on lshr/ashr using knownbits.
+static bool setShiftFlags(BinaryOperator &I, const SimplifyQuery &Q) {
----------------
dtcxzyw wrote:

```suggestion
static bool setShiftFlags(BinaryOperator &I, const SimplifyQuery &Q) {
  assert(I.isShift() && "Expected a shift as input");
```

https://github.com/llvm/llvm-project/pull/67758


More information about the llvm-commits mailing list