RFR: 8305203: Simplify trimming operation in Region::Ideal [v3]
Xin Liu
xliu at openjdk.org
Tue Apr 11 18:48:22 UTC 2023
> This patch improves how Region::Ideal trims unreachable paths.
>
> 1. Don't restart from beginning. Trimming doesn't change the DU-chain.
> 2. Replace DFIterator with DFIterator_Fast. The later is a raw pointer in release build.
> 3. Don't call add_users_to_worklist(this) repeatly.
> 4. ~~Reduce its strength from add_users_to_worklist to
> add_users_to_worklist0 because RegionNode has no special logic.~~(we can't measure any change of compilation time, so there's no point to simplify it)
>
> This patch also includes a cosmetic change: rename n to 'use' inside of the loop.
> Otherwise, we would overshadow Node* n = in(i). Nothing wrong but harder to read.
Xin Liu has updated the pull request incrementally with one additional commit since the last revision:
Check outcnt() after loop.
We avoid from calling add_users_to_worklist repeatly because we assume
we don't delete any use of RegionNode. Assert that after loop.
This patch also changes back to add_users_to_worklist. We can't measure
any compilation time change. There's no point to use
add_users_to_worklist0.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/13238/files
- new: https://git.openjdk.org/jdk/pull/13238/files/8732ee71..27f1b2ce
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=13238&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=13238&range=01-02
Stats: 5 lines in 1 file changed: 3 ins; 1 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/13238.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13238/head:pull/13238
PR: https://git.openjdk.org/jdk/pull/13238
More information about the hotspot-compiler-dev
mailing list