[PATCH RFC]Pair load store instructions using a generic scheduling fusion pass

Bin.Cheng amker.cheng@gmail.com
Tue Oct 7 01:31:00 GMT 2014


On Tue, Oct 7, 2014 at 1:20 AM, Mike Stump <mikestump@comcast.net> wrote:
> On Oct 6, 2014, at 4:32 AM, Richard Biener <richard.guenther@gmail.com> wrote:
>> On Mon, Oct 6, 2014 at 11:57 AM, Bin.Cheng <amker.cheng@gmail.com> wrote:
>>
>> How many merging opportunities does sched2 undo again?  ISTR it
>> has the tendency of pushing stores down and loads up.
>
> So, the pass works by merging 2 or more loads into 1 load (at least on my port).  sched2 would need to rip apart 1 load into 2 loads to be able to undo the real work.  The non-real work, doesn't matter any.  Can sched2 rip apart a single load?
On ARM and AARCH64, the two merged load/store are transformed into
single parallel insn by the following peephole2 pass, so that sched2
would not undo the fusion work.  I though sched2 works on the basis of
instructions, and it isn't good practice to have sched2 do split work.

Thanks,
bin



More information about the Gcc-patches mailing list