diff options
author | Alon Zakai <azakai@google.com> | 2021-12-01 09:07:36 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-01 09:07:36 -0800 |
commit | 1e659e373d46a588938b80db4efc5c9c05067b11 (patch) | |
tree | fac58031cfaeb0d21af4d703c9b3ef0fd5fd34d4 /src/passes/LocalCSE.cpp | |
parent | 5f6911f1f1fcae058bf77720f04e1166bafca8e3 (diff) | |
download | binaryen-1e659e373d46a588938b80db4efc5c9c05067b11.tar.gz binaryen-1e659e373d46a588938b80db4efc5c9c05067b11.tar.bz2 binaryen-1e659e373d46a588938b80db4efc5c9c05067b11.zip |
[NFC] Avoid some unnecessary copies of PassOptions (#4361)
PassOptions is a fairly large structure and even includes a std::map. I also
have plans to add further fields there to make it even larger. Before doing that
I noticed that in some places we copy it instead of being consistent and taking
it by reference, which this PR fixes.
Diffstat (limited to 'src/passes/LocalCSE.cpp')
-rw-r--r-- | src/passes/LocalCSE.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/passes/LocalCSE.cpp b/src/passes/LocalCSE.cpp index f487986a3..4728f189a 100644 --- a/src/passes/LocalCSE.cpp +++ b/src/passes/LocalCSE.cpp @@ -204,12 +204,12 @@ struct RequestInfoMap : public std::unordered_map<Expression*, RequestInfo> { struct Scanner : public LinearExecutionWalker<Scanner, UnifiedExpressionVisitor<Scanner>> { - PassOptions options; + PassOptions& options; // Request info for all expressions ever seen. RequestInfoMap& requestInfos; - Scanner(PassOptions options, RequestInfoMap& requestInfos) + Scanner(PassOptions& options, RequestInfoMap& requestInfos) : options(options), requestInfos(requestInfos) {} // Currently active hashed expressions in the current basic block. If we see @@ -351,10 +351,10 @@ struct Scanner // make Applier ignore them. struct Checker : public LinearExecutionWalker<Checker, UnifiedExpressionVisitor<Checker>> { - PassOptions options; + PassOptions& options; RequestInfoMap& requestInfos; - Checker(PassOptions options, RequestInfoMap& requestInfos) + Checker(PassOptions& options, RequestInfoMap& requestInfos) : options(options), requestInfos(requestInfos) {} struct ActiveOriginalInfo { @@ -529,7 +529,7 @@ struct LocalCSE : public WalkerPass<PostWalker<LocalCSE>> { Pass* create() override { return new LocalCSE(); } void doWalkFunction(Function* func) { - auto options = getPassOptions(); + auto& options = getPassOptions(); RequestInfoMap requestInfos; |