On 05/07/2015 03:38 PM, Richard Henderson wrote:
Using proper vectors instead of lists of trees.
---
gcc/cfgexpand.c | 614 ++++++++++++++++++++-----------------------
gcc/config/cris/cris.c | 88 +++----
gcc/config/i386/i386.c | 24 +-
gcc/config/mn10300/mn10300.c | 20 +-
gcc/config/rs6000/rs6000.c | 17 +-
gcc/config/visium/visium.c | 21 +-
gcc/config/vxworks.c | 2 +-
gcc/doc/tm.texi | 18 +-
gcc/doc/tm.texi.in | 2 +-
gcc/gimple.c | 2 +-
gcc/hooks.c | 8 -
gcc/hooks.h | 1 -
gcc/incpath.c | 1 +
gcc/mode-switching.c | 2 +-
gcc/system.h | 1 +
gcc/target.def | 30 ++-
16 files changed, 401 insertions(+), 450 deletions(-)
ChangeLog and the usual testing.
One less use of TREE_LIST, is goodness.
I'm going to assume the include header order juggling/additions were all
necessary.
Presumably we don't have a symbolic return value from decode_reg_name.
That'd be a good cleanup for someone.
Much of the cfgexpand bits were painful to read. I did my best, things
look reasonable, but that's largely from reading the comments and
scanning the relevant code -- trying to match up old behaviour and new
behaviour across the board was tough. I realize this mess isn't of your
making :-)
With the usual testing, this is fine.
jeff