From f01b9aa89e8cd5d3cca0e13835302f69c1f879d2 Mon Sep 17 00:00:00 2001 From: David Green Date: Tue, 5 Nov 2019 11:54:22 +0000 Subject: [MachineScheduler] Enable AA in PostRA Machine scheduler This adds AA to Post-RA Machine Scheduling, allowing the pass more freedom when handling memory operations. My understanding is that this was just never done, not that it is inherently incorrect to do so. The older PostRA List scheduler already makes use of AA, it's just that the MI PostRA Scheduler was never taught to use it. Differential Revision: https://reviews.llvm.org/D69814 --- llvm/lib/CodeGen/MachineScheduler.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp') diff --git a/llvm/lib/CodeGen/MachineScheduler.cpp b/llvm/lib/CodeGen/MachineScheduler.cpp index caebb953439..df88a879db7 100644 --- a/llvm/lib/CodeGen/MachineScheduler.cpp +++ b/llvm/lib/CodeGen/MachineScheduler.cpp @@ -238,6 +238,7 @@ void PostMachineScheduler::getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); AU.addRequired(); AU.addRequired(); + AU.addRequired(); AU.addRequired(); MachineFunctionPass::getAnalysisUsage(AU); } @@ -412,6 +413,7 @@ bool PostMachineScheduler::runOnMachineFunction(MachineFunction &mf) { MF = &mf; MLI = &getAnalysis(); PassConfig = &getAnalysis(); + AA = &getAnalysis().getAAResults(); if (VerifyScheduling) MF->verify(this, "Before post machine scheduling."); -- cgit v1.2.3