Generalize sdiv/udiv/srem/urem combines using APInt::isPowerOf2, which only works for const/splat-const values to call SelectionDAG::isKnownToBeAPowerOfTwo instead which recognises many more cases.
Added a DAGCombiner::BuildLogBase2 helper since PowerOf2 combines often involve taking the log2 of such a value.