From 25a89e7a362ab4876139fad7427a2193665cb042 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 4 Dec 2016 23:52:43 -0500 Subject: IR: compile time function evaluation --- src/codegen.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/codegen.cpp') diff --git a/src/codegen.cpp b/src/codegen.cpp index 8b8650a546..af62f57ebe 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -1758,7 +1758,7 @@ static LLVMValueRef ir_render_phi(CodeGen *g, IrExecutable *executable, IrInstru LLVMBasicBlockRef *incoming_blocks = allocate(instruction->incoming_count); for (size_t i = 0; i < instruction->incoming_count; i += 1) { incoming_values[i] = ir_llvm_value(g, instruction->incoming_values[i]); - incoming_blocks[i] = instruction->incoming_blocks[i]->llvm_block; + incoming_blocks[i] = instruction->incoming_blocks[i]->llvm_exit_block; } LLVMAddIncoming(phi, incoming_values, incoming_blocks, instruction->incoming_count); return phi; @@ -1877,6 +1877,7 @@ static void ir_render(CodeGen *g, FnTableEntry *fn_entry) { continue; instruction->llvm_value = ir_render_instruction(g, executable, instruction); } + current_block->llvm_exit_block = LLVMGetInsertBlock(g->builder); } } -- cgit v1.2.3