[Bug other/50582] Instruct GCC that added_clobbers_hard_reg_p shouldn't consider a specific register

2018-09-28 Thread pmatos at gcc dot gnu.org
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

2018-09-06 Thread egallager at gcc dot gnu.org
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

2011-10-05 Thread Paulo.Matos at csr dot com
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

2011-09-30 Thread Paulo.Matos at csr dot com
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

2011-09-30 Thread Paulo.Matos at csr dot com
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