This is the mail archive of the
mailing list for the GCC project.
Re: Fwd: [PATCH] Scheduling result adjustment to enable macro-fusion
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Alexander Monakov <amonakov at ispras dot ru>
- Cc: Steven Bosscher <stevenb dot gcc at gmail dot com>, Wei Mi <wmi at google dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, David Li <davidxl at google dot com>
- Date: Wed, 11 Sep 2013 10:45:42 -0700
- Subject: Re: Fwd: [PATCH] Scheduling result adjustment to enable macro-fusion
- Authentication-results: sourceware.org; auth=none
- References: <CA+4CFy60EZ99xBGecerYLM9wD6w2v60SpJsfOGguA_PWLLupsA at mail dot gmail dot com> <CA+4CFy6+1ieFJ5+vvsStYs8AnfUY+aAVrYR-p-T7iPisVLCWHQ at mail dot gmail dot com> <alpine dot LNX dot 2 dot 00 dot 1309041253370 dot 5281 at monopod dot intra dot ispras dot ru> <CABu31nONs_DJ99YXDyWAE2a5iyoQWQyuGwLm0jrcb+mCx2M1Aw at mail dot gmail dot com> <CABtfrpCU1jkTZvA-cZ99bjhBnvQMTkNxHMDhhmkAa_k891T1zw at mail dot gmail dot com>
On Wed, Sep 4, 2013 at 12:33 PM, Alexander Monakov <email@example.com> wrote:
> On Wed, Sep 4, 2013 at 9:53 PM, Steven Bosscher <firstname.lastname@example.org> wrote:
>> On Wed, Sep 4, 2013 at 10:58 AM, Alexander Monakov wrote:
>> > Hello,
>> > Could you use the existing facilities instead, such as adjust_priority hook,
>> > or making the compare-branch insn sequence a SCHED_GROUP?
>> Or a define_bypass?
> Hm, I don't think define_bypass would work: it still leaves the
> scheduler freedom to move the compare up.
Even though it allows the scheduler freedom to move the compare up,
the schedule does due to the schedule model not being correct for the
processor. I have done the same for Octeon2 where it is able to
combine the compare and the branch and found the resulting schedule is
much better than even what this hack could do due to the instructions
still take a issue slot. Is it true that for these two processors it
takes an issue slot or is it being done before issue?
> IMO adjust_priority would be preferable if it allows to achieve the goal.