See: https://reviews.llvm.org/rG41d5033eb162
"""
This enabled opaque pointers by default in LLVM. The effect of this
is twofold:
If IR that contains neither explicit ptr nor %T* types is passed to tools, we will now use opaque pointer mode, unless -opaque-pointers=0 has been explicitly passed.
Users of LLVM as a library will now default to opaque pointers. It is possible to opt-out by calling setOpaquePointers(false) on LLVMContext.
A cmake option to toggle this default will not be provided. Frontends
or other tools that want to (temporarily) keep using typed pointers
should disable opaque pointers via LLVMContext.
"""
Thought it's good to put that here so more people know how to change the default back to older LLVM versions, in case we need it. We probably want to disable it for the near future, and then update all our tests in one go and stop testing older LLVMs that don't have opaque pointer support?
-Johan