This is the mail archive of the 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]


On 04/27/10 09:47, Bernd Schmidt wrote:
ORDER_REGS_FOR_LOCAL_ALLOC is a target macros that allows ports to
override the default for REG_ALLOC_ORDER. On arm, this is used to
prefer low registers over high ones when in Thumb mode. However, this
does not work at the moment, since the macro was used only in
local-alloc, and that code was lost with IRA. The patch below
reintroduces a call to the macro.
Well we no longer have a distinction between local & global allocation, so ISTM that ORDER_REGS_FOR_LOCAL_ALLOC has been overtaken by events. If you're getting better allocations with the patch then I would think that you need to be defining REG_ALLOC_ORDER for the thumb differently.

WRT prologue/epilogue costs -- that's an ongoing discussion between Vlad and myself -- there's definitely arguments for and against including those costs and if they're going to be included whether or not the cost should be scaled or not, how to account for the fact that the cost to save/restore can be spread across multiple insns, etc etc. I don't think we've reached any kind of definitive answer on this -- meaning it'll probably be punted until we can do some extensive benchmarking across several platforms.


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