- Allow targets plug their own macro-fusion logic to replace default one in default pre-scheduler (i.e. ScheduleDAGMILive).
- Teach PostRAScheduler being able to schedule cluster instructions in adjacent fashion.
Details
Diff Detail
Event Timeline
lib/CodeGen/MachineScheduler.cpp | ||
---|---|---|
3108–3129 | Why not adding Target specific code to create scheduler objects and add any mutations that we need, there? What we want to do here, is Target specific and I think sooner or later we will have other target specific requirements to satisfy when creating scheduler, strategy and mutations. Why do you want to do this here? | |
lib/CodeGen/PostRASchedulerList.cpp | ||
465–471 | I have doubts that we need to make any changes in this file. We want to switch to post-ra MIScheduler. So I don't see much benefit in making changes here. |
lib/CodeGen/MachineScheduler.cpp | ||
---|---|---|
3108–3129 | Because EnableMacroFusion is true by default, so we will call MacroFusion::apply by default, also it looks like a general feature across different targets, so I think we should also be able to hook customized MacroFusion for different targets. |
Why not adding Target specific code to create scheduler objects and add any mutations that we need, there? What we want to do here, is Target specific and I think sooner or later we will have other target specific requirements to satisfy when creating scheduler, strategy and mutations. Why do you want to do this here?