llvm::FunctionPropertiesInfo

Synopsis

Declared in <llvm/Analysis/FunctionPropertiesAnalysis.h>

class FunctionPropertiesInfo;

Member Functions

NameDescription
getFunctionEmbedding
getIR2VecVocab
print
setFunctionEmbeddingForTest
operator== Equality operator
operator!= Inequality operator

Static Member Functions

Name
getFunctionPropertiesInfo

Data Members

NameDescription
ArgumentOperandCount
BasicBlockCount Number of basic blocks
BasicBlockOperandCount
BasicBlocksWithMoreThanTwoPredecessors
BasicBlocksWithMoreThanTwoSuccessors
BasicBlocksWithSinglePredecessor
BasicBlocksWithSingleSuccessor
BasicBlocksWithTwoPredecessors
BasicBlocksWithTwoSuccessors
BigBasicBlocks
BlocksReachedFromConditionalInstruction
BranchInstructionCount
BranchSuccessorCount
CallReturnsFloatCount
CallReturnsIntegerCount
CallReturnsPointerCount
CallReturnsVectorFloatCount
CallReturnsVectorIntCount
CallReturnsVectorPointerCount
CallWithManyArgumentsCount
CallWithPointerArgumentCount
CastInstructionCount
ConditionalBranchCount
ConstantFPOperandCount
ConstantIntOperandCount
ConstantOperandCount
ControlFlowEdgeCount
CriticalEdgeCount
DirectCallCount
DirectCallsToDefinedFunctions Number of direct calls made from this function to other functions defined in this module.
FloatingPointInstructionCount
GlobalValueOperandCount
IndirectCallCount
InlineAsmOperandCount
InstructionOperandCount
IntegerInstructionCount
IntrinsicCount
LoadInstCount
MaxLoopDepth
MediumBasicBlocks
NoReturnCallCount
SmallBasicBlocks
StoreInstCount
SwitchInstructionCount
SwitchSuccessorCount
TopLevelLoopCount
TotalInstructionCount
UnconditionalBranchCount
UnknownOperandCount
Uses Number of uses of this function, plus 1 if the function is callable outside the module.

Friends

NameDescription
llvm::FunctionPropertiesUpdaterCorrectly update FunctionPropertiesInfo post-inlining. A FunctionPropertiesUpdater keeps the state necessary for tracking the changes llvm::InlineFunction makes. The idea is that inlining will at most modify a few BBs of the Caller (maybe the entry BB and definitely the callsite BB) and potentially affect exception handling BBs in the case of invoke inlining.