Donny/강동윤
d334c6e783
feat(es/minifier): Ignore return value if a param of IIFE is not used ( #6115 )
2022-10-14 02:58:00 +00:00
Donny/강동윤
3d271e82a2
fix(es/minifier): Preserve return values of recursive IIFE ( #6142 )
...
**Description:**
This PR fixes the logic for dropping return values of IIFE.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/6141 .
2022-10-14 09:32:56 +09:00
Donny/강동윤
3a29bfee9b
feat(es/minifier): Change default pass limit to 3 ( #6138 )
2022-10-14 08:00:32 +09:00
Donny/강동윤
c37839fc62
feat(es/minifier): Swap more binary expressions ( #6134 )
2022-10-13 03:45:05 +00:00
Donny/강동윤
66196a65be
feat(es/minifier): Inline pure array literal partially ( #6099 )
2022-10-12 02:29:40 +00:00
Austaras
5a23949f12
feat(es/minifier): Inline and remove vars in one pass ( #6093 )
2022-10-12 01:52:58 +00:00
Donny/강동윤
ad960c76c0
feat(es/minifier): Detect type of .length
( #6120 )
...
**Description:**
This PR updates minifier to detect the type of `xxx.length` if possible.
2022-10-11 23:06:58 +00:00
Austaras
657e5b3111
feat(es/minifier): Inline more lazily initialized vars ( #6089 )
2022-10-10 09:53:50 +09:00
Donny/강동윤
b0c57458c8
feat(es/minifier): Mark ref to fn as non-call in alias analyzer ( #6088 )
2022-10-09 09:21:54 +09:00
Donny/강동윤
9ce3df091f
feat(es/minifier): Distinguish calls in alias analyzer ( #6080 )
...
**Description:**
This PR improves the alias analyzer by distinguishing call and reference, thus reducing the number of identifiers.
---
Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
2022-10-08 03:15:18 +00:00
Austaras
ac150c7ced
feat(es/minifier): Use usage_count
in sequential inliner ( #6071 )
2022-10-06 17:27:34 +00:00
Austaras
c9427f1ec4
fix(es/minifier): Improve infection analysis ( #6044 )
2022-10-06 18:12:09 +09:00
Donny/강동윤
38df5978c1
fix(es/minifier): Mark delete
as a property mutation ( #6063 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/6004 .
2022-10-06 04:47:58 +00:00
Donny/강동윤
d65fba134d
fix(es/minifier): Fix infection analysis of sequential inliner ( #6053 )
...
**Description:**
This PR fixes the callee issue by fixing the infection analyzer.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/6047
2022-10-06 02:46:22 +00:00
Donny/강동윤
c5fb774487
fix(es/minifier): Don't skip unresolved identifiers ( #6050 )
...
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/6049
2022-10-05 11:44:51 +00:00
Austaras
c4850997a2
feat(es/minifier): Inline vars initialized before the declaration ( #6027 )
2022-10-03 08:58:38 +00:00
Donny/강동윤
877936f626
feat(es/minifier): Clone trivial literals in sequential inliner ( #6005 )
...
**Description:**
As our minifier is two-pass by default, this is enough.
At the first pass, we inline all numeric literals using sequential inliner, and minifier can then inline constants correctly in the second pass.
2022-10-03 07:20:48 +00:00
Donny/강동윤
2b627524ac
feat(es/minifier): Ignore return values of ignored IIFEs ( #6020 )
...
**Description:**
As we are not using the return value of the function, we can call `ignore_return_value` on the argument of the return statements of IIFE.
2022-10-02 20:01:56 +09:00
Austaras
61807abf6e
feat(es/minifier): Inline function calls in more cases ( #6010 )
2022-10-01 18:18:45 +09:00
Donny/강동윤
286334c4d0
feat(es/minifier): Drop vars from sequential inliner ( #5993 )
...
**Description:**
This PR renames `CloningMultiReplacer` to `Finalizer` and makes it handle the removal of unused variables. Also, this PR improves the sequential inliner so we can drop variables within a single pass.
2022-09-30 09:43:31 +00:00
Donny/강동윤
aeb7f300a8
feat(es/minifier): Invoke sequential inliner for inlined IIFEs ( #5991 )
...
**Description:**
Inlined IIFEs have the exact pattern sequential inliner wants, so it's good to invoke it.
2022-09-29 11:03:06 +00:00
Donny/강동윤
f8358fbe2b
fix(es/minifier): Remove wrong variable joiner pass ( #5992 )
...
**Description:**
We had two passes for joining variables. This PR removes one in the full optimizer, which is wrong.
**Related issue:**
- Closes https://github.com/swc-project/swc/issues/5989 .
2022-09-29 19:11:18 +09:00
Austaras
1a11cfd46f
feat(es/minifier): Improve fn-local analysis for better inlining ( #5955 )
2022-09-29 14:16:28 +09:00
Donny/강동윤
c411e5d552
feat(es/minifier): Drop more variables while invoking IIFE ( #5987 )
2022-09-29 02:15:56 +00:00
Donny/강동윤
0cfc724018
test(es/minifier): Add tests for benchmark files ( #5986 )
2022-09-29 09:41:13 +09:00