http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60756
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-04-04 Ever confirmed|0 |1 --- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > The parameter "str" is passed in x0+x1, and immediately copied into > the call-saved registers x22+x23, where they stay for the duration > of the function. > > But var-tracking works (or appears to work) back-to-front, taking > the location of the variable from the src rather than the dest of > a copy. Yes, that's the original design (-fno-var-tracking-assignments nowadays) and the correct approach if you are interested in the location of a fixed quantity. Then -fvar-tracking-assignments reversed the viewpoint to track variable quantities. > At minimum it would seem that taking DECL_RTL into account when > examining these assignments would be a good start. When copying into > its canonical location, it would seem a great time to alter the > live range. Does this work better with -fno-var-tracking-assignments?