this PR tries to match the following pattern, seperate from D156881
%vscale = call i64 @llvm.vscale.i64() %shift = shl nuw nsw i64 %vscale, 11
Now, we only check the shl recursively when the OrZero is true.
Differential D157062
[ValueTracking] Improve the coverage of isKnownToBeAPowerOfTwo for vscale Allen on Aug 3 2023, 6:04 PM. Authored by
Details this PR tries to match the following pattern, seperate from D156881 %vscale = call i64 @llvm.vscale.i64() %shift = shl nuw nsw i64 %vscale, 11 Now, we only check the shl recursively when the OrZero is true.
Diff Detail
Event Timeline
|
This isn't correct. A shift left of vscale can be zero if all bits get shifted out. There is no special interaction between vscale and shl.