116 lines
6.1 KiB
Modula-2
116 lines
6.1 KiB
Modula-2
//===-- llvm/FunctionProperties.def - File that describes Function Properties
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file contains descriptions of the various LLVM function properties. This
|
|
// is used as a central place for enumerating the different function properties
|
|
// and should eventually be the place to put comments about the function
|
|
// properties.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// NOTE: NO INCLUDE GUARD DESIRED!
|
|
|
|
// Provide definitions of macros so that users of this file do not have to
|
|
// define everything to use it.
|
|
//
|
|
|
|
// Basic/Standard Properties
|
|
#ifndef FUNCTION_PROPERTY
|
|
#define FUNCTION_PROPERTY(Name, Description)
|
|
#endif
|
|
|
|
// Detailed Properties (only processed if DETAILED_FUNCTION_PROPERTY is defined)
|
|
#ifndef DETAILED_FUNCTION_PROPERTY
|
|
#define DETAILED_FUNCTION_PROPERTY(Name, Description)
|
|
#endif
|
|
|
|
FUNCTION_PROPERTY(BasicBlockCount, "Number of basic blocks")
|
|
FUNCTION_PROPERTY(BlocksReachedFromConditionalInstruction,
|
|
"Number of blocks reached from a conditional instruction, or "
|
|
"that are 'cases' of a SwitchInstr")
|
|
FUNCTION_PROPERTY(Uses, "Number of uses of this function, plus 1 if the "
|
|
"function is callable outside the module")
|
|
FUNCTION_PROPERTY(DirectCallsToDefinedFunctions,
|
|
"Number of direct calls made from this function to other "
|
|
"functions defined in this module")
|
|
FUNCTION_PROPERTY(LoadInstCount, "Load Instruction Count")
|
|
FUNCTION_PROPERTY(StoreInstCount, "Store Instruction Count")
|
|
FUNCTION_PROPERTY(MaxLoopDepth, "Maximum Loop Depth in the Function")
|
|
FUNCTION_PROPERTY(TopLevelLoopCount,
|
|
"Number of Top Level Loops in the Function")
|
|
FUNCTION_PROPERTY(TotalInstructionCount, "Number of instructions of all types")
|
|
DETAILED_FUNCTION_PROPERTY(BasicBlocksWithSingleSuccessor,
|
|
"Basic blocks with one successors")
|
|
DETAILED_FUNCTION_PROPERTY(BasicBlocksWithTwoSuccessors,
|
|
"Basic blocks with two successors")
|
|
DETAILED_FUNCTION_PROPERTY(BasicBlocksWithMoreThanTwoSuccessors,
|
|
"Basic blocks with more than two successors")
|
|
DETAILED_FUNCTION_PROPERTY(BasicBlocksWithSinglePredecessor,
|
|
"Basic blocks with one predecessors")
|
|
DETAILED_FUNCTION_PROPERTY(BasicBlocksWithTwoPredecessors,
|
|
"Basic blocks with two predecessors")
|
|
DETAILED_FUNCTION_PROPERTY(BasicBlocksWithMoreThanTwoPredecessors,
|
|
"Basic blocks with more than two predecessors")
|
|
DETAILED_FUNCTION_PROPERTY(BigBasicBlocks, "Number of big basic blocks")
|
|
DETAILED_FUNCTION_PROPERTY(MediumBasicBlocks, "Number of medium basic blocks")
|
|
DETAILED_FUNCTION_PROPERTY(SmallBasicBlocks, "Number of small basic blocks")
|
|
DETAILED_FUNCTION_PROPERTY(
|
|
CastInstructionCount, "The number of cast instructions inside the function")
|
|
DETAILED_FUNCTION_PROPERTY(
|
|
FloatingPointInstructionCount,
|
|
"The number of floating point instructions inside the function")
|
|
DETAILED_FUNCTION_PROPERTY(
|
|
IntegerInstructionCount,
|
|
"The number of integer instructions inside the function")
|
|
DETAILED_FUNCTION_PROPERTY(ConstantIntOperandCount,
|
|
"Constant Int Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(ConstantFPOperandCount, "Constant FP Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(ConstantOperandCount, "Constant Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(InstructionOperandCount, "Instruction Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(BasicBlockOperandCount, "Basic Block Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(GlobalValueOperandCount,
|
|
"Global Value Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(InlineAsmOperandCount, "Inline Asm Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(ArgumentOperandCount, "Argument Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(UnknownOperandCount, "Unknown Operand Count")
|
|
DETAILED_FUNCTION_PROPERTY(CriticalEdgeCount, "Critical Edge Count")
|
|
DETAILED_FUNCTION_PROPERTY(ControlFlowEdgeCount,
|
|
"Number of basic block successors")
|
|
DETAILED_FUNCTION_PROPERTY(UnconditionalBranchCount,
|
|
"Number of unconditional branch instructions")
|
|
DETAILED_FUNCTION_PROPERTY(ConditionalBranchCount,
|
|
"Number of conditional branch instructions")
|
|
DETAILED_FUNCTION_PROPERTY(BranchInstructionCount,
|
|
"Number of branch instructions")
|
|
DETAILED_FUNCTION_PROPERTY(BranchSuccessorCount, "Number of branch successors")
|
|
DETAILED_FUNCTION_PROPERTY(SwitchInstructionCount,
|
|
"Number of switch instructions")
|
|
DETAILED_FUNCTION_PROPERTY(SwitchSuccessorCount, "Number of switch successors")
|
|
DETAILED_FUNCTION_PROPERTY(IntrinsicCount, "Intrinsic Count")
|
|
DETAILED_FUNCTION_PROPERTY(NoReturnCallCount, "No Return Call Count")
|
|
DETAILED_FUNCTION_PROPERTY(DirectCallCount, "Direct Call Count")
|
|
DETAILED_FUNCTION_PROPERTY(IndirectCallCount, "Indirect Call Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallReturnsIntegerCount,
|
|
"Call Returns Integer Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallReturnsFloatCount, "Call Returns Float Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallReturnsPointerCount,
|
|
"Call Returns Pointer Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallReturnsVectorIntCount,
|
|
"Call Returns Vector Int Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallReturnsVectorFloatCount,
|
|
"Call Returns Vector Float Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallReturnsVectorPointerCount,
|
|
"Call Returns Vector Pointer Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallWithManyArgumentsCount,
|
|
"Call With Many Arguments Count")
|
|
DETAILED_FUNCTION_PROPERTY(CallWithPointerArgumentCount,
|
|
"Call With Pointer Argument Count")
|
|
|
|
#undef FUNCTION_PROPERTY
|
|
#undef DETAILED_FUNCTION_PROPERTY
|