[PATCH]: Allow TARGET_SCHED_ADJUST_PRIORITY hook to reduce priority
Andreas Schwab
schwab@suse.de
Mon Sep 10 12:35:00 GMT 2018
On Sep 06 2018, Jeff Law <law@redhat.com> wrote:
> On 09/03/2018 08:32 AM, John David Anglin wrote:
>> The documentation for TARGET_SCHED_ADJUST_PRIORITY indicates that the
>> hook can
>> reduce the priority of INSN to execute it later. The hppa hook only
>> reduces the priority
>> and it has been this way for years. However, the assert in
>> sel_target_adjust_priority()
>> prevents reduction of the priority.
>>
>> The attached change revises the assert to allow the priority to be
>> reduced to zero.
>>
>> This fixes PR rtl-optimization/85458.
>>
>> Tested on hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11 and
>> hppa64-hp-hpux11.11.
>>
>> I must admit that this happens so infrequently that I have to wonder if
>> the hook provides
>> any benefit on hppa. It was supposed to keep addil instructions close
>> to the following instruction
>> to reduce pressure on register %r1.
>>
>> Okay?
>>
>> Dave
>>
>> --Â
>> John David Anglin  dave.anglin@bell.net
>>
>>
>> sel-sched.c.d
>>
>>
>> 2018-09-03 John David Anglin <danglin@gcc.gnu.org>
>>
>> PR rtl-optimization/85458
>> * sel-sched.c (sel_target_adjust_priority): Allow backend adjust
>> priority hook to reduce the priority of EXPR.
> OK.
That breaks ia64.
during RTL pass: mach
/usr/local/gcc/test/gcc/testsuite/gcc.c-torture/compile/20010102-1.c: In function '_obstack_newchunk':
/usr/local/gcc/test/gcc/testsuite/gcc.c-torture/compile/20010102-1.c:101:1: internal compiler error: in sel_target_adjust_priority, at sel-sched.c:3333
0x40000000010bb68f sel_target_adjust_priority
../../gcc/sel-sched.c:3333
0x40000000010bb68f fill_vec_av_set
../../gcc/sel-sched.c:3727
0x40000000010bd45f fill_ready_list
../../gcc/sel-sched.c:4028
0x40000000010bd45f find_best_expr
../../gcc/sel-sched.c:4388
0x40000000010bd45f fill_insns
../../gcc/sel-sched.c:5549
0x40000000010c29cf schedule_on_fences
../../gcc/sel-sched.c:7366
0x40000000010c29cf sel_sched_region_2
../../gcc/sel-sched.c:7504
0x40000000010c510f sel_sched_region_1
../../gcc/sel-sched.c:7546
0x40000000010c700f sel_sched_region(int)
../../gcc/sel-sched.c:7647
0x40000000010c9def run_selective_scheduling()
../../gcc/sel-sched.c:7733
0x40000000019e473f ia64_reorg
../../gcc/config/ia64/ia64.c:9857
0x40000000010314cf execute
../../gcc/reorg.c:3984
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
More information about the Gcc-patches
mailing list