Reload codegen improvement

Bernd Schmidt bernds@codesourcery.com
Tue Jan 7 16:23:00 GMT 2014


This fixes a problem identified by Chung-Lin. Once reload is done, all 
equivalencing insns for pseudos that didn't get a hard reg but could be 
eliminated using their REG_EQUIV are deleted. However, we still can 
produce reloads and reload insns for them in certain cases, leading to 
unnecessary spilling. This patch corrects this by making sure we use 
identical tests when deciding whether to ignore an insn while reloading, 
and whether to delete it afterwards.

Bootstrapped and tested on x86_64-linux (with lra_p disabled). Chung-Lin 
says he's tested it as well, I think on arm (probably with something 4.8 
based). Will commit in a few days if no objections.


Bernd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: skip-init-insns2.diff
Type: text/x-patch
Size: 4614 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140107/33dfe9d1/attachment.bin>


More information about the Gcc-patches mailing list