//===- ProfileInfo.cpp - Profile Info Interface ---------------------------===// // // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file implements the abstract ProfileInfo interface, and the default // "no profile" implementation. // //===----------------------------------------------------------------------===// #include "llvm/Analysis/ProfileInfo.h" #include "llvm/Pass.h" using namespace llvm; // Register the ProfileInfo interface, providing a nice name to refer to. namespace { RegisterAnalysisGroup Z("Profile Information"); } ProfileInfo::~ProfileInfo() {} //===----------------------------------------------------------------------===// // NoProfile ProfileInfo implementation // namespace { struct NoProfileInfo : public ImmutablePass, public ProfileInfo { unsigned getExecutionCount(BasicBlock *BB) { return 0; } }; // Register this pass... RegisterOpt X("no-profile", "No Profile Information"); // Declare that we implement the ProfileInfo interface RegisterAnalysisGroup Y; } // End of anonymous namespace