osmanyasar05 wrote: I added hasOneUse checks for the inner `(0-B)` and the `shl (0-B, C)` operations, also added a new test case to ensure the rewrite does not fire when there are multiple uses. @arsenm https://github.com/llvm/llvm-project/pull/177371