LLVM API Documentation
#include "llvm/Transforms/IPO.h"#include "llvm/Constant.h"#include "llvm/Instructions.h"#include "llvm/Module.h"#include "llvm/Pass.h"#include "llvm/ADT/Statistic.h"#include "llvm/Transforms/Utils/Cloning.h"#include "llvm/Support/CallSite.h"#include "llvm/Support/Compiler.h"#include "llvm/ADT/DenseSet.h"#include <map>

Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "partialspecialization" |
Functions | |
| STATISTIC (numSpecialized,"Number of specialized functions created") | |
| static Function * | SpecializeFunction (Function *F, DenseMap< const Value *, Value * > &replacements) |
| ModulePass * | llvm::createPartialSpecializationPass () |
Variables | |
| static const int | CallsMin = 5 |
| static const double | ConstValPercent = .1 |
| static RegisterPass< PartSpec > | X ("partialspecialization","Partial Specialization") |
| #define DEBUG_TYPE "partialspecialization" |
Definition at line 21 of file PartialSpecialization.cpp.
| static Function* SpecializeFunction | ( | Function * | F, | |
| DenseMap< const Value *, Value * > & | replacements | |||
| ) | [static] |
Definition at line 62 of file PartialSpecialization.cpp.
References llvm::CallSite::arg_size(), llvm::SmallVectorImpl< T >::begin(), llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::begin(), llvm::CloneFunction(), llvm::DenseSet< ValueT, ValueInfoT >::count(), llvm::SmallVectorImpl< T >::end(), llvm::DenseMap< KeyT, ValueT, KeyInfoT, ValueInfoT >::end(), llvm::Instruction::eraseFromParent(), llvm::CallSite::getArgument(), llvm::CallSite::getCalledFunction(), llvm::Module::getFunctionList(), llvm::CallSite::getInstruction(), llvm::Value::getName(), llvm::GlobalValue::getParent(), llvm::DenseSet< ValueT, ValueInfoT >::insert(), llvm::SmallVectorImpl< T >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::GlobalValue::setLinkage(), llvm::Value::use_begin(), and llvm::Value::use_end().
| STATISTIC | ( | numSpecialized | , | |
| "Number of specialized functions created" | ||||
| ) |
const int CallsMin = 5 [static] |
Definition at line 38 of file PartialSpecialization.cpp.
const double ConstValPercent = .1 [static] |
Definition at line 41 of file PartialSpecialization.cpp.
char ID [static] |
Definition at line 48 of file PartialSpecialization.cpp.
RegisterPass<PartSpec> X("partialspecialization","Partial Specialization") [static] |
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.