Tweak liveness analysis for "while true" loops
diff --git a/internal/cgen/liveness.go b/internal/cgen/liveness.go
index 444f975..e546b95 100644
--- a/internal/cgen/liveness.go
+++ b/internal/cgen/liveness.go
@@ -439,7 +439,7 @@
if err := h.doExpr(r, n.Condition()); err != nil {
return err
- } else {
+ } else if !n.IsWhileTrue() {
l.changed = l.after.reconcile(r) || l.changed
}
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index c048fcf..1d5298d 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -7354,7 +7354,6 @@
uint32_t v_n_clen;
uint32_t v_i;
uint32_t v_mask;
- uint32_t v_table_entry;
uint32_t v_n_extra_bits;
uint8_t v_rep_symbol;
uint32_t v_rep_count;
@@ -27229,7 +27228,6 @@
v_n_clen = self->private_data.s_init_dynamic_huffman[0].v_n_clen;
v_i = self->private_data.s_init_dynamic_huffman[0].v_i;
v_mask = self->private_data.s_init_dynamic_huffman[0].v_mask;
- v_table_entry = self->private_data.s_init_dynamic_huffman[0].v_table_entry;
v_n_extra_bits = self->private_data.s_init_dynamic_huffman[0].v_n_extra_bits;
v_rep_symbol = self->private_data.s_init_dynamic_huffman[0].v_rep_symbol;
v_rep_count = self->private_data.s_init_dynamic_huffman[0].v_rep_count;
@@ -27429,7 +27427,6 @@
self->private_data.s_init_dynamic_huffman[0].v_n_clen = v_n_clen;
self->private_data.s_init_dynamic_huffman[0].v_i = v_i;
self->private_data.s_init_dynamic_huffman[0].v_mask = v_mask;
- self->private_data.s_init_dynamic_huffman[0].v_table_entry = v_table_entry;
self->private_data.s_init_dynamic_huffman[0].v_n_extra_bits = v_n_extra_bits;
self->private_data.s_init_dynamic_huffman[0].v_rep_symbol = v_rep_symbol;
self->private_data.s_init_dynamic_huffman[0].v_rep_count = v_rep_count;