LLVM
8.0.1
|
An optimization pass inserting data prefetches in loops. More...
#include "llvm/Transforms/Scalar/LoopDataPrefetch.h"
Public Member Functions | |
LoopDataPrefetchPass ()=default | |
PreservedAnalyses | run (Function &F, FunctionAnalysisManager &AM) |
Run the pass over the function. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::PassInfoMixin< LoopDataPrefetchPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. More... | |
An optimization pass inserting data prefetches in loops.
Definition at line 23 of file LoopDataPrefetch.h.
|
default |
PreservedAnalyses LoopDataPrefetchPass::run | ( | Function & | F, |
FunctionAnalysisManager & | AM | ||
) |
Run the pass over the function.
Definition at line 157 of file LoopDataPrefetch.cpp.
References llvm::abs(), llvm::PreservedAnalyses::all(), llvm::CodeMetrics::analyzeBasicBlock(), assert(), llvm::LoopBase< BlockT, LoopT >::blocks(), llvm::CodeMetrics::collectEphemeralValues(), llvm::IRBuilder< T, Inserter >::CreateCall(), llvm::dbgs(), DEBUG_TYPE, llvm::df_begin(), llvm::df_end(), llvm::dyn_cast(), llvm::LoopBase< BlockT, LoopT >::empty(), F(), llvm::ConstantInt::get(), llvm::Intrinsic::getDeclaration(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::Type::getInt32Ty(), llvm::Type::getInt8PtrTy(), llvm::Function::getIntrinsicID(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::Type::getPointerAddressSpace(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), llvm::SCEVAddRecExpr::getStepRecurrence(), llvm::SCEVNAryExpr::getType(), llvm::Value::getType(), I, llvm::Loop::isLoopInvariant(), llvm::isSafeToExpand(), llvm::AArch64CC::LE, LLVM_DEBUG, llvm::Instruction::mayReadFromMemory(), Metrics, llvm::CodeMetrics::NumInsts, llvm::X86II::PD, llvm::Intrinsic::prefetch, PrefetchWrites, llvm::PreservedAnalyses::preserve(), and runOnFunction().