In the case of (and reg, constant) or (or reg, constant), it can be beneficial to use a ANDNrr/ORNrr instruction instead of ANDrr/ORrr, if the complement of the constant can be encoded using a single SETHI instruction instead of a SETHI/ORri pair.
If the constant has more than one use, it is probably better to keep it in its original form.
Please add the rationale for "N->hasOneUse()" in a comment here, not just in commit message.