diff options
author | Anand Shukla <ashukla@cs.uiuc.edu> | 2002-07-16 18:55:55 +0000 |
---|---|---|
committer | Anand Shukla <ashukla@cs.uiuc.edu> | 2002-07-16 18:55:55 +0000 |
commit | 11870879ec5247c4defdaecd28863a8b57f50905 (patch) | |
tree | 8ab7faffed3521a43cd213f387a9b116c7a754a7 /lib/Transforms | |
parent | 8b1b4e20a98fd621ebcc3a7a2783c3e25e63ff4a (diff) | |
download | external_llvm-11870879ec5247c4defdaecd28863a8b57f50905.zip external_llvm-11870879ec5247c4defdaecd28863a8b57f50905.tar.gz external_llvm-11870879ec5247c4defdaecd28863a8b57f50905.tar.bz2 |
Moved EmitFunctions.cpp up to instrumentation directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2926 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Instrumentation/ProfilePaths/EmitFunctions/EmitFunctions.cpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/lib/Transforms/Instrumentation/ProfilePaths/EmitFunctions/EmitFunctions.cpp b/lib/Transforms/Instrumentation/ProfilePaths/EmitFunctions/EmitFunctions.cpp deleted file mode 100644 index 2d9b9a7..0000000 --- a/lib/Transforms/Instrumentation/ProfilePaths/EmitFunctions/EmitFunctions.cpp +++ /dev/null @@ -1,45 +0,0 @@ -//===-- EmitFunctions.cpp - interface to insert instrumentation --*- C++ -*--=// -// -// This inserts a global constant table with function pointers all along -// -//===----------------------------------------------------------------------===// - -#include "llvm/Transforms/Instrumentation/EmitFunctions.h" -#include "llvm/Constants.h" -#include "llvm/DerivedTypes.h" -#include "llvm/Constants.h" -#include "llvm/Module.h" - -using std::vector; - -struct EmitFunctionTable : public Pass { - const char *getPassName() const { return "EmitFunctionTablePass"; } - - bool run(Module &M); -}; - -// Create a new pass to add function table -// -Pass *createEmitFunctionTablePass() { - return new EmitFunctionTable(); -} - -// Per Module pass for inserting function table -bool EmitFunctionTable::run(Module &M){ - vector<const Type*> vType; - vector<Constant *> vConsts; - for(Module::iterator MI = M.begin(), ME = M.end(); MI!=ME; ++MI) - if (!MI->isExternal()) { - ConstantPointerRef *CP = ConstantPointerRef::get(MI); - vType.push_back(MI->getType()); - vConsts.push_back(CP); - } - - StructType *sttype = StructType::get(vType); - ConstantStruct *cstruct = ConstantStruct::get(sttype, vConsts); - - GlobalVariable *gb = new GlobalVariable(cstruct->getType(), true, false, - cstruct, "llvmFunctionTable"); - M.getGlobalList().push_back(gb); - return true; // Always modifies program -} |