The FE ought to set TREE_INVARIANT on ADDR_EXPRs, when appropriate. I don't see that as the responsibility of a front end, but of build1 in tree.c. We want all front ends to do exactly the same thing here.