Is there some easy way of doing a front-end transition to opaque pointers?

Hi all,
I am wanting to update the LLVM version I use in my language front end compiler to LLVM 16.
Since it seems the type information of pointers has been removed, now IRBuilder::CreateLoad seems to want type information everywhere.
Changing the code to add this type information is of course possible, but it will be pretty time consuming on my part (will probably take hours or days of coding).
Is there some automated or easy way to achieve this transition? Can I query LLVM somehow for the type info?

It has done for a long time, precisely as preparatory work for the transition to opaque pointers. LLVM 8 (2019) added the explicit-type variants, LLVM 13 (2021) formally marked the implicit ones as deprecated and LLVM 14 (2021) removed them.

No; that’s the whole point. You need to track this yourself now.

Clang’s Address type (llvm-project/clang/lib/CodeGen/Address.h at main · llvm/llvm-project · GitHub) which stores a pointer, element type and alignment, may be helpful inspiration for how to handle this.