llvm-project
59ced72b - [ValueTracking] Add rotate idiom to haveNoCommonBitsSet special cases (#122165)

Commit
342 days ago
[ValueTracking] Add rotate idiom to haveNoCommonBitsSet special cases (#122165) An occasional idiom for rotation is "(A << B) + (A >> (BitWidth - B))". Currently this is not well handled on targets with native funnel-shift/rotate support. Add a special case to haveNoCommonBitsSet to ensure that the addition is converted to a disjoint or in InstCombine so during instruction selection the idiom can be converted to an efficient rotation implementation. Proof: https://alive2.llvm.org/ce/z/WdCZsN
Author
Parents
Loading