RFR: ZGC: C2: Don't split loadbarriers past self referencing phi nodes

Roland Westrelin rwestrel at redhat.com
Fri May 4 15:37:43 UTC 2018


Hi Nils,

> I found a case when we are trying to split a loadbarrier past a phi 
> nodes which has one input that is itself. This is a workaround to just 
> skip those. Later we might want to try to remove these nodes earlier in 
> loop optimizations, but that is an upstream issue.

I would have thought that PhiNode::Ideal() gets rid of them. AFAICT,
that call would trigger that:

  Node* uin = unique_input(phase, false);

So I suppose the cycle is created by some other transformation during
loop opts before the compiler has a chance to run a pass of IGVN?

> http://cr.openjdk.java.net/~neliasso/zgc/dont_split/webrev.01/

Looks ok to me.

Roland.


More information about the zgc-dev mailing list