summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ProfileInfo.cpp
blob: a96dc4f2fc66fee83713f02e6c44785d10100225 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//===- 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<ProfileInfo> Z("Profile Information");
}

ProfileInfo::~ProfileInfo() {}


//===----------------------------------------------------------------------===//
//  NoProfile ProfileInfo implementation
//

namespace {
  struct NoProfileInfo : public ImmutablePass, public ProfileInfo {};
 
  // Register this pass...
  RegisterOpt<NoProfileInfo>
  X("no-profile", "No Profile Information");

  // Declare that we implement the ProfileInfo interface
  RegisterAnalysisGroup<ProfileInfo, NoProfileInfo, true> Y;
}  // End of anonymous namespace
OpenPOWER on IntegriCloud