On 11/5/23 11:49, Richard Sandiford wrote:
The pass used the edge aux field to record which mode change
should happen on the edge, with -1 meaning "none". It's more
convenient for later patches to leave aux zero for "none",
and use numbers based at 1 to record a change.
gcc/
* mode-switching.cc (commit_mode_sets): Use 1-based edge aux values.
So my only worry here is the state of the aux field as we enter mode
switching. ISTM the old code would never depend on that previous state
since it always initialized eg->aux to -1, then conditionally overwrote
that value if there was an insertion. Then it could clear all the aux
fields once a particular entity was resolved.
It appears now that for the first entity we depend on the aux field
being clear as we enter mode switching. Or am I missing something?
jeff