[llvm-commits] CVS: llvm/lib/Analysis/ProfileInfoLoaderPass.cpp
Chris Lattner
lattner at cs.uiuc.edu
Wed Feb 11 00:11:14 PST 2004
Changes in directory llvm/lib/Analysis:
ProfileInfoLoaderPass.cpp added (r1.1)
---
Log message:
Add skeleton profileinfoloader pass. This will be enhanced to actually LOAD
a profile tommorow. :)
---
Diffs of the changes: (+58 -0)
Index: llvm/lib/Analysis/ProfileInfoLoaderPass.cpp
diff -c /dev/null llvm/lib/Analysis/ProfileInfoLoaderPass.cpp:1.1
*** /dev/null Wed Feb 11 00:10:45 2004
--- llvm/lib/Analysis/ProfileInfoLoaderPass.cpp Wed Feb 11 00:10:05 2004
***************
*** 0 ****
--- 1,58 ----
+ //===- ProfileInfoLoaderPass.cpp - LLVM Pass to load profile info ---------===//
+ //
+ // 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 a concrete implementation of profiling information that
+ // loads the information from a profile dump file.
+ //
+ //===----------------------------------------------------------------------===//
+
+ #include "llvm/Pass.h"
+ #include "llvm/Analysis/ProfileInfo.h"
+ #include "llvm/Analysis/ProfileInfoLoader.h"
+ using namespace llvm;
+
+ namespace {
+ class LoaderPass : public Pass, public ProfileInfo {
+ std::string Filename;
+ public:
+ LoaderPass(const std::string &filename = "llvmprof.out")
+ : Filename(filename) {}
+
+ virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.setPreservesAll();
+ }
+
+ virtual const char *getPassName() const {
+ return "Profiling information loader";
+ }
+
+ /// run - Load the profile information from the specified file.
+ virtual bool run(Module &M);
+
+ unsigned getExecutionCount(BasicBlock *BB) { return 0; }
+ };
+
+ RegisterOpt<LoaderPass>
+ X("profile-loader", "Load profile information from llvmprof.out");
+
+ RegisterAnalysisGroup<ProfileInfo, LoaderPass> Y;
+ } // End of anonymous namespace
+
+
+ /// createProfileLoaderPass - This function returns a Pass that loads the
+ /// profiling information for the module from the specified filename, making it
+ /// available to the optimizers.
+ Pass *llvm::createProfileLoaderPass(const std::string &Filename) {
+ return new LoaderPass(Filename);
+ }
+
+ bool LoaderPass::run(Module &M) {
+
+ return false;
+ }
More information about the llvm-commits
mailing list