Lines Matching +full:on +full:- +full:the +full:- +full:fly
1 ///===- LazyMachineBlockFrequencyInfo.cpp - Lazy Machine Block Frequency --===//
3 /// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 /// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 ///===---------------------------------------------------------------------===//
9 /// This is an alternative analysis pass to MachineBlockFrequencyInfo. The
10 /// difference is that with this pass the block frequencies are not computed
11 /// when the analysis pass is executed but rather when the BFI result is
12 /// explicitly requested by the analysis client.
14 ///===---------------------------------------------------------------------===//
22 #define DEBUG_TYPE "lazy-machine-block-freq"
58 return MBFIWrapper->getMBFI(); in calculateIfNotAvailable()
63 auto *MLI = MLIWrapper ? &MLIWrapper->getLI() : nullptr; in calculateIfNotAvailable()
65 auto *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr; in calculateIfNotAvailable()
66 LLVM_DEBUG(dbgs() << "Building MachineBlockFrequencyInfo on the fly\n"); in calculateIfNotAvailable()
70 LLVM_DEBUG(dbgs() << "Building LoopInfo on the fly\n"); in calculateIfNotAvailable()
75 LLVM_DEBUG(dbgs() << "Building DominatorTree on the fly\n"); in calculateIfNotAvailable()
77 OwnedMDT->getBase().recalculate(*MF); in calculateIfNotAvailable()
83 OwnedMLI->analyze(MDT->getBase()); in calculateIfNotAvailable()
88 OwnedMBFI->calculate(*MF, MBPI, *MLI); in calculateIfNotAvailable()