Hello,

This is a followup of 
http://gcc.gnu.org/ml/gcc/2014-01/msg00120.html
and
http://gcc.gnu.org/ml/gcc/2014-01/msg00055.html

This is a slightly long patch that attempts to simplify the niter and infinite 
expressions by recursively looking through the dominant basic blocks for 
register definitions, replacing them in the original expressions and 
simplifying the expression with simplify-rtx.

It allows GCC to generate a lot more zero overhead loops by finding much better 
bounds to loops or discovering that infinite loops are actually not so.

I would like to have some comments on the patch and its possible integration 
into upstream (I guess it can only go upstream once 4.9 is released, right?).

I bootstrapped and tested x86_64-unknown-linux-gnu with no regressions.

Thanks,

Paulo Matos


Attachment: simplify-using-context.patch
Description: simplify-using-context.patch

Reply via email to