RFR(S): 8243670: Unexpected test result caused by C2 MergeMemNode::Ideal
Tobias Hartmann
tobias.hartmann at oracle.com
Wed Jun 17 13:26:24 UTC 2020
Hi Felix,
On 17.06.20 14:30, Yangfei (Felix) wrote:
> Thanks for confirming that. Yes, this works for the reduced test case.
> I see phi_base was calculated from base_memory(). That is in(AliasIdxBot)) which is a "wide" memory state containing all alias categories.
> So I was thinking that maybe the condition " phi_base->adr_type()->higher_equal(phi_mem->adr_type())" will always equals false?
> If that is true, then this is the same in functionality with my initial patch. Could you please clarify?
Right, that wouldn't work. What I was trying to suggest is to replace the MergeMem by the Phi with
the most restrictive type if all inputs are Phis. I think that would be an Identity optimization and
only work with MergeMems that have two inputs. For example, in your case it should be safe to
replace the 4: MergeMem by 1: Phi1, right?
Best regards,
Tobias
More information about the hotspot-compiler-dev
mailing list