Ну, непрозрачные типы исчезли более 7 лет назад в LLVM 3.0. В качестве замены - вы должны использовать просто пустой StructType. Байт-код исчез в LLVM 2.0, который был выпущен более 11 лет назад. Теперь все является «битовым кодом», и в базе кода LLVM есть множество примеров использования соответствующего API. Например. почти любой инструмент в поддиректории "tools" имеет такой код. Смотрите "tools / opt / opt.cpp" в качестве примера.
Коду, который вы пытаетесь «обновить», 12 лет, он не поддерживается и всегда был проверенного качества.