llvm-project
d98d625f - [X86] combineSETCC - drop unnecessary shift amount bounds check for larger-than-legal ICMP_ZERO(AND(X,SHL(1,IDX))) folds (#182021)

Commit
4 days ago
[X86] combineSETCC - drop unnecessary shift amount bounds check for larger-than-legal ICMP_ZERO(AND(X,SHL(1,IDX))) folds (#182021) For i128 etc. bittest patterns, we split the pattern into a i32 extraction + i32 bittest. But we were unnecessarily limiting this to inbounds shift amounts. I wrote this fold at the same time as narrowBitOpRMW where we needed the bounds check for safe memory access, which isn't necessary in combineSETCC. Fix 2 of 2 for #147216
Author
Parents
Loading