diff include/llvm/PassInfo.h @ 121:803732b1fca8

LLVM 5.0
author kono
date Fri, 27 Oct 2017 17:07:41 +0900
parents 1172e4bd9c6f
children c2174574ed3a
line wrap: on
line diff
--- a/include/llvm/PassInfo.h	Fri Nov 25 19:14:25 2016 +0900
+++ b/include/llvm/PassInfo.h	Fri Oct 27 17:07:41 2017 +0900
@@ -10,18 +10,17 @@
 // This file defines and implements the PassInfo class.
 //
 //===----------------------------------------------------------------------===//
+
 #ifndef LLVM_PASSINFO_H
 #define LLVM_PASSINFO_H
 
 #include "llvm/ADT/StringRef.h"
-
 #include <cassert>
 #include <vector>
 
 namespace llvm {
 
 class Pass;
-class TargetMachine;
 
 //===---------------------------------------------------------------------------
 /// PassInfo class - An instance of this class exists for every pass known by
@@ -31,46 +30,41 @@
 ///
 class PassInfo {
 public:
-  typedef Pass* (*NormalCtor_t)();
-  typedef Pass *(*TargetMachineCtor_t)(TargetMachine *);
+  using NormalCtor_t = Pass* (*)();
 
 private:
   StringRef PassName;     // Nice name for Pass
   StringRef PassArgument; // Command Line argument to run this pass
   const void *PassID;
-  const bool IsCFGOnlyPass;              // Pass only looks at the CFG.
+  const bool IsCFGOnlyPass = false;      // Pass only looks at the CFG.
   const bool IsAnalysis;                 // True if an analysis pass.
   const bool IsAnalysisGroup;            // True if an analysis group.
   std::vector<const PassInfo *> ItfImpl; // Interfaces implemented by this pass
-
-  NormalCtor_t NormalCtor;
-  TargetMachineCtor_t TargetMachineCtor;
+  NormalCtor_t NormalCtor = nullptr;
 
 public:
   /// PassInfo ctor - Do not call this directly, this should only be invoked
   /// through RegisterPass.
   PassInfo(StringRef name, StringRef arg, const void *pi, NormalCtor_t normal,
-           bool isCFGOnly, bool is_analysis,
-           TargetMachineCtor_t machine = nullptr)
+           bool isCFGOnly, bool is_analysis)
       : PassName(name), PassArgument(arg), PassID(pi), IsCFGOnlyPass(isCFGOnly),
-        IsAnalysis(is_analysis), IsAnalysisGroup(false), NormalCtor(normal),
-        TargetMachineCtor(machine) {}
+        IsAnalysis(is_analysis), IsAnalysisGroup(false), NormalCtor(normal) {}
+
   /// PassInfo ctor - Do not call this directly, this should only be invoked
   /// through RegisterPass. This version is for use by analysis groups; it
   /// does not auto-register the pass.
   PassInfo(StringRef name, const void *pi)
-      : PassName(name), PassArgument(""), PassID(pi), IsCFGOnlyPass(false),
-        IsAnalysis(false), IsAnalysisGroup(true), NormalCtor(nullptr),
-        TargetMachineCtor(nullptr) {}
+      : PassName(name), PassID(pi), IsAnalysis(false), IsAnalysisGroup(true) {}
+
+  PassInfo(const PassInfo &) = delete;
+  PassInfo &operator=(const PassInfo &) = delete;
 
   /// getPassName - Return the friendly name for the pass, never returns null
-  ///
   StringRef getPassName() const { return PassName; }
 
   /// getPassArgument - Return the command line option that may be passed to
   /// 'opt' that will cause this pass to be run.  This will return null if there
   /// is no argument.
-  ///
   StringRef getPassArgument() const { return PassArgument; }
 
   /// getTypeInfo - Return the id object for the pass...
@@ -82,7 +76,6 @@
 
   /// isAnalysisGroup - Return true if this is an analysis group, not a normal
   /// pass.
-  ///
   bool isAnalysisGroup() const { return IsAnalysisGroup; }
   bool isAnalysis() const { return IsAnalysis; }
 
@@ -93,7 +86,6 @@
   /// getNormalCtor - Return a pointer to a function, that when called, creates
   /// an instance of the pass and returns it.  This pointer may be null if there
   /// is no default constructor for the pass.
-  ///
   NormalCtor_t getNormalCtor() const {
     return NormalCtor;
   }
@@ -101,16 +93,6 @@
     NormalCtor = Ctor;
   }
 
-  /// getTargetMachineCtor - Return a pointer to a function, that when called
-  /// with a TargetMachine, creates an instance of the pass and returns it.
-  /// This pointer may be null if there is no constructor with a TargetMachine
-  /// for the pass.
-  ///
-  TargetMachineCtor_t getTargetMachineCtor() const { return TargetMachineCtor; }
-  void setTargetMachineCtor(TargetMachineCtor_t Ctor) {
-    TargetMachineCtor = Ctor;
-  }
-
   /// createPass() - Use this method to create an instance of this pass.
   Pass *createPass() const {
     assert((!isAnalysisGroup() || NormalCtor) &&
@@ -123,23 +105,17 @@
   /// addInterfaceImplemented - This method is called when this pass is
   /// registered as a member of an analysis group with the RegisterAnalysisGroup
   /// template.
-  ///
   void addInterfaceImplemented(const PassInfo *ItfPI) {
     ItfImpl.push_back(ItfPI);
   }
 
   /// getInterfacesImplemented - Return a list of all of the analysis group
   /// interfaces implemented by this pass.
-  ///
   const std::vector<const PassInfo*> &getInterfacesImplemented() const {
     return ItfImpl;
   }
-
-private:
-  void operator=(const PassInfo &) = delete;
-  PassInfo(const PassInfo &) = delete;
 };
 
-}
+} // end namespace llvm
 
-#endif
+#endif // LLVM_PASSINFO_H