From: Anand Shukla Date: Tue, 16 Jul 2002 18:55:55 +0000 (+0000) Subject: Moved EmitFunctions.cpp up to instrumentation directory X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=11870879ec5247c4defdaecd28863a8b57f50905;p=oota-llvm.git Moved EmitFunctions.cpp up to instrumentation directory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2926 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Instrumentation/ProfilePaths/EmitFunctions/EmitFunctions.cpp b/lib/Transforms/Instrumentation/ProfilePaths/EmitFunctions/EmitFunctions.cpp deleted file mode 100644 index 2d9b9a7c93c..00000000000 --- 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 vType; - vector 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 -}