This patch adds base 2 logarithm that returns integer result. I initially wanted to name it !log2,
but numbers are not permitted in the name. The documentation makes sure to clarify that it is
base 2 since it is not explicit in the operator name.
I also used ERROR3 and ERROR4 in the test files since there is another patch that has not
landed yet that uses ERROR1 and ERROR2: https://reviews.llvm.org/D134001
I find myself wondering if logtwo would be a better name?