[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