summaryrefslogtreecommitdiff
path: root/src/passes/RemoveUnusedBrs.cpp
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2019-05-21 13:25:14 -0700
committerGitHub <noreply@github.com>2019-05-21 13:25:14 -0700
commit1a3c1a58cc7e97a846f612baf7f74a370980458f (patch)
treecbe62ea58b2c0dd6d98225265419fea0b829aeab /src/passes/RemoveUnusedBrs.cpp
parentd78be9ac6c02910bbf8ac71118e68adff4fdc570 (diff)
downloadbinaryen-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.cpp16
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;
}