[PATCH PR65161]
Yuri Rumyantsev
ysrumyan@gmail.com
Wed Feb 25 09:41:00 GMT 2015
Hi All,
I prepared new patch which includes test-case.
I can't agree with patch proposed by Alexander since other functions
doing ready list reordering also use HID interface, so I put escape
check in ix86_sched_reorder.
Is it OK for trunk?
2015-02-25 Yuri Rumyantsev <ysrumyan@gmail.com>
PR target/65161
* config/i386/i386.c (ix86_sched_reorder): Skip instruction reordering
for selective scheduling.
gcc/testsuite/ChangeLog
* gcc.target/i386/pr65161.c: New test.
2015-02-25 2:54 GMT+03:00 Andrey Belevantsev <abel@ispras.ru>:
> On 24.02.2015 21:16, Alexander Monakov wrote:
>>
>>
>>
>> On Tue, 24 Feb 2015, Yuri Rumyantsev wrote:
>>
>>> Hi All!
>>>
>>> Here is a simple patch to not perform instruction reordering for
>>> selective scheduling since it uses interface of list scheduling
>>> defined in "sched-int.h".
>>
>>
>> As I see, the exact problem is that swap_top_of_ready_list accesses HID,
>> so
>> please use the more specialized patch below instead.
>
>
> You have missed a space before call parentheses in the patch, otherwise it
> looks fine.
>
> Andrey
>
>
>
>>
>> Thanks.
>> Alexander
>>
>> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
>> index 7f5796a..6eccd54 100644
>> --- a/gcc/config/i386/i386.c
>> +++ b/gcc/config/i386/i386.c
>> @@ -26615,6 +26615,12 @@ swap_top_of_ready_list (rtx_insn **ready, int
>> n_ready)
>> dep_t dep;
>> int clock1 = -1;
>> int clock2 = -1;
>> +
>> + /* The following heuristic inspects h_i_d, but it is not extended for
>> insns
>> + created when doing selective scheduling. */
>> + if (sel_sched_p())
>> + return false;
>> +
>> #define INSN_TICK(INSN) (HID (INSN)->tick)
>>
>> if (!TARGET_SILVERMONT && !TARGET_INTEL)
>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.1
Type: application/octet-stream
Size: 944 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150225/0d0d7e43/attachment.obj>
More information about the Gcc-patches
mailing list