diff options
author | Alon Zakai (kripken) <alonzakai@gmail.com> | 2018-12-02 08:22:33 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2018-12-04 10:14:29 -0800 |
commit | b4badb815ec844e438a05d501eafb6bb99383bc6 (patch) | |
tree | b1f16bc9c644b48e7c7f9fb226bb50d7b5be3f6a /src | |
parent | f5b8221e9759c37ef44158c2d2858dcee51b6c1f (diff) | |
download | binaryen-b4badb815ec844e438a05d501eafb6bb99383bc6.tar.gz binaryen-b4badb815ec844e438a05d501eafb6bb99383bc6.tar.bz2 binaryen-b4badb815ec844e438a05d501eafb6bb99383bc6.zip |
Run coalesce-locals after the final simplify-locals.
We now emit more sets and tees of if-elses from simplify-locals, and
coalesce-locals is necessary to remove them if they are ineffectual,
that is, if no get will read them.
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/pass.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp index e89fed83f..c42a3d144 100644 --- a/src/passes/pass.cpp +++ b/src/passes/pass.cpp @@ -180,8 +180,11 @@ void PassRunner::addDefaultFunctionOptimizationPasses() { } add("coalesce-locals"); add("simplify-locals"); - add("vacuum"); // previous pass creates garbage + add("vacuum"); + add("reorder-locals"); + add("coalesce-locals"); add("reorder-locals"); + add("vacuum"); if (options.optimizeLevel >= 3 || options.shrinkLevel >= 1) { add("code-folding"); } |