diff options
Diffstat (limited to 'src/ir/possible-contents.cpp')
-rw-r--r-- | src/ir/possible-contents.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/ir/possible-contents.cpp b/src/ir/possible-contents.cpp index 05faf7b1e..8ed2118fe 100644 --- a/src/ir/possible-contents.cpp +++ b/src/ir/possible-contents.cpp @@ -988,7 +988,22 @@ struct InfoCollector auto* set = builder.makeArraySet(curr->destRef, curr->destIndex, get); visitArraySet(set); } - + void visitArrayFill(ArrayFill* curr) { + if (curr->type == Type::unreachable) { + return; + } + Builder builder(*getModule()); + auto* set = builder.makeArraySet(curr->ref, curr->index, curr->value); + visitArraySet(set); + } + void visitArrayInit(ArrayInit* curr) { + if (curr->type == Type::unreachable) { + return; + } + // TODO: Modeling the write to the array can be similar to the above, but + // how should the read from the segment be modeled? + WASM_UNREACHABLE("unimplemented"); + } void visitStringNew(StringNew* curr) { if (curr->type == Type::unreachable) { return; |