diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 9de687d02ba..a1a976c8c85 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -3124,6 +3124,7 @@ class ConstantExpressionRunner : public ExpressionRunner { } Flow visitAtomicWait(AtomicWait* curr) { return Flow(NONCONSTANT_FLOW); } Flow visitAtomicNotify(AtomicNotify* curr) { return Flow(NONCONSTANT_FLOW); } + Flow visitAtomicFence(AtomicFence* curr) { return Flow(NONCONSTANT_FLOW); } Flow visitStructWait(StructWait* curr) { return Flow(NONCONSTANT_FLOW); } Flow visitWaitqueueNew(WaitqueueNew* curr) { return Flow(NONCONSTANT_FLOW); } Flow visitWaitqueueNotify(WaitqueueNotify* curr) { diff --git a/test/lit/passes/precompute_all-features.wast b/test/lit/passes/precompute_all-features.wast index add0e65503f..c30a9fb21cd 100644 --- a/test/lit/passes/precompute_all-features.wast +++ b/test/lit/passes/precompute_all-features.wast @@ -810,4 +810,13 @@ ) ) ) + + ;; CHECK: (func $atomic-fence (type $1) + ;; CHECK-NEXT: (atomic.fence) + ;; CHECK-NEXT: (atomic.fence acqrel) + ;; CHECK-NEXT: ) + (func $atomic-fence + (atomic.fence) + (atomic.fence acqrel) + ) )