llvm/polly/lib/CodeGen/PerfMonitor.cpp

//===------ PerfMonitor.cpp - Generate a run-time performance monitor. -======//
//
// 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
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//

#include "polly/CodeGen/PerfMonitor.h"
#include "polly/CodeGen/RuntimeDebugBuilder.h"
#include "polly/ScopInfo.h"
#include "llvm/ADT/Twine.h"
#include "llvm/IR/IntrinsicsX86.h"
#include "llvm/IR/Module.h"
#include "llvm/TargetParser/Triple.h"

usingnamespacellvm;
usingnamespacepolly;

Function *PerfMonitor::getAtExit() {}

void PerfMonitor::addToGlobalConstructors(Function *Fn) {}

Function *PerfMonitor::getRDTSCP() {}

PerfMonitor::PerfMonitor(const Scop &S, Module *M)
    :{}

static void TryRegisterGlobal(Module *M, const char *Name,
                              Constant *InitialValue, Value **Location) {}

// Generate a unique name that is usable as a LLVM name for a scop to name its
// performance counter.
static std::string GetScopUniqueVarname(const Scop &S) {}

void PerfMonitor::addScopCounter() {}

void PerfMonitor::addGlobalVariables() {}

static const char *InitFunctionName =;
static const char *FinalReportingFunctionName =;

static BasicBlock *FinalStartBB =;
static ReturnInst *ReturnFromFinal =;

Function *PerfMonitor::insertFinalReporting() {}

void PerfMonitor::AppendScopReporting() {}

static Function *FinalReporting =;

void PerfMonitor::initialize() {}

Function *PerfMonitor::insertInitFunction(Function *FinalReporting) {}

void PerfMonitor::insertRegionStart(Instruction *InsertBefore) {}

void PerfMonitor::insertRegionEnd(Instruction *InsertBefore) {}