From 80329023c30ca108b0a8ce1b3939f5e9a96250bb Mon Sep 17 00:00:00 2001 From: Thomas Lively <7121787+tlively@users.noreply.github.com> Date: Fri, 14 Jan 2022 11:40:53 -0800 Subject: Revert "[OptimizeInstructions] Optimize zero sized bulk memory ops even without "ignoreImplicitTraps" (#4295)" (#4459) This reverts commit 5cf3521708cfada341285414df2dc7366d7e5454. --- src/passes/OptimizeInstructions.cpp | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) (limited to 'src/passes/OptimizeInstructions.cpp') diff --git a/src/passes/OptimizeInstructions.cpp b/src/passes/OptimizeInstructions.cpp index 6187e2879..347ebbbe4 100644 --- a/src/passes/OptimizeInstructions.cpp +++ b/src/passes/OptimizeInstructions.cpp @@ -3406,16 +3406,6 @@ private: // memory.copy(dst, src, 0) ==> {drop(dst), drop(src)} return builder.makeBlock({builder.makeDrop(memCopy->dest), builder.makeDrop(memCopy->source)}); - } else { - // memory.copy(dst, src, 0) ==> { - // drop(i32.load8_u(dst)), - // drop(i32.load8_u(src)) - // } - return builder.makeBlock( - {builder.makeDrop( - builder.makeLoad(1, false, 0, 1, memCopy->dest, Type::i32)), - builder.makeDrop(builder.makeLoad( - 1, false, 0, 1, memCopy->source, Type::i32))}); } break; } @@ -3478,17 +3468,11 @@ private: auto* csize = memFill->size->cast(); auto bytes = csize->value.getInteger(); - if (bytes == 0LL) { - if (options.ignoreImplicitTraps || options.trapsNeverHappen) { - // memory.fill(d, v, 0) ==> { drop(d), drop(v) } - return builder.makeBlock( - {builder.makeDrop(memFill->dest), builder.makeDrop(memFill->value)}); - } else { - // memory.fill(d, v, 0) ==> { drop(i32.load8_u(d)), drop(v) } - return builder.makeBlock({builder.makeDrop(builder.makeLoad( - 1, false, 0, 1, memFill->dest, Type::i32)), - builder.makeDrop(memFill->value)}); - } + if (bytes == 0LL && + (options.ignoreImplicitTraps || options.trapsNeverHappen)) { + // memory.fill(d, v, 0) ==> { drop(d), drop(v) } + return builder.makeBlock( + {builder.makeDrop(memFill->dest), builder.makeDrop(memFill->value)}); } const uint32_t offset = 0, align = 1; -- cgit v1.2.3