RFR: 8263577: C2: reachable nodes shouldn't have dead uses at the end of optimizations [v2]

Nils Eliasson neliasso at openjdk.java.net
Mon Mar 15 14:53:10 UTC 2021


On Mon, 15 Mar 2021 14:01:27 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> It's not uncommon for c2 to leave dead uses hanging from reachable
>> nodes. It's usually harmless but can cause confusion (such as in
>> valhalla JDK-8262289, not reproducible with non valhalla code AFAICT).
>> 
>> Most of the time, these are caused by calls to set_req() during igvn
>> that should be set_req_X() calls. I added a verification pass at the
>> end of optimization and fixed all the ones I found.
>
> Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:
> 
>   vladimir's review

Marked as reviewed by neliasso (Reviewer).

src/hotspot/share/opto/addnode.cpp line 148:

> 146:       Node *x1 = add1->in(1);
> 147:       Node *x2 = phase->makecon(add1->as_Add()->add_ring(t2, t12));
> 148:       set_req_X(2,x2,phase);

Missing space after comma in argument list. Same a bit further down to.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3012


More information about the hotspot-compiler-dev mailing list