Как разобрать LLVM IR в Python

Есть ли способ проанализировать LLVM IR в Python и получить базовую информацию о типе? Например, я хотел бы знать тип, который имеет каждый аргумент функции.

llvmlite имеет базовую функциональность для разбора LLVM IR и байт-кода . Однако, насколько я могу судить, он не может предоставить информацию о типе: результирующий Type имеет только несколько основных методов и не реализует LLVM API , чтобы, например, сказать мне, если isIntegerTyили же getIntegerBitWidth(). Таким образом, llvmlite может сообщить мне только количество аргументов, а не логических, целых или с плавающей запятой. У llvmpy еще меньше.

Есть ли API Python, который может сообщить мне тип LLVM? Если нет, есть ли простой способ вызвать функции C для этого? Если нет, как я могу получить эту информацию от Python?

0 ответов

Другие вопросы по тегам