diff options
author | Heejin Ahn <aheejin@gmail.com> | 2024-09-05 09:47:26 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-05 09:47:26 -0700 |
commit | 0818c2801ecc5cb07b680bb77e24df90f35c74b9 (patch) | |
tree | e9d39272f7f6679f8ffc12de20dd3b757791ccbf /llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp | |
parent | 5edede2db09d38cbf9397edb9bfd43b92265f660 (diff) | |
download | llvm-0818c2801ecc5cb07b680bb77e24df90f35c74b9.zip llvm-0818c2801ecc5cb07b680bb77e24df90f35c74b9.tar.gz llvm-0818c2801ecc5cb07b680bb77e24df90f35c74b9.tar.bz2 |
[WebAssembly] Simplify a switch-case in CFGStackify (NFC) (#107360)
This merges some `case`s using `[[fallthrough]]`, and make `DELEGATE` as
a separate `case`. (Previously the reason we didn't do that was not to
duplicate the code in `RewriteOperands`. But now that we've extracted it
into a lambda function in #107182 we can do it.
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp index 3362ea5..3cccc57 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp @@ -1681,18 +1681,14 @@ void WebAssemblyCFGStackify::rewriteDepthImmediates(MachineFunction &MF) { Stack.pop_back(); break; - case WebAssembly::END_BLOCK: - Stack.push_back(std::make_pair(&MBB, &MI)); - break; - case WebAssembly::END_TRY: { - // We handle DELEGATE in the default level, because DELEGATE has - // immediate operands to rewrite. - Stack.push_back(std::make_pair(&MBB, &MI)); auto *EHPad = TryToEHPad[EndToBegin[&MI]]; EHPadStack.push_back(EHPad); - break; + [[fallthrough]]; } + case WebAssembly::END_BLOCK: + Stack.push_back(std::make_pair(&MBB, &MI)); + break; case WebAssembly::END_LOOP: Stack.push_back(std::make_pair(EndToBegin[&MI]->getParent(), &MI)); @@ -1707,12 +1703,14 @@ void WebAssemblyCFGStackify::rewriteDepthImmediates(MachineFunction &MF) { MI.getOperand(0).setImm(getRethrowDepth(Stack, EHPadStack)); break; + case WebAssembly::DELEGATE: + RewriteOperands(MI); + Stack.push_back(std::make_pair(&MBB, &MI)); + break; + default: if (MI.isTerminator()) RewriteOperands(MI); - - if (MI.getOpcode() == WebAssembly::DELEGATE) - Stack.push_back(std::make_pair(&MBB, &MI)); break; } } |