On 01/18/2016 11:27 AM, Ajit Kumar Agarwal wrote:


Ajit, can you confirm which of adpcm_code or adpcm_decode where
path splitting is showing a gain?  I suspect it's the former but
would like to make sure so that I can adjust the heuristics
properly.
I'd still like to have this answered when you can Ajit, just to
be 100% that it's the path splitting in adpcm_code that's
responsible for the improvements you're seeing in adpcm.

The adpcm_coder get optimized with path splitting whereas the
adpcm_decoder is not optimized further with path splitting. In
adpcm_decoder the join node is duplicated into its predecessors and
with the duplication of join node the code is not optimized further.
Right. Just wanted to make sure my analysis corresponded with what you were seeing in your benchmarking -- and it does.

I suspect that if we looked at this problem from the angle of isolating paths based on how constant PHI arguments feed into and allow simplifications in later blocks that we might get better long term results -- including improving adpcm_decoder which has the same idiom as adpcm_coder -- it's just in the wrong spot in the CFG.

But that's obviously gcc-7 material.

Jeff

Reply via email to