RFR(S): 8243670: Unexpected test result caused by C2 MergeMemNode::Ideal

Yangfei (Felix) felix.yang at huawei.com
Tue May 26 13:25:05 UTC 2020


Gentle Ping ...

> -----Original Message-----
> From: Yangfei (Felix)
> Sent: Thursday, May 7, 2020 9:42 PM
> To: 'Tobias Hartmann' <tobias.hartmann at oracle.com>; hotspot-compiler-
> dev at openjdk.java.net
> Subject: RE: RFR(S): 8243670: Unexpected test result caused by C2
> MergeMemNode::Ideal
> 
> Hi Tobias,
> 
> > -----Original Message-----
> > From: Tobias Hartmann [mailto:tobias.hartmann at oracle.com]
> > Sent: Thursday, May 7, 2020 5:10 PM
> > To: Yangfei (Felix) <felix.yang at huawei.com>; hotspot-compiler-
> > dev at openjdk.java.net
> > Subject: Re: RFR(S): 8243670: Unexpected test result caused by C2
> > MergeMemNode::Ideal
> >
> > Hi Felix,
> >
> > were you able to figure out how we ended up with two Phis with same
> > input but different _adr_type?
> 
> As I remembered, there are two major transformations which leads to this:
> 
> 1. During Iter GVN1, a new phi is created with narrowed memory type
> through PhiNode::slice_memory.
>     The new phi and the old phi have different _adr_type and different input.
> 
> 2. Then C2 peel the first iteration of the given loop through
> PhaseIdealLoop::do_peeling.
>     After that, the new phi and the old phi have same input but different
> _adr_type.
> 
> Hope this helps.
> 
> Thanks,
> Felix


More information about the hotspot-compiler-dev mailing list