LLVM  4.0.0
Classes | Namespaces | Functions
VectorUtils.h File Reference
#include "llvm/ADT/MapVector.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
Include dependency graph for VectorUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::ArrayRef< T >
 ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::Intrinsic
 This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.
 

Functions

bool llvm::isTriviallyVectorizable (Intrinsic::ID ID)
 Identify if the intrinsic is trivially vectorizable. More...
 
bool llvm::hasVectorInstrinsicScalarOpd (Intrinsic::ID ID, unsigned ScalarOpdIdx)
 Identifies if the intrinsic has a scalar operand. More...
 
Intrinsic::ID llvm::getVectorIntrinsicIDForCall (const CallInst *CI, const TargetLibraryInfo *TLI)
 Returns intrinsic ID for call. More...
 
unsigned llvm::getGEPInductionOperand (const GetElementPtrInst *Gep)
 Find the operand of the GEP that should be checked for consecutive stores. More...
 
Valuellvm::stripGetElementPtr (Value *Ptr, ScalarEvolution *SE, Loop *Lp)
 If the argument is a GEP, then returns the operand identified by getGEPInductionOperand. More...
 
Valuellvm::getUniqueCastUse (Value *Ptr, Loop *Lp, Type *Ty)
 If a value has only one user that is a CastInst, return it. More...
 
Valuellvm::getStrideFromPointer (Value *Ptr, ScalarEvolution *SE, Loop *Lp)
 Get the stride of a pointer access in a loop. More...
 
Valuellvm::findScalarElement (Value *V, unsigned EltNo)
 Given a vector and an element number, see if the scalar value is already around as a register, for example if it were inserted then extracted from the vector. More...
 
const Valuellvm::getSplatValue (const Value *V)
 Get splat value if the input is a splat vector or return nullptr. More...
 
MapVector< Instruction
*, uint64_t > 
llvm::computeMinimumValueSizes (ArrayRef< BasicBlock * > Blocks, DemandedBits &DB, const TargetTransformInfo *TTI=nullptr)
 Compute a map of integer instructions to their minimum legal type size. More...
 
Instructionllvm::propagateMetadata (Instruction *I, ArrayRef< Value * > VL)
 Specifically, let Kinds = [MD_tbaa, MD_alias_scope, MD_noalias, MD_fpmath, MD_nontemporal]. More...