diff options
Diffstat (limited to 'src/wasm/wasm-ir-builder.cpp')
-rw-r--r-- | src/wasm/wasm-ir-builder.cpp | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/src/wasm/wasm-ir-builder.cpp b/src/wasm/wasm-ir-builder.cpp index 6676d1cb4..1df441dad 100644 --- a/src/wasm/wasm-ir-builder.cpp +++ b/src/wasm/wasm-ir-builder.cpp @@ -416,19 +416,7 @@ Result<Expression*> IRBuilder::getBranchValue(Name labelName, // Loops would receive their input type rather than their output type, if we // supported that. size_t numValues = (*scope)->getLoop() ? 0 : (*scope)->getResultType().size(); - std::vector<Expression*> values(numValues); - for (size_t i = 0; i < numValues; ++i) { - auto val = pop(); - CHECK_ERR(val); - values[numValues - 1 - i] = *val; - } - if (numValues == 0) { - return nullptr; - } else if (numValues == 1) { - return values[0]; - } else { - return builder.makeTupleMake(values); - } + return numValues == 0 ? nullptr : pop(numValues); } Result<> IRBuilder::visitBreak(Break* curr, std::optional<Index> label) { |