llvm::FunctionPropertiesInfo

Collection of numeric and embedding properties for a single function.

Synopsis

Declared in <llvm/Analysis/FunctionPropertiesAnalysis.h>

class FunctionPropertiesInfo;

Member Functions

NameDescription
getFunctionEmbedding Return the IR2Vec embedding for the function.
getIR2VecVocab Return the IR2Vec vocabulary used for the embedding, if any.
print Print these function properties to OS.
setFunctionEmbeddingForTest Set the function embedding for unit tests.
operator== Return true if this info equals FPI.
operator!= Return true if this info differs from FPI.

Static Member Functions

NameDescription
getFunctionPropertiesInfo getFunctionPropertiesInfo overloads

Data Members

NameDescription
ArgumentOperandCount Number of argument operands.
BasicBlockCount Number of basic blocks
BasicBlockOperandCount Number of basic-block operands.
BasicBlocksWithMoreThanTwoPredecessors Number of basic blocks with more than two predecessors.
BasicBlocksWithMoreThanTwoSuccessors Number of basic blocks with more than two successors.
BasicBlocksWithSinglePredecessor Number of basic blocks with exactly one predecessor.
BasicBlocksWithSingleSuccessor Number of basic blocks with exactly one successor.
BasicBlocksWithTwoPredecessors Number of basic blocks with exactly two predecessors.
BasicBlocksWithTwoSuccessors Number of basic blocks with exactly two successors.
BigBasicBlocks Number of large basic blocks by non-debug instruction count.
BlocksReachedFromConditionalInstruction Number of blocks reached from a conditional instruction, or that are 'cases' of a SwitchInstr.
BranchInstructionCount Number of branch instructions.
BranchSuccessorCount Number of successors of branch instructions.
CallReturnsFloatCount Number of calls returning a floating-point value.
CallReturnsIntegerCount Number of calls returning an integer.
CallReturnsPointerCount Number of calls returning a pointer.
CallReturnsVectorFloatCount Number of calls returning a vector of floating-point values.
CallReturnsVectorIntCount Number of calls returning a vector of integers.
CallReturnsVectorPointerCount Number of calls returning a vector of pointers.
CallWithManyArgumentsCount Number of calls with many arguments.
CallWithPointerArgumentCount Number of calls with at least one pointer argument.
CastInstructionCount Number of cast instructions in the function.
ConditionalBranchCount Number of conditional branches.
ConstantFPOperandCount Number of constant floating-point operands.
ConstantIntOperandCount Number of constant-integer operands.
ConstantOperandCount Number of other constant operands.
ControlFlowEdgeCount Number of control-flow edges in the CFG.
CriticalEdgeCount Number of critical edges in the CFG.
DirectCallCount Number of direct calls.
DirectCallsToDefinedFunctions Number of direct calls made from this function to other functions defined in this module.
FloatingPointInstructionCount Number of floating-point instructions in the function.
GlobalValueOperandCount Number of global-value operands.
IndirectCallCount Number of indirect calls.
InlineAsmOperandCount Number of inline-assembly operands.
InstructionOperandCount Number of instruction operands.
IntegerInstructionCount Number of integer instructions in the function.
IntrinsicCount Number of intrinsic calls.
LoadInstCount Number of load instructions in the function.
MaxLoopDepth Maximum loop nesting depth in the function.
MediumBasicBlocks Number of medium basic blocks by non-debug instruction count.
NoReturnCallCount Number of calls that never return.
SmallBasicBlocks Number of small basic blocks by non-debug instruction count.
StoreInstCount Number of store instructions in the function.
SwitchInstructionCount Number of switch instructions.
SwitchSuccessorCount Number of successors of switch instructions.
TopLevelLoopCount Number of top-level loops in the function.
TotalInstructionCount Number of non-debug instructions in the function.
UnconditionalBranchCount Number of unconditional branches.
UnknownOperandCount Number of operands of unrecognized kind.
Uses Number of uses of this function, plus 1 if the function is callable outside the module.

Friends

NameDescription
llvm::FunctionPropertiesUpdaterHelper that updates FunctionPropertiesInfo after inlining.