LLVM 23.0.0git
Analysis.h File Reference

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Functions

LLVM_ABI unsigned llvm::ComputeLinearIndex (Type *Ty, const unsigned *Indices, const unsigned *IndicesEnd, unsigned CurIndex=0)
 Compute the linearized index of a member in a nested aggregate/struct/array.
unsigned llvm::ComputeLinearIndex (Type *Ty, ArrayRef< unsigned > Indices, unsigned CurIndex=0)
LLVM_ABI void llvm::ComputeValueTypes (const DataLayout &DL, Type *Ty, SmallVectorImpl< Type * > &Types, SmallVectorImpl< TypeSize > *Offsets=nullptr, TypeSize StartingOffset=TypeSize::getZero())
 Given an LLVM IR type, compute non-aggregate subtypes.
LLVM_ABI void llvm::ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< EVT > *MemVTs=nullptr, SmallVectorImpl< TypeSize > *Offsets=nullptr, TypeSize StartingOffset=TypeSize::getZero())
 ComputeValueVTs - Given an LLVM IR type, compute a sequence of EVTs that represent all the individual underlying non-aggregate types that comprise it.
LLVM_ABI void llvm::ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< EVT > *MemVTs, SmallVectorImpl< uint64_t > *FixedOffsets, uint64_t StartingOffset)
LLVM_ABI void llvm::computeValueLLTs (const DataLayout &DL, Type &Ty, SmallVectorImpl< LLT > &ValueLLTs, SmallVectorImpl< TypeSize > *Offsets=nullptr, TypeSize StartingOffset=TypeSize::getZero())
 computeValueLLTs - Given an LLVM IR type, compute a sequence of LLTs that represent all the individual underlying non-aggregate types that comprise it.
LLVM_ABI void llvm::computeValueLLTs (const DataLayout &DL, Type &Ty, SmallVectorImpl< LLT > &ValueLLTs, SmallVectorImpl< uint64_t > *FixedOffsets, uint64_t FixedStartingOffset=0)
LLVM_ABI GlobalValuellvm::ExtractTypeInfo (Value *V)
 ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.
LLVM_ABI ISD::CondCode llvm::getFCmpCondCode (FCmpInst::Predicate Pred)
 getFCmpCondCode - Return the ISD condition code corresponding to the given LLVM IR floating-point condition code.
LLVM_ABI ISD::CondCode llvm::getFCmpCodeWithoutNaN (ISD::CondCode CC)
 getFCmpCodeWithoutNaN - Given an ISD condition code comparing floats, return the equivalent code if we're allowed to assume that NaNs won't occur.
LLVM_ABI ISD::CondCode llvm::getICmpCondCode (ICmpInst::Predicate Pred)
 getICmpCondCode - Return the ISD condition code corresponding to the given LLVM IR integer condition code.
LLVM_ABI ICmpInst::Predicate llvm::getICmpCondCode (ISD::CondCode Pred)
 getICmpCondCode - Return the LLVM IR integer condition code corresponding to the given ISD integer condition code.
LLVM_ABI bool llvm::isInTailCallPosition (const CallBase &Call, const TargetMachine &TM, bool ReturnsFirstArg=false)
 Test if the given instruction is in a position to be optimized with a tail-call.
LLVM_ABI bool llvm::attributesPermitTailCall (const Function *F, const Instruction *I, const ReturnInst *Ret, const TargetLoweringBase &TLI, bool *AllowDifferingSizes=nullptr)
 Test if given that the input instruction is in the tail call position, if there is an attribute mismatch between the caller and the callee that will inhibit tail call optimizations.
LLVM_ABI bool llvm::returnTypeIsEligibleForTailCall (const Function *F, const Instruction *I, const ReturnInst *Ret, const TargetLoweringBase &TLI, bool ReturnsFirstArg=false)
 Test if given that the input instruction is in the tail call position if the return type or any attributes of the function will inhibit tail call optimization.
LLVM_ABI bool llvm::funcReturnsFirstArgOfCall (const CallInst &CI)
 Returns true if the parent of CI returns CI's first argument after calling CI.
LLVM_ABI DenseMap< const MachineBasicBlock *, int > llvm::getEHScopeMembership (const MachineFunction &MF)