This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [EXTERNAL]Re: [RFC/PATCH v2][PR89245] Check REG_CALL_DECL note during the tail-merging
- From: Dragan Mladjenovic <dmladjenovic at wavecomp dot com>
- To: Jeff Law <law at redhat dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Richard Sandiford <richard dot sandiford at arm dot com>, matthew Beliveau <mbelivea at redhat dot com>
- Date: Fri, 6 Sep 2019 10:23:22 +0000
- Subject: Re: [EXTERNAL]Re: [RFC/PATCH v2][PR89245] Check REG_CALL_DECL note during the tail-merging
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=wavecomp.com; dmarc=pass action=none header.from=wavecomp.com; dkim=pass header.d=wavecomp.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RI1bbJU/grbCfoxQZV4miSG0Dyx5stwRQOYViJOm1YI=; b=BobsVxG2TI85GOZBehAn4l+BckzOub2gZ55RmrjXNtzFVnhjTHSLMwPBZotD+3Z0ZulPRK0UCvxdYLfb1zVNOsjW5l85PDGmurRycwrZBa9ywfh/LrWcx3h+hSmKbW37gJNBFuukCv92EeGnmyBaVgCjJrkqWO6o7U3IpUlPuuuutC14cbANNmzbRBchyyR1NDcokqfwZhq+XW+/YK3ZKGoOKOpYD+xL3+VXbz9+0eSV2l4lrGL7FNk0dvhuADpa27U82UydKvmIeS5DZJArqmd8aoTF0UyJz6T6AG41YbAr+3K3O9zjAoyGXT3r8RKZM1C1Z973Tj41ilFVC9UHjg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vyk4jzYmYUwljPus9QkJj7YbID/TRpqzQbT3qXVwrisxkAXXk1GpUzv2D1t2wtJHPxfUjpgpSt7D6kBPddpOgV8qUNFhYa9rISO7U5qYdQn8oxC+SDr/6Ygpv1BLSEmQpFYRlU0WqUygYjwOeaEv5V8oWBVkgrY6XLRuKh2NKcWwemlZmDlfZGcEzObqsDfZ1Ne6Gf8ftBcGp+dW3I6JCwnCN+SnwexpZOs6M+7d9h/3lajf0Ij/ufjpqGfYxV4v1un9HsPi2idYqwocGxZzOl6sx7nb7xkVz1+OgLNGx3clJfY2aybtbv8fiwtKviNCKgiWzkEG9XpoafkQt/0PpQ==
- References: <1562702728-8924-1-git-send-email-dmladjenovic@wavecomp.com> <a630df3c-62b2-6f84-9ee1-99775a0e3356@redhat.com> <5D2EDC47.2070501@wavecomp.com> <17953999-d9b0-3414-af40-97ce9666127c@redhat.com>
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 <dmladjenovic@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 <dmladjenovic@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