summaryrefslogtreecommitdiff
path: root/src/passes/ConstantFieldPropagation.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2021-11-09 11:35:42 -0800
committerGitHub <noreply@github.com>2021-11-09 11:35:42 -0800
commita0325162a4b54f795d17550bff2b565c379dde51 (patch)
tree5530e2cf03c443b274b88f70f8f661489c1f0408 /src/passes/ConstantFieldPropagation.cpp
parent1ad4e23342ef83b9210ce81bbf119047e08b6f3b (diff)
downloadbinaryen-a0325162a4b54f795d17550bff2b565c379dde51.tar.gz
binaryen-a0325162a4b54f795d17550bff2b565c379dde51.tar.bz2
binaryen-a0325162a4b54f795d17550bff2b565c379dde51.zip
[NFC] Add StructUtils namespace, and Scanner => StructScanner (#4317)
This avoids cluttering the main wasm namespace, and clarifies what the scanner does.
Diffstat (limited to 'src/passes/ConstantFieldPropagation.cpp')
-rw-r--r--src/passes/ConstantFieldPropagation.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/passes/ConstantFieldPropagation.cpp b/src/passes/ConstantFieldPropagation.cpp
index f4476ef04..340b3b95e 100644
--- a/src/passes/ConstantFieldPropagation.cpp
+++ b/src/passes/ConstantFieldPropagation.cpp
@@ -157,9 +157,9 @@ public:
}
};
-using PCVStructValuesMap = StructValuesMap<PossibleConstantValues>;
+using PCVStructValuesMap = StructUtils::StructValuesMap<PossibleConstantValues>;
using PCVFunctionStructValuesMap =
- FunctionStructValuesMap<PossibleConstantValues>;
+ StructUtils::FunctionStructValuesMap<PossibleConstantValues>;
// Optimize struct gets based on what we've learned about writes.
//
@@ -243,15 +243,18 @@ private:
bool changed = false;
};
-struct PCVScanner : public Scanner<PossibleConstantValues, PCVScanner> {
+struct PCVScanner
+ : public StructUtils::StructScanner<PossibleConstantValues, PCVScanner> {
Pass* create() override {
return new PCVScanner(functionNewInfos, functionSetGetInfos);
}
- PCVScanner(FunctionStructValuesMap<PossibleConstantValues>& functionNewInfos,
- FunctionStructValuesMap<PossibleConstantValues>& functionSetInfos)
- : Scanner<PossibleConstantValues, PCVScanner>(functionNewInfos,
- functionSetInfos) {}
+ PCVScanner(StructUtils::FunctionStructValuesMap<PossibleConstantValues>&
+ functionNewInfos,
+ StructUtils::FunctionStructValuesMap<PossibleConstantValues>&
+ functionSetInfos)
+ : StructUtils::StructScanner<PossibleConstantValues, PCVScanner>(
+ functionNewInfos, functionSetInfos) {}
void noteExpression(Expression* expr,
HeapType type,
@@ -359,7 +362,8 @@ struct ConstantFieldPropagation : public Pass {
// iff $A is a subtype of $B, so we only need to propagate in one direction
// there, to supertypes.
- TypeHierarchyPropagator<PossibleConstantValues> propagator(*module);
+ StructUtils::TypeHierarchyPropagator<PossibleConstantValues> propagator(
+ *module);
propagator.propagateToSuperTypes(combinedNewInfos);
propagator.propagateToSuperAndSubTypes(combinedSetInfos);