I believe the command you give to check if bitcode is enabled is not entirely correct. I was recently debugging an issue where bitcode was not generated for a framework I was using, and my build failed complaining about the framework missing bitcode. While that framework did have `__LLVM` segments, there was no `__bitcode` subsegment.
Interesting thanks for sharing! It looks like __bitcode is used for static but not dynamic libraries so it might not always be reliable. I've also found that apps can include bitcode for frameworks but not the main app binary, but if it's included for the main app it is required to be included in frameworks. That's why Emerge checks for the presence of bitcode only in the main app executable.
There’s some discussion around that on this SO question: https://stackoverflow.com/questions/32808642/how-to-check-if... (but also no definitive answer)