diff options
author | Heejin Ahn <aheejin@gmail.com> | 2019-05-21 13:25:14 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-21 13:25:14 -0700 |
commit | 1a3c1a58cc7e97a846f612baf7f74a370980458f (patch) | |
tree | cbe62ea58b2c0dd6d98225265419fea0b829aeab /src/passes/RemoveUnusedBrs.cpp | |
parent | d78be9ac6c02910bbf8ac71118e68adff4fdc570 (diff) | |
download | binaryen-1a3c1a58cc7e97a846f612baf7f74a370980458f.tar.gz binaryen-1a3c1a58cc7e97a846f612baf7f74a370980458f.tar.bz2 binaryen-1a3c1a58cc7e97a846f612baf7f74a370980458f.zip |
Reflect instruction renaming in code (#2128)
- Reflected new renamed instruction names in code and tests:
- `get_local` -> `local.get`
- `set_local` -> `local.set`
- `tee_local` -> `local.tee`
- `get_global` -> `global.get`
- `set_global` -> `global.set`
- `current_memory` -> `memory.size`
- `grow_memory` -> `memory.grow`
- Removed APIs related to old instruction names in Binaryen.js and added
APIs with new names if they are missing.
- Renamed `typedef SortedVector LocalSet` to `SetsOfLocals` to prevent
name clashes.
- Resolved several TODO renaming items in wasm-binary.h:
- `TableSwitch` -> `BrTable`
- `I32ConvertI64` -> `I32WrapI64`
- `I64STruncI32` -> `I64SExtendI32`
- `I64UTruncI32` -> `I64UExtendI32`
- `F32ConvertF64` -> `F32DemoteI64`
- `F64ConvertF32` -> `F64PromoteF32`
- Renamed `BinaryenGetFeatures` and `BinaryenSetFeatures` to
`BinaryenModuleGetFeatures` and `BinaryenModuleSetFeatures` for
consistency.
Diffstat (limited to 'src/passes/RemoveUnusedBrs.cpp')
-rw-r--r-- | src/passes/RemoveUnusedBrs.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/passes/RemoveUnusedBrs.cpp b/src/passes/RemoveUnusedBrs.cpp index 20811efef..1e67ecec3 100644 --- a/src/passes/RemoveUnusedBrs.cpp +++ b/src/passes/RemoveUnusedBrs.cpp @@ -269,9 +269,9 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs>> { Expression* z; replaceCurrent( z = builder.makeIf( - builder.makeTeeLocal(temp, curr->condition), + builder.makeLocalTee(temp, curr->condition), builder.makeIf(builder.makeBinary(EqInt32, - builder.makeGetLocal(temp, i32), + builder.makeLocalGet(temp, i32), builder.makeConst(Literal(int32_t( curr->targets.size() - 1)))), builder.makeBreak(curr->targets.back()), @@ -297,7 +297,7 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs>> { } // TODO: if-else can be turned into a br_if as well, if one of the sides is // a dead end we handle the case of a returned value to a local.set - // later down, see visitSetLocal. + // later down, see visitLocalSet. } // override scan to add a pre and a post check task to all nodes @@ -895,7 +895,7 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs>> { return nullptr; } - void visitSetLocal(SetLocal* curr) { + void visitLocalSet(LocalSet* curr) { // Sets of an if can be optimized in various ways that remove part of // the if branching, or all of it. // The optimizations we can do here can recurse and call each @@ -929,7 +929,7 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs>> { // ) // TODO: handle a condition in the br? need to watch for side effects bool optimizeSetIfWithBrArm(Expression** currp) { - auto* set = (*currp)->cast<SetLocal>(); + auto* set = (*currp)->cast<LocalSet>(); auto* iff = set->value->dynCast<If>(); if (!iff || !isConcreteType(iff->type) || !isConcreteType(iff->condition->type)) { @@ -1004,18 +1004,18 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs>> { // merged or eliminated given the outside scope, and we // removed one of the if branches. bool optimizeSetIfWithCopyArm(Expression** currp) { - auto* set = (*currp)->cast<SetLocal>(); + auto* set = (*currp)->cast<LocalSet>(); auto* iff = set->value->dynCast<If>(); if (!iff || !isConcreteType(iff->type) || !isConcreteType(iff->condition->type)) { return false; } Builder builder(*getModule()); - GetLocal* get = iff->ifTrue->dynCast<GetLocal>(); + LocalGet* get = iff->ifTrue->dynCast<LocalGet>(); if (get && get->index == set->index) { builder.flip(iff); } else { - get = iff->ifFalse->dynCast<GetLocal>(); + get = iff->ifFalse->dynCast<LocalGet>(); if (get && get->index != set->index) { get = nullptr; } |