This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r242091 - in /branches/ARM/sve-branch/gcc: func...


Author: rsandifo
Date: Fri Nov 11 16:57:58 2016
New Revision: 242091

URL: https://gcc.gnu.org/viewcvs?rev=242091&root=gcc&view=rev
Log:
Tweak LRA handling of shared spill slots

The previous code processed the users of a stack slot in order of
decreasing size and allocated the slot based on the first user.
This seems a bit dangerous, since the ordering is based on the
mode of the biggest reference while the allocation is based also
on the size of the register itself (which I think could be larger).

That scheme doesn't scale well to polynomial sizes, since there's
no guarantee that the order of the sizes is known at compile time.
This patch instead records an upper bound on the size required
by all users of a slot.  It also records the maximum alignment
requirement.

Modified:
    branches/ARM/sve-branch/gcc/function.c
    branches/ARM/sve-branch/gcc/function.h
    branches/ARM/sve-branch/gcc/lra-spills.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]