[patch] Lno branch merge part 8 -- canonical induction variable creation

Joseph S. Myers jsm@polyomino.org.uk
Fri Aug 27 16:28:00 GMT 2004

On Fri, 27 Aug 2004, Zdenek Dvorak wrote:

> here is the patch that implements the proposal.  Some remarks:

How do you ensure that expressions with the same operands but different 
overflow flags don't get treated as the same?  I don't see anything in 
operand_equal_p to do so.

The problem case is that some transformation leaves a program with both 
modulo and undefined operations with the same operands; then the version 
with modulo wrapping is found to be redundant and its value is replaced by 
that of the version with undefined wrapping; then that version is further 
transformed in a way unsafe for the use expecting modulo wrapping.

Although such replacements are valid in one direction only (replacing the 
value with undefined overflow handling with the value with modulo overflow 
handling), simply disallowing them is probably easier.

Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
    jsm@polyomino.org.uk (personal mail)
    jsm28@gcc.gnu.org (Bugzilla assignments and CCs)

More information about the Gcc-patches mailing list