Прекращение генерации кода llvmlite
Я генерирую IRV-код llvm, используя llvmlite и Python. Я генерирую код для многих функций внутри только одного данного модуля. Проблема в том, что когда возникает исключение, когда код генерируется для одной из этих функций, генерация кода всего модуля будет повреждена. Я хотел бы получить способ восстановления после исключения, сказав модулю: "Эй, забудь об этой функции совсем", прежде чем предпринимать другие действия. Например:
# Create function
func = ir.Function(module, functype, funcname)
# Create the entry BB in the function and set a new builder to it.
bb_entry = func.append_basic_block('entry')
builder = ir.IRBuilder(bb_entry)
try:
# Generate code for func with the builder ...
except:
# Oops, a problem occured while generating code
# Remove func from module : How to do that ?
del module.globals[funcname] # does not work...
Любая помощь?