phi/mergemem transformations
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/make_blank/slice_memory.
> Teach PhiNode::Ideal to split phis through memory merges.
> Add manifest constants regarding Phi/Region layout.
> Add PhiNode::region() accessor, degrade_to_copy operation.
> Adjust PhiNode::Ideal logic to split Phis through MergeMems.
> Make CreateExNode::bottom_type 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