about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/codegen.zig8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 98b7c16..45ebde6 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -203,7 +203,7 @@ pub const CodeGen = struct {
         for (if_statement.statements) |stmt| {
             try self.generate_statement(stmt);
         }
-        const merge_block = core.LLVMAppendBasicBlock(core.LLVMGetLastFunction(self.llvm_module), "else_block");
+        const merge_block = core.LLVMAppendBasicBlock(core.LLVMGetLastFunction(self.llvm_module), "merge_block");
         const last_instr = core.LLVMGetLastInstruction(then_block);
         if (core.LLVMIsATerminatorInst(last_instr) == null) {
             _ = core.LLVMBuildBr(self.builder, merge_block);
@@ -233,10 +233,8 @@ pub const CodeGen = struct {
         for (while_statement.statements) |stmt| {
             try self.generate_statement(stmt);
         }
-        const last_instr = core.LLVMGetLastInstruction(inner_block);
-        if (core.LLVMIsATerminatorInst(last_instr) == null) {
-            _ = core.LLVMBuildBr(self.builder, while_block);
-        }
+
+        _ = core.LLVMBuildBr(self.builder, while_block);
 
         core.LLVMPositionBuilderAtEnd(self.builder, outer_block);
     }