RFR(S): 8187822: C2 conditonal move optimization might create broken graph
rwestrel at redhat.com
Wed Sep 27 14:48:02 UTC 2017
Thanks for looking at this.
> But as I understand we can't replace such diamond code with cmove
> because If node will not be eliminated if you not adjust control of
> LoadI node.
The LoadI node has no control input but it's only used by the AddI which
is only used by the Phi of the diamond. PhaseIdealLoop schedules it as
late as possible, that is in the branch of the diamond.
The fix I sent for review was actually broken (the controls of the inputs
of the CMoveX wouldn't dominate the control of the CMoveX). What about
which simply follows dependent data nodes if needed and adjust their
More information about the hotspot-compiler-dev