LLVM
8.0.1
|
#include "llvm/Transforms/Utils/LowerMemIntrinsics.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
Go to the source code of this file.
Functions | |
static unsigned | getLoopOperandSizeInBytes (Type *Type) |
static void | createMemMoveLoop (Instruction *InsertBefore, Value *SrcAddr, Value *DstAddr, Value *CopyLen, unsigned SrcAlign, unsigned DestAlign, bool SrcIsVolatile, bool DstIsVolatile) |
static void | createMemSetLoop (Instruction *InsertBefore, Value *DstAddr, Value *CopyLen, Value *SetValue, unsigned Align, bool IsVolatile) |
|
static |
Definition at line 288 of file LowerMemIntrinsics.cpp.
References llvm::PHINode::addIncoming(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::Instruction::eraseFromParent(), F(), llvm::ConstantInt::get(), llvm::Function::getContext(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_ULT, llvm::Value::setName(), and llvm::SplitBlockAndInsertIfThenElse().
Referenced by llvm::expandMemMoveAsLoop().
|
static |
Definition at line 365 of file LowerMemIntrinsics.cpp.
References llvm::PHINode::addIncoming(), llvm::BasicBlock::Create(), llvm::IRBuilder< T, Inserter >::CreateAdd(), llvm::IRBuilder< T, Inserter >::CreateCondBr(), llvm::IRBuilder< T, Inserter >::CreateICmpULT(), llvm::IRBuilder< T, Inserter >::CreateInBoundsGEP(), llvm::IRBuilder< T, Inserter >::CreatePHI(), llvm::IRBuilder< T, Inserter >::CreateStore(), llvm::Instruction::eraseFromParent(), F(), llvm::ConstantInt::get(), llvm::PointerType::get(), llvm::Function::getContext(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), and llvm::BasicBlock::splitBasicBlock().
Referenced by llvm::expandMemSetAsLoop().
Definition at line 18 of file LowerMemIntrinsics.cpp.
References llvm::Type::getPrimitiveSizeInBits().
Referenced by llvm::createMemCpyLoopKnownSize(), and llvm::createMemCpyLoopUnknownSize().