[Bug other/50582] Instruct GCC that added_clobbers_hard_reg_p shouldn't consider a specific register
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50582 pmatos at gcc dot gnu.org changed: What|Removed |Added CC||pmatos at gcc dot gnu.org --- Comment #5 from pmatos at gcc dot gnu.org --- (In reply to Eric Gallager from comment #4) > > Do these patches still apply against trunk? If so, please submit to > gcc-patches for review. They are 7 years old. Most likely they don't apply. Will have to have another go at them.
[Bug other/50582] Instruct GCC that added_clobbers_hard_reg_p shouldn't consider a specific register
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50582 Eric Gallager changed: What|Removed |Added CC||egallager at gcc dot gnu.org --- Comment #4 from Eric Gallager --- (In reply to Paulo J. Matos from comment #2) > Created attachment 25389 [details] > Patch for GCC 4.6.1 implementing suggested enhancement (In reply to Paulo J. Matos from comment #3) > Created attachment 25420 [details] > Allows reload to remove trivial insn > > I noticed that reload was failing to remove insn of the form: > (parallel [(set rX rX) (clobber RCC)]) > > Attached is a patch that does this. Removes move instructions whose clobber, > clobbers registers defined in NOT_REALLY_HARD_REG. Do these patches still apply against trunk? If so, please submit to gcc-patches for review.
[Bug other/50582] Instruct GCC that added_clobbers_hard_reg_p shouldn't consider a specific register
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50582 --- Comment #3 from Paulo J. Matos Paulo.Matos at csr dot com 2011-10-05 10:53:06 UTC --- Created attachment 25420 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25420 Allows reload to remove trivial insn I noticed that reload was failing to remove insn of the form: (parallel [(set rX rX) (clobber RCC)]) Attached is a patch that does this. Removes move instructions whose clobber, clobbers registers defined in NOT_REALLY_HARD_REG.
[Bug other/50582] Instruct GCC that added_clobbers_hard_reg_p shouldn't consider a specific register
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50582 --- Comment #1 from Paulo J. Matos Paulo.Matos at csr dot com 2011-09-30 15:54:25 UTC --- I have implemented a fix to this using a new macro: NOT_REALLY_HARD_REGS which is an array of FIRST_PSEUDO_REGISTER length, with a 1 in position x if register x should not be considered a hard register for the purposes of added_clobbers_hard_reg_p. So for my backend where FIRST_PSEUDO_REGISTER = 14, CC_REGNUM = 13, NOT_REALLY_HARD_REGS looks as follows: #define NOT_REALLY_HARD_REG \ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 } I attach a patch to genemit.c implementing this enhancement.
[Bug other/50582] Instruct GCC that added_clobbers_hard_reg_p shouldn't consider a specific register
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50582 --- Comment #2 from Paulo J. Matos Paulo.Matos at csr dot com 2011-09-30 15:57:21 UTC --- Created attachment 25389 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=25389 Patch for GCC 4.6.1 implementing suggested enhancement