On Thu, Jan 29, 2015 at 04:51:47PM +0100, Jakub Jelinek wrote: > Won't the patch pessimize say const method calls through vtable?
I was worried about accidental pessimization too, so ran a full gcc build with the patch and compared against one with s/ABI_AIX/ABI_NONE/ in rs6000_has_function_descriptors. $ for z in `find . -name testsuite -prune -o -name \*.o -print`; do cmp -s $z ~/build/gcc64-current.save/$z || echo $z >> files; done That showed up a whole lot of libjava differences which on inspection proved to be .debug_str ordering. Ick. OK, let's look at just code differences. (BTW, testsuite pruned because "make check" was still running.) $ for z in `cat files`; do objdump -d $z | tail -n +5 > dump; objdump -d ~/build/gcc64-current.save/$z | tail -n +5 > dump2; cmp -s dump dump2 || echo $z >> files2; done $ cat files2 ./gcc/rs6000.o ./prev-gcc/rs6000.o ./stage1-gcc/rs6000.o So the patch didn't make a real mess.. -- Alan Modra Australia Development Lab, IBM