Coverage Report

Created: 2018-11-16 02:38

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/CodeGen/MachinePassRegistry.h
Line
Count
Source (jump to first uncovered line)
1
//===- llvm/CodeGen/MachinePassRegistry.h -----------------------*- C++ -*-===//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file contains the mechanics for machine function pass registries.  A
11
// function pass registry (MachinePassRegistry) is auto filled by the static
12
// constructors of MachinePassRegistryNode.  Further there is a command line
13
// parser (RegisterPassParser) which listens to each registry for additions
14
// and deletions, so that the appropriate command option is updated.
15
//
16
//===----------------------------------------------------------------------===//
17
18
#ifndef LLVM_CODEGEN_MACHINEPASSREGISTRY_H
19
#define LLVM_CODEGEN_MACHINEPASSREGISTRY_H
20
21
#include "llvm/ADT/StringRef.h"
22
#include "llvm/CodeGen/Passes.h"
23
#include "llvm/Support/CommandLine.h"
24
25
namespace llvm {
26
27
//===----------------------------------------------------------------------===//
28
///
29
/// MachinePassRegistryListener - Listener to adds and removals of nodes in
30
/// registration list.
31
///
32
//===----------------------------------------------------------------------===//
33
template <class PassCtorTy> class MachinePassRegistryListener {
34
0
  virtual void anchor() {}
Unexecuted instantiation: llvm::MachinePassRegistryListener<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::anchor()
Unexecuted instantiation: llvm::MachinePassRegistryListener<llvm::FunctionPass* (*)()>::anchor()
Unexecuted instantiation: llvm::MachinePassRegistryListener<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::anchor()
35
36
public:
37
286k
  MachinePassRegistryListener() = default;
llvm::MachinePassRegistryListener<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::MachinePassRegistryListener()
Line
Count
Source
37
95.4k
  MachinePassRegistryListener() = default;
llvm::MachinePassRegistryListener<llvm::FunctionPass* (*)()>::MachinePassRegistryListener()
Line
Count
Source
37
95.4k
  MachinePassRegistryListener() = default;
llvm::MachinePassRegistryListener<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::MachinePassRegistryListener()
Line
Count
Source
37
95.4k
  MachinePassRegistryListener() = default;
38
286k
  virtual ~MachinePassRegistryListener() = default;
llvm::MachinePassRegistryListener<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::~MachinePassRegistryListener()
Line
Count
Source
38
95.4k
  virtual ~MachinePassRegistryListener() = default;
llvm::MachinePassRegistryListener<llvm::FunctionPass* (*)()>::~MachinePassRegistryListener()
Line
Count
Source
38
95.4k
  virtual ~MachinePassRegistryListener() = default;
llvm::MachinePassRegistryListener<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::~MachinePassRegistryListener()
Line
Count
Source
38
95.4k
  virtual ~MachinePassRegistryListener() = default;
39
40
  virtual void NotifyAdd(StringRef N, PassCtorTy C, StringRef D) = 0;
41
  virtual void NotifyRemove(StringRef N) = 0;
42
};
43
44
//===----------------------------------------------------------------------===//
45
///
46
/// MachinePassRegistryNode - Machine pass node stored in registration list.
47
///
48
//===----------------------------------------------------------------------===//
49
template <typename PassCtorTy> class MachinePassRegistryNode {
50
private:
51
  MachinePassRegistryNode *Next = nullptr; // Next function pass in list.
52
  StringRef Name;                       // Name of function pass.
53
  StringRef Description;                // Description string.
54
  PassCtorTy Ctor;                      // Pass creator.
55
56
public:
57
  MachinePassRegistryNode(const char *N, const char *D, PassCtorTy C)
58
2.14M
      : Name(N), Description(D), Ctor(C) {}
llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::MachinePassRegistryNode(char const*, char const*, llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*))
Line
Count
Source
58
1.04M
      : Name(N), Description(D), Ctor(C) {}
llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>::MachinePassRegistryNode(char const*, char const*, llvm::FunctionPass* (*)())
Line
Count
Source
58
477k
      : Name(N), Description(D), Ctor(C) {}
llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::MachinePassRegistryNode(char const*, char const*, llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level))
Line
Count
Source
58
616k
      : Name(N), Description(D), Ctor(C) {}
59
60
  // Accessors
61
3.70M
  MachinePassRegistryNode *getNext()      const { return Next; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::getNext() const
Line
Count
Source
61
1.71M
  MachinePassRegistryNode *getNext()      const { return Next; }
llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>::getNext() const
Line
Count
Source
61
858k
  MachinePassRegistryNode *getNext()      const { return Next; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getNext() const
Line
Count
Source
61
1.13M
  MachinePassRegistryNode *getNext()      const { return Next; }
62
0
  MachinePassRegistryNode **getNextAddress()    { return &Next; }
Unexecuted instantiation: llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::getNextAddress()
Unexecuted instantiation: llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>::getNextAddress()
Unexecuted instantiation: llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getNextAddress()
63
2.71M
  StringRef getName()                   const { return Name; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::getName() const
Line
Count
Source
63
1.42M
  StringRef getName()                   const { return Name; }
llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>::getName() const
Line
Count
Source
63
572k
  StringRef getName()                   const { return Name; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getName() const
Line
Count
Source
63
711k
  StringRef getName()                   const { return Name; }
64
2.14M
  StringRef getDescription()            const { return Description; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::getDescription() const
Line
Count
Source
64
1.04M
  StringRef getDescription()            const { return Description; }
llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>::getDescription() const
Line
Count
Source
64
477k
  StringRef getDescription()            const { return Description; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getDescription() const
Line
Count
Source
64
616k
  StringRef getDescription()            const { return Description; }
65
2.14M
  PassCtorTy getCtor() const { return Ctor; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::getCtor() const
Line
Count
Source
65
1.04M
  PassCtorTy getCtor() const { return Ctor; }
llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>::getCtor() const
Line
Count
Source
65
477k
  PassCtorTy getCtor() const { return Ctor; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getCtor() const
Line
Count
Source
65
616k
  PassCtorTy getCtor() const { return Ctor; }
66
2.14M
  void setNext(MachinePassRegistryNode *N)      { Next = N; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::setNext(llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>*)
Line
Count
Source
66
1.04M
  void setNext(MachinePassRegistryNode *N)      { Next = N; }
llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>::setNext(llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>*)
Line
Count
Source
66
477k
  void setNext(MachinePassRegistryNode *N)      { Next = N; }
llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::setNext(llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>*)
Line
Count
Source
66
616k
  void setNext(MachinePassRegistryNode *N)      { Next = N; }
67
};
68
69
//===----------------------------------------------------------------------===//
70
///
71
/// MachinePassRegistry - Track the registration of machine passes.
72
///
73
//===----------------------------------------------------------------------===//
74
template <typename PassCtorTy> class MachinePassRegistry {
75
private:
76
  MachinePassRegistryNode<PassCtorTy> *List; // List of registry nodes.
77
  PassCtorTy Default;                        // Default function pass creator.
78
  MachinePassRegistryListener<PassCtorTy>
79
      *Listener; // Listener for list adds are removes.
80
81
public:
82
  // NO CONSTRUCTOR - we don't want static constructor ordering to mess
83
  // with the registry.
84
85
  // Accessors.
86
  //
87
286k
  MachinePassRegistryNode<PassCtorTy> *getList() { return List; }
llvm::MachinePassRegistry<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::getList()
Line
Count
Source
87
95.4k
  MachinePassRegistryNode<PassCtorTy> *getList() { return List; }
llvm::MachinePassRegistry<llvm::FunctionPass* (*)()>::getList()
Line
Count
Source
87
95.4k
  MachinePassRegistryNode<PassCtorTy> *getList() { return List; }
llvm::MachinePassRegistry<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::getList()
Line
Count
Source
87
95.4k
  MachinePassRegistryNode<PassCtorTy> *getList() { return List; }
88
67.4k
  PassCtorTy getDefault() { return Default; }
89
33.5k
  void setDefault(PassCtorTy C) { Default = C; }
90
  /// setDefault - Set the default constructor by name.
91
  void setDefault(StringRef Name) {
92
    PassCtorTy Ctor = nullptr;
93
    for (MachinePassRegistryNode<PassCtorTy> *R = getList(); R;
94
         R = R->getNext()) {
95
      if (R->getName() == Name) {
96
        Ctor = R->getCtor();
97
        break;
98
      }
99
    }
100
    assert(Ctor && "Unregistered pass name");
101
    setDefault(Ctor);
102
  }
103
572k
  void setListener(MachinePassRegistryListener<PassCtorTy> *L) { Listener = L; }
llvm::MachinePassRegistry<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::setListener(llvm::MachinePassRegistryListener<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>*)
Line
Count
Source
103
190k
  void setListener(MachinePassRegistryListener<PassCtorTy> *L) { Listener = L; }
llvm::MachinePassRegistry<llvm::FunctionPass* (*)()>::setListener(llvm::MachinePassRegistryListener<llvm::FunctionPass* (*)()>*)
Line
Count
Source
103
190k
  void setListener(MachinePassRegistryListener<PassCtorTy> *L) { Listener = L; }
llvm::MachinePassRegistry<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::setListener(llvm::MachinePassRegistryListener<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>*)
Line
Count
Source
103
190k
  void setListener(MachinePassRegistryListener<PassCtorTy> *L) { Listener = L; }
104
105
  /// Add - Adds a function pass to the registration list.
106
  ///
107
2.14M
  void Add(MachinePassRegistryNode<PassCtorTy> *Node) {
108
2.14M
    Node->setNext(List);
109
2.14M
    List = Node;
110
2.14M
    if (Listener)
111
572k
      Listener->NotifyAdd(Node->getName(), Node->getCtor(),
112
572k
                          Node->getDescription());
113
2.14M
  }
llvm::MachinePassRegistry<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::Add(llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>*)
Line
Count
Source
107
1.04M
  void Add(MachinePassRegistryNode<PassCtorTy> *Node) {
108
1.04M
    Node->setNext(List);
109
1.04M
    List = Node;
110
1.04M
    if (Listener)
111
381k
      Listener->NotifyAdd(Node->getName(), Node->getCtor(),
112
381k
                          Node->getDescription());
113
1.04M
  }
llvm::MachinePassRegistry<llvm::FunctionPass* (*)()>::Add(llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>*)
Line
Count
Source
107
477k
  void Add(MachinePassRegistryNode<PassCtorTy> *Node) {
108
477k
    Node->setNext(List);
109
477k
    List = Node;
110
477k
    if (Listener)
111
95.4k
      Listener->NotifyAdd(Node->getName(), Node->getCtor(),
112
95.4k
                          Node->getDescription());
113
477k
  }
llvm::MachinePassRegistry<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::Add(llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>*)
Line
Count
Source
107
616k
  void Add(MachinePassRegistryNode<PassCtorTy> *Node) {
108
616k
    Node->setNext(List);
109
616k
    List = Node;
110
616k
    if (Listener)
111
95.4k
      Listener->NotifyAdd(Node->getName(), Node->getCtor(),
112
95.4k
                          Node->getDescription());
113
616k
  }
114
115
  /// Remove - Removes a function pass from the registration list.
116
  ///
117
2.14M
  void Remove(MachinePassRegistryNode<PassCtorTy> *Node) {
118
2.14M
    for (MachinePassRegistryNode<PassCtorTy> **I = &List; *I;
119
2.14M
         
I = (*I)->getNextAddress()0
) {
120
2.14M
      if (*I == Node) {
121
2.14M
        if (Listener)
122
572k
          Listener->NotifyRemove(Node->getName());
123
2.14M
        *I = (*I)->getNext();
124
2.14M
        break;
125
2.14M
      }
126
2.14M
    }
127
2.14M
  }
llvm::MachinePassRegistry<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::Remove(llvm::MachinePassRegistryNode<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>*)
Line
Count
Source
117
1.04M
  void Remove(MachinePassRegistryNode<PassCtorTy> *Node) {
118
1.04M
    for (MachinePassRegistryNode<PassCtorTy> **I = &List; *I;
119
1.04M
         
I = (*I)->getNextAddress()0
) {
120
1.04M
      if (*I == Node) {
121
1.04M
        if (Listener)
122
381k
          Listener->NotifyRemove(Node->getName());
123
1.04M
        *I = (*I)->getNext();
124
1.04M
        break;
125
1.04M
      }
126
1.04M
    }
127
1.04M
  }
llvm::MachinePassRegistry<llvm::FunctionPass* (*)()>::Remove(llvm::MachinePassRegistryNode<llvm::FunctionPass* (*)()>*)
Line
Count
Source
117
477k
  void Remove(MachinePassRegistryNode<PassCtorTy> *Node) {
118
477k
    for (MachinePassRegistryNode<PassCtorTy> **I = &List; *I;
119
477k
         
I = (*I)->getNextAddress()0
) {
120
477k
      if (*I == Node) {
121
477k
        if (Listener)
122
95.4k
          Listener->NotifyRemove(Node->getName());
123
477k
        *I = (*I)->getNext();
124
477k
        break;
125
477k
      }
126
477k
    }
127
477k
  }
llvm::MachinePassRegistry<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>::Remove(llvm::MachinePassRegistryNode<llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level)>*)
Line
Count
Source
117
616k
  void Remove(MachinePassRegistryNode<PassCtorTy> *Node) {
118
616k
    for (MachinePassRegistryNode<PassCtorTy> **I = &List; *I;
119
616k
         
I = (*I)->getNextAddress()0
) {
120
616k
      if (*I == Node) {
121
616k
        if (Listener)
122
95.4k
          Listener->NotifyRemove(Node->getName());
123
616k
        *I = (*I)->getNext();
124
616k
        break;
125
616k
      }
126
616k
    }
127
616k
  }
128
};
129
130
//===----------------------------------------------------------------------===//
131
///
132
/// RegisterPassParser class - Handle the addition of new machine passes.
133
///
134
//===----------------------------------------------------------------------===//
135
template <class RegistryClass>
136
class RegisterPassParser
137
    : public MachinePassRegistryListener<
138
          typename RegistryClass::FunctionPassCtor>,
139
      public cl::parser<typename RegistryClass::FunctionPassCtor> {
140
public:
141
  RegisterPassParser(cl::Option &O)
142
286k
      : cl::parser<typename RegistryClass::FunctionPassCtor>(O) {}
llvm::RegisterPassParser<llvm::MachineSchedRegistry>::RegisterPassParser(llvm::cl::Option&)
Line
Count
Source
142
95.4k
      : cl::parser<typename RegistryClass::FunctionPassCtor>(O) {}
llvm::RegisterPassParser<llvm::RegisterRegAlloc>::RegisterPassParser(llvm::cl::Option&)
Line
Count
Source
142
95.4k
      : cl::parser<typename RegistryClass::FunctionPassCtor>(O) {}
llvm::RegisterPassParser<llvm::RegisterScheduler>::RegisterPassParser(llvm::cl::Option&)
Line
Count
Source
142
95.4k
      : cl::parser<typename RegistryClass::FunctionPassCtor>(O) {}
143
286k
  ~RegisterPassParser() override { RegistryClass::setListener(nullptr); }
llvm::RegisterPassParser<llvm::MachineSchedRegistry>::~RegisterPassParser()
Line
Count
Source
143
95.4k
  ~RegisterPassParser() override { RegistryClass::setListener(nullptr); }
llvm::RegisterPassParser<llvm::RegisterRegAlloc>::~RegisterPassParser()
Line
Count
Source
143
95.4k
  ~RegisterPassParser() override { RegistryClass::setListener(nullptr); }
llvm::RegisterPassParser<llvm::RegisterScheduler>::~RegisterPassParser()
Line
Count
Source
143
95.4k
  ~RegisterPassParser() override { RegistryClass::setListener(nullptr); }
144
145
286k
  void initialize() {
146
286k
    cl::parser<typename RegistryClass::FunctionPassCtor>::initialize();
147
286k
148
286k
    // Add existing passes to option.
149
286k
    for (RegistryClass *Node = RegistryClass::getList();
150
1.85M
         Node; 
Node = Node->getNext()1.56M
) {
151
1.56M
      this->addLiteralOption(Node->getName(),
152
1.56M
                      (typename RegistryClass::FunctionPassCtor)Node->getCtor(),
153
1.56M
                             Node->getDescription());
154
1.56M
    }
155
286k
156
286k
    // Make sure we listen for list changes.
157
286k
    RegistryClass::setListener(this);
158
286k
  }
llvm::RegisterPassParser<llvm::MachineSchedRegistry>::initialize()
Line
Count
Source
145
95.4k
  void initialize() {
146
95.4k
    cl::parser<typename RegistryClass::FunctionPassCtor>::initialize();
147
95.4k
148
95.4k
    // Add existing passes to option.
149
95.4k
    for (RegistryClass *Node = RegistryClass::getList();
150
761k
         Node; 
Node = Node->getNext()665k
) {
151
665k
      this->addLiteralOption(Node->getName(),
152
665k
                      (typename RegistryClass::FunctionPassCtor)Node->getCtor(),
153
665k
                             Node->getDescription());
154
665k
    }
155
95.4k
156
95.4k
    // Make sure we listen for list changes.
157
95.4k
    RegistryClass::setListener(this);
158
95.4k
  }
llvm::RegisterPassParser<llvm::RegisterRegAlloc>::initialize()
Line
Count
Source
145
95.4k
  void initialize() {
146
95.4k
    cl::parser<typename RegistryClass::FunctionPassCtor>::initialize();
147
95.4k
148
95.4k
    // Add existing passes to option.
149
95.4k
    for (RegistryClass *Node = RegistryClass::getList();
150
477k
         Node; 
Node = Node->getNext()381k
) {
151
381k
      this->addLiteralOption(Node->getName(),
152
381k
                      (typename RegistryClass::FunctionPassCtor)Node->getCtor(),
153
381k
                             Node->getDescription());
154
381k
    }
155
95.4k
156
95.4k
    // Make sure we listen for list changes.
157
95.4k
    RegistryClass::setListener(this);
158
95.4k
  }
llvm::RegisterPassParser<llvm::RegisterScheduler>::initialize()
Line
Count
Source
145
95.4k
  void initialize() {
146
95.4k
    cl::parser<typename RegistryClass::FunctionPassCtor>::initialize();
147
95.4k
148
95.4k
    // Add existing passes to option.
149
95.4k
    for (RegistryClass *Node = RegistryClass::getList();
150
616k
         Node; 
Node = Node->getNext()520k
) {
151
520k
      this->addLiteralOption(Node->getName(),
152
520k
                      (typename RegistryClass::FunctionPassCtor)Node->getCtor(),
153
520k
                             Node->getDescription());
154
520k
    }
155
95.4k
156
95.4k
    // Make sure we listen for list changes.
157
95.4k
    RegistryClass::setListener(this);
158
95.4k
  }
159
160
  // Implement the MachinePassRegistryListener callbacks.
161
  void NotifyAdd(StringRef N, typename RegistryClass::FunctionPassCtor C,
162
572k
                 StringRef D) override {
163
572k
    this->addLiteralOption(N, C, D);
164
572k
  }
llvm::RegisterPassParser<llvm::MachineSchedRegistry>::NotifyAdd(llvm::StringRef, llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*), llvm::StringRef)
Line
Count
Source
162
381k
                 StringRef D) override {
163
381k
    this->addLiteralOption(N, C, D);
164
381k
  }
llvm::RegisterPassParser<llvm::RegisterRegAlloc>::NotifyAdd(llvm::StringRef, llvm::FunctionPass* (*)(), llvm::StringRef)
Line
Count
Source
162
95.4k
                 StringRef D) override {
163
95.4k
    this->addLiteralOption(N, C, D);
164
95.4k
  }
llvm::RegisterPassParser<llvm::RegisterScheduler>::NotifyAdd(llvm::StringRef, llvm::ScheduleDAGSDNodes* (*)(llvm::SelectionDAGISel*, llvm::CodeGenOpt::Level), llvm::StringRef)
Line
Count
Source
162
95.4k
                 StringRef D) override {
163
95.4k
    this->addLiteralOption(N, C, D);
164
95.4k
  }
165
572k
  void NotifyRemove(StringRef N) override {
166
572k
    this->removeLiteralOption(N);
167
572k
  }
llvm::RegisterPassParser<llvm::MachineSchedRegistry>::NotifyRemove(llvm::StringRef)
Line
Count
Source
165
381k
  void NotifyRemove(StringRef N) override {
166
381k
    this->removeLiteralOption(N);
167
381k
  }
llvm::RegisterPassParser<llvm::RegisterRegAlloc>::NotifyRemove(llvm::StringRef)
Line
Count
Source
165
95.4k
  void NotifyRemove(StringRef N) override {
166
95.4k
    this->removeLiteralOption(N);
167
95.4k
  }
llvm::RegisterPassParser<llvm::RegisterScheduler>::NotifyRemove(llvm::StringRef)
Line
Count
Source
165
95.4k
  void NotifyRemove(StringRef N) override {
166
95.4k
    this->removeLiteralOption(N);
167
95.4k
  }
168
};
169
170
} // end namespace llvm
171
172
#endif // LLVM_CODEGEN_MACHINEPASSREGISTRY_H