Прекращение генерации кода 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...

Любая помощь?

0 ответов

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