diff options
author | Vladimir Vereschaka <vvereschaka@accesssoftek.com> | 2019-10-20 20:39:33 +0000 |
---|---|---|
committer | Vladimir Vereschaka <vvereschaka@accesssoftek.com> | 2019-10-20 20:39:33 +0000 |
commit | 92c96c7bc0b456cbc32da97df52b1acec238be9f (patch) | |
tree | 2484a6598ff22bf44c2ee730d359f6647bbd9789 /llvm/lib/CodeGen | |
parent | b1b7a2f7b63db915fbc0e7ee5e1811b8846fbd9b (diff) | |
download | bcm5719-llvm-92c96c7bc0b456cbc32da97df52b1acec238be9f.tar.gz bcm5719-llvm-92c96c7bc0b456cbc32da97df52b1acec238be9f.zip |
Reverted r375254 as it has broken some build bots for a long time.
llvm-svn: 375375
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/CMakeLists.txt | 1 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MachineDominators.cpp | 6 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MachineLoopInfo.cpp | 8 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MachineSizeOpts.cpp | 120 |
5 files changed, 3 insertions, 139 deletions
diff --git a/llvm/lib/CodeGen/CMakeLists.txt b/llvm/lib/CodeGen/CMakeLists.txt index f5c18f89fa0..50b469d6d93 100644 --- a/llvm/lib/CodeGen/CMakeLists.txt +++ b/llvm/lib/CodeGen/CMakeLists.txt @@ -92,7 +92,6 @@ add_llvm_library(LLVMCodeGen MachineRegisterInfo.cpp MachineScheduler.cpp MachineSink.cpp - MachineSizeOpts.cpp MachineSSAUpdater.cpp MachineTraceMetrics.cpp MachineVerifier.cpp diff --git a/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp b/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp index 889fde606a4..53a35b7e89c 100644 --- a/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp +++ b/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp @@ -172,13 +172,6 @@ MachineBlockFrequencyInfo::MachineBlockFrequencyInfo() initializeMachineBlockFrequencyInfoPass(*PassRegistry::getPassRegistry()); } -MachineBlockFrequencyInfo::MachineBlockFrequencyInfo( - MachineFunction &F, - MachineBranchProbabilityInfo &MBPI, - MachineLoopInfo &MLI) : MachineFunctionPass(ID) { - calculate(F, MBPI, MLI); -} - MachineBlockFrequencyInfo::~MachineBlockFrequencyInfo() = default; void MachineBlockFrequencyInfo::getAnalysisUsage(AnalysisUsage &AU) const { diff --git a/llvm/lib/CodeGen/MachineDominators.cpp b/llvm/lib/CodeGen/MachineDominators.cpp index 0d57bca37d9..706c706d752 100644 --- a/llvm/lib/CodeGen/MachineDominators.cpp +++ b/llvm/lib/CodeGen/MachineDominators.cpp @@ -49,15 +49,11 @@ void MachineDominatorTree::getAnalysisUsage(AnalysisUsage &AU) const { } bool MachineDominatorTree::runOnMachineFunction(MachineFunction &F) { - calculate(F); - return false; -} - -void MachineDominatorTree::calculate(MachineFunction &F) { CriticalEdgesToSplit.clear(); NewBBs.clear(); DT.reset(new DomTreeBase<MachineBasicBlock>()); DT->recalculate(F); + return false; } MachineDominatorTree::MachineDominatorTree() diff --git a/llvm/lib/CodeGen/MachineLoopInfo.cpp b/llvm/lib/CodeGen/MachineLoopInfo.cpp index 85822a67149..3b8b430d1b0 100644 --- a/llvm/lib/CodeGen/MachineLoopInfo.cpp +++ b/llvm/lib/CodeGen/MachineLoopInfo.cpp @@ -36,13 +36,9 @@ INITIALIZE_PASS_END(MachineLoopInfo, "machine-loops", char &llvm::MachineLoopInfoID = MachineLoopInfo::ID; bool MachineLoopInfo::runOnMachineFunction(MachineFunction &) { - calculate(getAnalysis<MachineDominatorTree>()); - return false; -} - -void MachineLoopInfo::calculate(MachineDominatorTree &MDT) { releaseMemory(); - LI.analyze(MDT.getBase()); + LI.analyze(getAnalysis<MachineDominatorTree>().getBase()); + return false; } void MachineLoopInfo::getAnalysisUsage(AnalysisUsage &AU) const { diff --git a/llvm/lib/CodeGen/MachineSizeOpts.cpp b/llvm/lib/CodeGen/MachineSizeOpts.cpp deleted file mode 100644 index 0c2ef3321e0..00000000000 --- a/llvm/lib/CodeGen/MachineSizeOpts.cpp +++ /dev/null @@ -1,120 +0,0 @@ -//===- MachineSizeOpts.cpp - code size optimization related code ----------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file contains some shared machine IR code size optimization related -// code. -// -//===----------------------------------------------------------------------===// - -#include "llvm/CodeGen/MachineSizeOpts.h" -#include "llvm/Analysis/ProfileSummaryInfo.h" -#include "llvm/CodeGen/MachineBlockFrequencyInfo.h" - -using namespace llvm; - -extern cl::opt<bool> EnablePGSO; -extern cl::opt<bool> PGSOLargeWorkingSetSizeOnly; -extern cl::opt<bool> ForcePGSO; -extern cl::opt<int> PgsoCutoffInstrProf; -extern cl::opt<int> PgsoCutoffSampleProf; - -namespace machine_size_opts_detail { - -/// Like ProfileSummaryInfo::isColdBlock but for MachineBasicBlock. -bool isColdBlock(const MachineBasicBlock *MBB, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo *MBFI) { - auto Count = MBFI->getBlockProfileCount(MBB); - return Count && PSI->isColdCount(*Count); -} - -/// Like ProfileSummaryInfo::isHotBlockNthPercentile but for MachineBasicBlock. -static bool isHotBlockNthPercentile(int PercentileCutoff, - const MachineBasicBlock *MBB, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo *MBFI) { - auto Count = MBFI->getBlockProfileCount(MBB); - return Count && PSI->isHotCountNthPercentile(PercentileCutoff, *Count); -} - -/// Like ProfileSummaryInfo::isFunctionColdInCallGraph but for -/// MachineFunction. -bool isFunctionColdInCallGraph( - const MachineFunction *MF, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo &MBFI) { - if (auto FunctionCount = MF->getFunction().getEntryCount()) - if (!PSI->isColdCount(FunctionCount.getCount())) - return false; - for (const auto &MBB : *MF) - if (!isColdBlock(&MBB, PSI, &MBFI)) - return false; - return true; -} - -/// Like ProfileSummaryInfo::isFunctionHotInCallGraphNthPercentile but for -/// MachineFunction. -bool isFunctionHotInCallGraphNthPercentile( - int PercentileCutoff, - const MachineFunction *MF, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo &MBFI) { - if (auto FunctionCount = MF->getFunction().getEntryCount()) - if (PSI->isHotCountNthPercentile(PercentileCutoff, - FunctionCount.getCount())) - return true; - for (const auto &MBB : *MF) - if (isHotBlockNthPercentile(PercentileCutoff, &MBB, PSI, &MBFI)) - return true; - return false; -} -} // namespace machine_size_opts_detail - -namespace { -struct MachineBasicBlockBFIAdapter { - static bool isFunctionColdInCallGraph(const MachineFunction *MF, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo &MBFI) { - return machine_size_opts_detail::isFunctionColdInCallGraph(MF, PSI, MBFI); - } - static bool isFunctionHotInCallGraphNthPercentile( - int CutOff, - const MachineFunction *MF, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo &MBFI) { - return machine_size_opts_detail::isFunctionHotInCallGraphNthPercentile( - CutOff, MF, PSI, MBFI); - } - static bool isColdBlock(const MachineBasicBlock *MBB, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo *MBFI) { - return machine_size_opts_detail::isColdBlock(MBB, PSI, MBFI); - } - static bool isHotBlockNthPercentile(int CutOff, - const MachineBasicBlock *MBB, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo *MBFI) { - return machine_size_opts_detail::isHotBlockNthPercentile( - CutOff, MBB, PSI, MBFI); - } -}; -} // end anonymous namespace - -bool llvm::shouldOptimizeForSize(const MachineFunction *MF, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo *MBFI) { - return shouldFuncOptimizeForSizeImpl<MachineBasicBlockBFIAdapter>( - MF, PSI, MBFI); -} - -bool llvm::shouldOptimizeForSize(const MachineBasicBlock *MBB, - ProfileSummaryInfo *PSI, - const MachineBlockFrequencyInfo *MBFI) { - return shouldOptimizeForSizeImpl<MachineBasicBlockBFIAdapter>( - MBB, PSI, MBFI); -} |