Одним из возможных решений, если вы не хотите иметь дело с отдельными членами структуры, было бы выполнение alloca, сохранение структуры в alloca, побитовое преобразование alloca и затем загрузка указателя приведения. Обратите внимание, что это может плохо взаимодействовать, если вы используете анализ псевдонимов на основе типов в llvm, например, с llvm, сгенерированным из кода c или c ++, но если вы имеете дело с чистым llvm или отключите строгий псевдоним, этого не должно быть проблема.