From b895f1fc99e4dd76444e1ba011a31a515c03eb8e Mon Sep 17 00:00:00 2001 From: Jon Riehl Date: Tue, 29 Jan 2013 16:44:03 -0600 Subject: [PATCH] Added explicit branch to otherwise unterminated basic blocks in llpython.byte_translator. --- llpython/byte_translator.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/llpython/byte_translator.py b/llpython/byte_translator.py index de36640..3922099 100644 --- a/llpython/byte_translator.py +++ b/llpython/byte_translator.py @@ -225,6 +225,12 @@ class LLVMTranslator (BytecodeFlowVisitor): return ret_val def exit_block (self, block): + bb_instrs = self.llvm_block.instructions + if ((len(bb_instrs) == 0) or + (not bb_instrs[-1].is_terminator)): + out_blocks = list(self.cfg.blocks_out[block]) + assert len(out_blocks) == 1 + self.builder.branch(self.llvm_blocks[out_blocks[0]]) del self.llvm_block del self.builder