LLVM 20.0.0git
Namespaces | Functions
Analysis.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/CodeGen/ISDOpcodes.h"
#include "llvm/IR/Instructions.h"

Go to the source code of this file.

Namespaces

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

Functions

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)
 
void llvm::ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< EVT > *MemVTs, 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.
 
void llvm::ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< EVT > *MemVTs, SmallVectorImpl< uint64_t > *FixedOffsets, uint64_t StartingOffset)
 
void llvm::ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< TypeSize > *Offsets=nullptr, TypeSize StartingOffset=TypeSize::getZero())
 Variant of ComputeValueVTs that don't produce memory VTs.
 
void llvm::ComputeValueVTs (const TargetLowering &TLI, const DataLayout &DL, Type *Ty, SmallVectorImpl< EVT > &ValueVTs, SmallVectorImpl< uint64_t > *FixedOffsets, uint64_t StartingOffset)
 
void llvm::computeValueLLTs (const DataLayout &DL, Type &Ty, SmallVectorImpl< LLT > &ValueTys, SmallVectorImpl< uint64_t > *Offsets=nullptr, uint64_t StartingOffset=0)
 computeValueLLTs - Given an LLVM IR type, compute a sequence of LLTs that represent all the individual underlying non-aggregate types that comprise it.
 
GlobalValuellvm::ExtractTypeInfo (Value *V)
 ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.
 
ISD::CondCode llvm::getFCmpCondCode (FCmpInst::Predicate Pred)
 getFCmpCondCode - Return the ISD condition code corresponding to the given LLVM IR floating-point condition code.
 
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.
 
ISD::CondCode llvm::getICmpCondCode (ICmpInst::Predicate Pred)
 getICmpCondCode - Return the ISD condition code corresponding to the given LLVM IR integer condition code.
 
ICmpInst::Predicate llvm::getICmpCondCode (ISD::CondCode Pred)
 getICmpCondCode - Return the LLVM IR integer condition code corresponding to the given ISD integer condition code.
 
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.
 
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.
 
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.
 
bool llvm::funcReturnsFirstArgOfCall (const CallInst &CI)
 Returns true if the parent of CI returns CI's first argument after calling CI.
 
DenseMap< const MachineBasicBlock *, int > llvm::getEHScopeMembership (const MachineFunction &MF)