Repost: RFA [4.1]: improvement to if-conversion and cross-jumping (PR20070)

Bernd Schmidt bernds_cb1@t-online.de
Tue Dec 6 11:19:00 GMT 2005


>> Still, for a POST_MODIFY, the actual value of what you call the 
>> "SET_DEST" is used as an input.  I think allowing these two macros on 
>> PRE/POST_MODIFY would be confusing.
> 
> 
> No, the second value is the input, while the first is the output, just 
> like for SET.

??? The REG in the first operand contains the address.  Hence, it's 
conceptually an input.  It's written to, so it's also an output.  The 
new value of the REG (the second operand) is also an input.  You could 
argue that currently the second operand has to contain the first reg, so 
it'll be treated as an input anyway, but this is thinking about current 
usage and specific algorithms, not the data structure itself, and is 
conceptually the wrong way to look at a POST_MODIFY.

I'll grant you a certain similarity to a SET, but I do not think that 
this warrants the potential for confusion of using SET_DEST on a 
POST_MODIFY.  It's trying to be too clever.


Bernd



More information about the Gcc-patches mailing list