首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

LLVM 源码分析(3)ImmutablePass

2013-04-02 
LLVM 源码分析(三)ImmutablePass //----------------------------------///// ImmutablePass class

LLVM 源码分析(三)ImmutablePass

 

LLVM 源码分析(3)ImmutablePass
//===----------------------------------===///// ImmutablePass class - This class is used to provide information that does/// not need to be run.  This is useful for things like target information and/// "basic" versions of AnalysisGroups.///class ImmutablePass : public ModulePass {public:  /// initializePass - This method may be overriden by immutable passes to allow  /// them to perform various initialization actions they require.  This is  /// primarily because an ImmutablePass can "require" another ImmutablePass,  /// and if it does, the overloaded version of initializePass may get access to  /// these passes with getAnalysis<>.  ///  virtual void initializePass();  virtual ImmutablePass *getAsImmutablePass() { return this; }  /// ImmutablePasses are never run.  ///  bool runOnModule(Module &) { return false; }  explicit ImmutablePass(char &pid)  : ModulePass(pid) {}  // Force out-of-line virtual method.  virtual ~ImmutablePass();};


这个类里有现实的使用方式 但是这个基本是llvm 本身需求的 我们开发过程中很少会使用MachineModuleInfo.cpp 里面class MachineModuleInfo : public ImmutablePass

热点排行