Don't know if this is a typo:
Any bit width from 1 bit to 2 power(23) -1 (about 8 million) can be specified.
on the page https://llvm.org/docs/LangRef.html for language reference
for the Integer Type sub section of Single Value Types as the sub section
to be written for 32 bit integer values so it should be 2 to the power of 32
a 32 bit integer has 32 bits, not 2^32 bits. In the doc at the top you can see the definition of MAX_INT_BITS is (1<<24)-1:
So it seems like 23 is still the wrong number. And it should be "about 16 million" as also described here:
Seems like it was changed here, without updating documentation: