[Bug rtl-optimization/71793] Volatile local variable passed by value is (wrongly?) optimised away, but the containing loop is not

db0451 at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jul 7 15:58:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71793

--- Comment #2 from DB <db0451 at gmail dot com> ---
Thanks Richard! About this -

> RTL expansion expands x as register copy for some reason

- is this person's explanation about this originating in the ABI accurate?
http://stackoverflow.com/a/38248847/2757035

If so - again not that I expect anyone really to use this pattern! - but from a
Standard perspective, I'm interested whether it forbids such register
allocation, and whether any workaround is feasible. In practical terms, a very
academic exercise :-) but valuable for its implications wrt the Standard and
ABI


More information about the Gcc-bugs mailing list