+ *state_in = fs.reg;
+ *state_in = fs.offset;
Better to write to two different variables, maybe?
+ union loc fs;
+ for (;;)
+ {
+ *state_in = fs.offset;
+ *state_in = fs.reg;
Likewise, and also make them volatile?
+ case 0:
+ *state_in = fs.reg;
+ case 1:
+ *state_in = fs.offset;
Write to two variables here too?
Both stores need to be connected via VOPs - all the above testcases
are for situations we would ICE if the dominance / avail checks were
not done (and we would be happen to visit the loads in the wrong order).