diff options
Diffstat (limited to 'src/passes/DeadCodeElimination.cpp')
-rw-r--r-- | src/passes/DeadCodeElimination.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/passes/DeadCodeElimination.cpp b/src/passes/DeadCodeElimination.cpp index 9e2e194cb..4215de3f8 100644 --- a/src/passes/DeadCodeElimination.cpp +++ b/src/passes/DeadCodeElimination.cpp @@ -315,8 +315,10 @@ struct DeadCodeElimination DELEGATE(Drop); case Expression::Id::ReturnId: DELEGATE(Return); - case Expression::Id::HostId: - DELEGATE(Host); + case Expression::Id::MemorySizeId: + DELEGATE(MemorySize); + case Expression::Id::MemoryGrowId: + DELEGATE(MemoryGrow); case Expression::Id::NopId: DELEGATE(Nop); case Expression::Id::UnreachableId: @@ -519,7 +521,11 @@ struct DeadCodeElimination blockifyReachableOperands({curr->value}, curr->type); } - void visitHost(Host* curr) { handleCall(curr); } + void visitMemorySize(MemorySize* curr) {} + + void visitMemoryGrow(MemoryGrow* curr) { + blockifyReachableOperands({curr->delta}, curr->type); + } void visitFunction(Function* curr) { assert(reachableBreaks.size() == 0); } }; |