diff --git a/examples/tabs/Tabs.ll b/examples/tabs/Tabs.ll index 229e9bc..c37a969 100644 --- a/examples/tabs/Tabs.ll +++ b/examples/tabs/Tabs.ll @@ -400,6 +400,7 @@ entry: %var101 = call i32 @js_create_text(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.15, i32 0, i32 0)) call void @js_append_child(i32 %var99, i32 %var101) call void @js_append_child(i32 %var89, i32 %var99) + call void @js_append_child(i32 %var87, i32 %var89) ret i32 %var87 } @@ -427,6 +428,7 @@ entry: %var116 = call i32 @js_create_text(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.18, i32 0, i32 0)) call void @js_append_child(i32 %var114, i32 %var116) call void @js_append_child(i32 %var104, i32 %var114) + call void @js_append_child(i32 %var102, i32 %var104) ret i32 %var102 } @@ -454,6 +456,7 @@ entry: %var131 = call i32 @js_create_text(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.21, i32 0, i32 0)) call void @js_append_child(i32 %var129, i32 %var131) call void @js_append_child(i32 %var119, i32 %var129) + call void @js_append_child(i32 %var117, i32 %var119) ret i32 %var117 } @@ -471,6 +474,7 @@ entry: %var140 = call i32 @js_create_text(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.22, i32 0, i32 0)) call void @js_append_child(i32 %var138, i32 %var140) call void @js_append_child(i32 %var134, i32 %var138) + call void @js_append_child(i32 %var132, i32 %var134) ret i32 %var132 } @@ -860,6 +864,7 @@ entry: call void @js_append_child(i32 %var286, i32 %var288) call void @js_append_child(i32 %var278, i32 %var286) call void @js_append_child(i32 %var265, i32 %var278) + call void @js_append_child(i32 %var263, i32 %var265) ret i32 %var263 } @@ -903,6 +908,7 @@ entry: call void @js_append_child(i32 %var311, i32 %var313) call void @js_append_child(i32 %var301, i32 %var311) call void @js_append_child(i32 %var291, i32 %var301) + call void @js_append_child(i32 %var289, i32 %var291) ret i32 %var289 } @@ -927,6 +933,7 @@ entry: call void @js_append_child(i32 %var316, i32 %var323) %var326 = call i32 @render_VerticalTabs() call void @js_append_child(i32 %var316, i32 %var326) + call void @js_append_child(i32 %var314, i32 %var316) ret i32 %var314 } @@ -944,6 +951,7 @@ entry: %var335 = call i32 @js_create_text(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.53, i32 0, i32 0)) call void @js_append_child(i32 %var333, i32 %var335) call void @js_append_child(i32 %var329, i32 %var333) + call void @js_append_child(i32 %var327, i32 %var329) ret i32 %var327 } diff --git a/examples/tabs/Tabs.wasm b/examples/tabs/Tabs.wasm index 979afd8..5e82ef9 100755 Binary files a/examples/tabs/Tabs.wasm and b/examples/tabs/Tabs.wasm differ diff --git a/ritz/__pycache__/llvm_codegen_signals.cpython-313.pyc b/ritz/__pycache__/llvm_codegen_signals.cpython-313.pyc index 6623e45..95f8233 100644 Binary files a/ritz/__pycache__/llvm_codegen_signals.cpython-313.pyc and b/ritz/__pycache__/llvm_codegen_signals.cpython-313.pyc differ diff --git a/ritz/llvm_codegen_signals.py b/ritz/llvm_codegen_signals.py index b3d31c4..0ce8044 100644 --- a/ritz/llvm_codegen_signals.py +++ b/ritz/llvm_codegen_signals.py @@ -920,7 +920,10 @@ class SignalLLVMIRGenerator: # Render all statements in the branch body for stmt in body: - self._emit_statement(stmt) + child_var = self._emit_statement(stmt) + # Append top-level elements to wrapper + if child_var: + self.lines.append(f" call void @js_append_child(i32 %{wrapper_var}, i32 %{child_var})") # Pop wrapper from parent stack self.parent_element_stack.pop()