RFR(S): 8243670: Unexpected test result caused by C2 MergeMemNode::Ideal
Yangfei (Felix)
felix.yang at huawei.com
Thu May 7 13:42:20 UTC 2020
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