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