On 24.07.2019. 20:57, Jeff Law wrote: > On 7/17/19 2:29 AM, Dragan Mladjenovic wrote: >> >> >> On 09.07.2019. 23:21, Jeff Law wrote: >>> On 7/9/19 2:06 PM, Dragan Mladjenovic wrote: >>>> This patch prevents merging of CALL instructions that that have different >>>> REG_CALL_DECL notes attached to them. >>>> >>>> On most architectures this is not an important distinction. Usually >>>> instruction patterns >>>> for calls to different functions reference different SYMBOL_REF-s, so they >>>> won't match. >>>> On MIPS PIC calls get split into an got_load/*call_internal pair where the >>>> latter represents >>>> indirect register call w/o SYMBOL_REF attached (until machine_reorg pass). >>>> The bugzilla issue >>>> had such two internal_call-s merged despite the fact that they had >>>> different register usage >>>> information assigned by ipa-ra. >>>> >>>> As per comment form Richard Sandiford, this version compares reg usage for >>>> both call >>>> instruction instead of shallow comparing the notes. Tests updated >>>> accordingly. >>>> >>>> gcc/ChangeLog: >>>> >>>> 2019-07-09 Dragan Mladjenovic <dmladjeno...@wavecomp.com> >>>> >>>> * cfgcleanup.c (old_insns_match_p): Check if used hard regs set is equal >>>> for both call instructions. >>>> >>>> gcc/testsuite/ChangeLog: >>>> >>>> 2019-07-09 Dragan Mladjenovic <dmladjeno...@wavecomp.com> >>>> >>>> * gcc.target/mips/cfgcleanup-jalr1.c: New test. >>>> * gcc.target/mips/cfgcleanup-jalr2.c: New test. >>>> * gcc.target/mips/cfgcleanup-jalr3.c: New test. >>> THanks. I've installed this on the trunk. >>> >>> jeff >> Thanks. Can this be back-ported to active branches also. This issue >> seems to be there > since gcc6 if not gcc5. > I've asked Matthew to handle the backport. I'm going to be on PTO the > next couple weeks. > > jeff >
Hi, Sorry, I forgot to check up on this patch. Is it still ok for me to try to backport it to gcc 9 and gcc 8 branches? Best regards, Dragan