diff options
-rw-r--r-- | src/passes/DeadCodeElimination.cpp | 2 | ||||
-rw-r--r-- | test/passes/dce.txt | 4 | ||||
-rw-r--r-- | test/passes/dce.wast | 6 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/passes/DeadCodeElimination.cpp b/src/passes/DeadCodeElimination.cpp index c2799f13a..6cb7faf29 100644 --- a/src/passes/DeadCodeElimination.cpp +++ b/src/passes/DeadCodeElimination.cpp @@ -193,6 +193,8 @@ struct DeadCodeElimination : public WalkerPass<PostWalker<DeadCodeElimination, V case Expression::Id::CallIndirectId: DELEGATE(CallIndirect); case Expression::Id::GetLocalId: DELEGATE(GetLocal); case Expression::Id::SetLocalId: DELEGATE(SetLocal); + case Expression::Id::GetGlobalId: DELEGATE(GetGlobal); + case Expression::Id::SetGlobalId: DELEGATE(SetGlobal); case Expression::Id::LoadId: DELEGATE(Load); case Expression::Id::StoreId: DELEGATE(Store); case Expression::Id::ConstId: DELEGATE(Const); diff --git a/test/passes/dce.txt b/test/passes/dce.txt index edcaaa749..feb0715b7 100644 --- a/test/passes/dce.txt +++ b/test/passes/dce.txt @@ -6,6 +6,7 @@ (table 1 1 anyfunc) (elem (i32.const 0) $call-me) (memory $0 10) + (global $x (mut i32) (i32.const 0)) (func $call-me (type $ii) (param $0 i32) (param $1 i32) (nop) ) @@ -328,4 +329,7 @@ ) (unreachable) ) + (func $global (type $1) + (unreachable) + ) ) diff --git a/test/passes/dce.wast b/test/passes/dce.wast index fe8cb73f9..ad1d1d3c0 100644 --- a/test/passes/dce.wast +++ b/test/passes/dce.wast @@ -4,6 +4,7 @@ (type $1 (func)) (table 1 1 anyfunc) (elem (i32.const 0) $call-me) + (global $x (mut i32) (i32.const 0)) (func $call-me (type $ii) (param $0 i32) (param $1 i32) (nop) ) @@ -429,4 +430,9 @@ (i32.const 0) ) ) + (func $global + (unreachable) + (drop (get_global $x)) + (set_global $x (i32.const 1)) + ) ) |