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