RFR(S): 8231291: C2: loop opts before EA should maximally unroll loops
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Dec 18 03:38:38 UTC 2019
Very nice!
cfgnode.cpp - should we also check for is_top() to set `doit = false` and bailout?
Why you added check in must_be_not_null()? It is used only in library_call.cpp and should not relate to this changes.
Did you find some issues?
Thanks,
Vladimir
On 12/16/19 12:18 AM, Roland Westrelin wrote:
>
> http://cr.openjdk.java.net/~roland/8231291/webrev.01/
>
> As discussed before:
>
> https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-September/035094.html
> https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-November/036171.html
>
> Fully unrolling loops early helps EA. The change to cfgnode.cpp is
> required because full unroll sometimes needs peeling which may add a phi
> between a memory access and its AddP, a pattern that EA doesn't
> recognize.
>
> Roland.
>
More information about the hotspot-compiler-dev
mailing list