[llvm-dev] Enforcing in post-RA scheduling to keep (two) MachineInstrs together

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Fri Feb 10 13:36:04 PST 2017


On 2/10/2017 3:26 PM, Matthias Braun via llvm-dev wrote:
> That said, if you use the PostMachineScheduler you can insert a schedule dag mutation in createPostMachineScheduler() that adds a cluster edge between the two nodes so the scheduler tries hard to keep them together. Unfortunately this doesn't work always today because the schedulemodel is always checked for stalls first (Pending vs. Available lists in the MachineScheduler) before the scheduler even checks its usual cost function with the cluster heuristic.

You can do that with the regular post-RA scheduler as well via 
"TargetSubtargetInfo::getPostRAMutations".

-Krzysztof

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation


More information about the llvm-dev mailing list