This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [GCC RFC]A new and simple pass merging paired load store instructions
- From: "Bin.Cheng" <amker dot cheng at gmail dot com>
- To: Mike Stump <mikestump at comcast dot net>
- Cc: Steven Bosscher <stevenb dot gcc at gmail dot com>, "bin.cheng" <bin dot cheng at arm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 19 May 2014 14:38:36 +0800
- Subject: Re: [GCC RFC]A new and simple pass merging paired load store instructions
- Authentication-results: sourceware.org; auth=none
- References: <004d01cf700e$ef1e30e0$cd5a92a0$ at arm dot com> <CABu31nMY6zapHfhr5x4BjZ3kvFuEKuhagBfx2cYbD4bbSwybTg at mail dot gmail dot com> <CAHFci2_PoNZVA15gKGDPet73UeEsay3-Ez6qKDu=E7PUVxgeiA at mail dot gmail dot com> <559C5C99-780F-4470-BB33-57074A29F742 at comcast dot net>
On Sat, May 17, 2014 at 12:52 AM, Mike Stump <mikestump@comcast.net> wrote:
> On May 16, 2014, at 3:07 AM, Bin.Cheng <amker.cheng@gmail.com> wrote:
>>
>>> I don't see how regrename will help resolve [base+offset] false
>>> dependencies. Can you explain? I'd expect effects from
>>> hardreg-copyprop "commoning" a base register.
>> It's the register operand's false dependency, rather than the base's
>> one. Considering below simple case:
>> mov r1, #const1
>> store r1, [base+offset1]
>> mov r1, #const2
>> store r1, [base_offset2]
>> It should be renamed into:
>> mov r1, #const1
>> store r1, [base+offset1]
>> mov r2, #const2
>> store r2, [base_offset2]
>
> Ah, but, what did this look like right before pass_web?
I don't think this would be a problem for pre-RA, generally GCC won't
try to reuse pseudo register in this way, right?
Thanks,
bin
--
Best Regards.