[mischeduler]
Andrew Trick via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 9 08:27:46 PST 2016
I suppose any target pass could read the kill flags. If the exist, they must be correct.
-Andy
> On Nov 9, 2016, at 2:58 AM, Jonas Paulsson <paulsson at linux.vnet.ibm.com> wrote:
>
> pushed.
>
> Btw, what is your comment on the need for removal of kill flags? Is the scheduler in itself in any way (potentially) dependent on kill flags? (on SystemZ, which does post-ra scheduling after all else, kill flags are never checked after post-ra scheduling, so there is no need to bother with kill flags removal, I might guess.)
>
>
> /Jonas
>
>
>
> On 2016-11-08 17:50, Andrew Trick wrote:
>>> On Nov 8, 2016, at 7:57 AM, Jonas Paulsson <paulsson at linux.vnet.ibm.com> wrote:
>>>
>>> Hi,
>>>
>>> I see that the constructor of ScheduleDAGMI looks like:
>>>
>>>
>>> public:
>>>
>>> ScheduleDAGMI(MachineSchedContext *C, std::unique_ptr<MachineSchedStrategy> S,
>>> bool RemoveKillFlags)
>>>
>>>
>>> These lines then seem wrong, in relation to the third argument:
>>>
>>> static ScheduleDAGInstrs *createGenericSchedPostRA(MachineSchedContext *C) {
>>> return new ScheduleDAGMI(C, make_unique<PostGenericScheduler>(C), /*IsPostRA=*/true);
>>>
>>> return new ScheduleDAGMI(C, make_unique<SystemZPostRASchedStrategy>(C),
>>> /*IsPostRA=*/true);
>>>
>>> The third argument tells ScheduleDAGInstrs to remove kill flags during buildSchedGraph(), and is not the flag for post/pre-ra.
>>>
>>> Ok to change comments per patch?
>>>
>>> /Jonas
>>>
>>>
>>> <NewScheduleDAGMI.patch>
>> LGTM.
>> -Andy
>>
>
More information about the llvm-commits
mailing list