phi/mergemem transformations (original) (raw)

Tom Rodriguez Thomas.Rodriguez at Sun.COM
Thu Oct 15 18:23:51 PDT 2009


On Oct 15, 2009, at 5:31 PM, John Rose wrote:

It's actually this delta: D 1.174 00/06/19 00:47:54 jrose 434 431 Phi nodes of type Memory now record their alias type also. Add factory methods PhiNode::make/makeblank/slicememory. Teach PhiNode::Ideal to split phis through memory merges. Add manifest constants regarding Phi/Region layout. Add PhiNode::region() accessor, degradetocopy operation. Adjust PhiNode::Ideal logic to split Phis through MergeMems. Make CreateExNode::bottomtype be accurate.

I bow to your superior archaeology skills. ;)

I don't remember the problem, nor why it was "temporary". I suppose I ran into optimizer loops where a degenerate phi nest could cause this split logic to repeat forever. Perhaps our eager dead code elimination makes this a thing of the past.

That was my thinking as well. I don't know how common it is for
normal code but the late inlining work creates some different patterns
that I would have expected to get cleaned up. I'll look into relaxing
this at a later point. Thanks!

tom

-- John



More information about the hotspot-compiler-dev mailing list