> From: Richard Sandiford <richard.sandif...@arm.com> > Date: Mon, 18 May 2015 20:09:19 +0200
> While looking at a profile of gcc, I noticed one thing fairly high > up the list was a loop iterating over all the registers in a REG, > apparently due to the delay in computing the index for hard_regno_nregs > and then loading the value (which would often be an L1 cache miss). > Each patch in the series was individually bootstrapped & regression-tested > on x86_64-linux-gnu. > > Thanks, > Richard > Please also make use of config-list.mk or a subset affecting targets. Build succeded for cris-elf last at r223334. Build failed at r223355, r223364, r223366, it seems from a commit in this patch series: ... g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/tmp/hpautotest-gcc1/gcc/gcc -I/tmp/hpautotest-gcc1/gcc/gcc/. -I/tmp/hpautotest-gcc1/gcc/gcc/../include -I/tmp/hpautotest-gcc1/gcc/gcc/../libcpp/include -I/tmp/hpautotest-gcc1/cris-elf/gccobj/./gmp -I/tmp/hpautotest-gcc1/gcc/gmp -I/tmp/hpautotest-gcc1/cris-elf/gccobj/./mpfr -I/tmp/hpautotest-gcc1/gcc/mpfr -I/tmp/hpautotest-gcc1/gcc/mpc/src -I/tmp/hpautotest-gcc1/gcc/gcc/../libdecnumber -I/tmp/hpautotest-gcc1/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/tmp/hpautotest-gcc1/gcc/gcc/../libbacktrace -o cris.o -MT cris.o -MMD -MP -MF ./.deps/cris.TPo /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c In file included from /tmp/hpautotest-gcc1/gcc/gcc/rtl.h:25, from /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:25: /tmp/hpautotest-gcc1/gcc/gcc/input.h:37: warning: comparison between signed and unsigned integer expressions /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c: In function 'void cris_expand_prologue()': /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:3141: error: 'gen_rtx_raw_REG' was not declared in this scope /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:3165: error: 'gen_rtx_raw_REG' was not declared in this scope /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:3263: error: 'gen_rtx_raw_REG' was not declared in this scope /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c: In function 'void cris_expand_epilogue()': /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:3429: error: 'gen_rtx_raw_REG' was not declared in this scope /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:3515: error: 'gen_rtx_raw_REG' was not declared in this scope /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:3548: error: 'gen_rtx_raw_REG' was not declared in this scope /tmp/hpautotest-gcc1/gcc/gcc/config/cris/cris.c:3573: error: 'gen_rtx_raw_REG' was not declared in this scope make[2]: *** [cris.o] Error 1 brgds, H-P