On Mon, Nov 10, 2014 at 10:16 AM, Bin Cheng <bin.ch...@arm.com> wrote:
> Hi,
> There is parameter max-pending-list-length in gcc scheduler, but the
> parameter is checked using greater than condition.  As a result, the real
> max pending list length is actually "max-pending-list-length + 1".  This
> patch fixes this by using ">=" rather than ">" comparison operator.  Though
> it is kind of nit-picking, I want to change this: a) it breaks sched-fusion
> because the 33rd couldn't be paired; b) when sched-fusion tries to sort many
> consecutive stores, it breaks dcache line alignment at large probability.  I
> mean without cache sensitive optimizer, GCC breaks dcache line alignment
> randomly, but 33 is definitely worse than 32.  Of course, this only happens
> in very restricted case.
>
> Bootstrap and test on x86_64.  Is it OK?

Ok.

Thanks,
Richard.

> 2014-11-10  Bin Cheng  <bin.ch...@arm.com>
>
>         * sched-deps.c (sched_analyze_1): Check pending list if it is not
>         less than MAX_PENDING_LIST_LENGTH.
>         (sched_analyze_2, sched_analyze_insn, deps_analyze_insn): Ditto.

Reply via email to