LLVM 19.0.0git
Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
InlineModelFeatureMaps.h File Reference
#include "llvm/Analysis/TensorSpec.h"
#include <array>
#include <vector>

Go to the source code of this file.

Namespaces

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

Macros

#define INLINE_COST_FEATURE_ITERATOR(M)
 
#define POPULATE_INDICES(DTYPE, SHAPE, NAME, DOC)   NAME,
 
#define INLINE_FEATURE_ITERATOR(M)
 
#define POPULATE_INDICES(DTYPE, SHAPE, NAME, COMMENT)   NAME,
 

Typedefs

using llvm::InlineCostFeatures = std::array< int, static_cast< size_t >(InlineCostFeatureIndex::NumberOfFeatures)>
 
using llvm::InlineFeatures = std::vector< int64_t >
 

Enumerations

enum class  llvm::InlineCostFeatureIndex : size_t { llvm::POPULATE_INDICES , llvm::NumberOfFeatures }
 
enum class  llvm::FeatureIndex : size_t { llvm::POPULATE_INDICES , llvm::NumberOfFeatures }
 

Functions

constexpr bool llvm::isHeuristicInlineCostFeature (InlineCostFeatureIndex Feature)
 
constexpr FeatureIndex llvm::inlineCostFeatureToMlFeature (InlineCostFeatureIndex Feature)
 

Variables

constexpr size_t llvm::NumberOfFeatures
 
const std::vector< TensorSpecllvm::FeatureMap
 
const char *const llvm::DecisionName = "inlining_decision"
 
const TensorSpec llvm::InlineDecisionSpec
 
const char *const llvm::DefaultDecisionName = "inlining_default"
 
const TensorSpec llvm::DefaultDecisionSpec
 
const char *const llvm::RewardName = "delta_size"
 

Macro Definition Documentation

◆ INLINE_COST_FEATURE_ITERATOR

#define INLINE_COST_FEATURE_ITERATOR (   M)

Definition at line 23 of file InlineModelFeatureMaps.h.

◆ INLINE_FEATURE_ITERATOR

#define INLINE_FEATURE_ITERATOR (   M)
Value:
M(int64_t, {1}, callee_basic_block_count, \
"number of basic blocks of the callee") \
M(int64_t, {1}, callsite_height, \
"position of the call site in the original call graph - measured from " \
"the farthest SCC") \
M(int64_t, {1}, node_count, \
"total current number of defined functions in the module") \
M(int64_t, {1}, nr_ctant_params, \
"number of parameters in the call site that are constants") \
M(int64_t, {1}, cost_estimate, "total cost estimate (threshold - free)") \
M(int64_t, {1}, edge_count, "total number of calls in the module") \
M(int64_t, {1}, caller_users, \
"number of module-internal users of the caller, +1 if the caller is " \
"exposed externally") \
M(int64_t, {1}, caller_conditionally_executed_blocks, \
"number of blocks reached from a conditional instruction, in the caller") \
M(int64_t, {1}, caller_basic_block_count, \
"number of basic blocks in the caller") \
M(int64_t, {1}, callee_conditionally_executed_blocks, \
"number of blocks reached from a conditional instruction, in the callee") \
M(int64_t, {1}, callee_users, \
"number of module-internal users of the callee, +1 if the callee is " \
"exposed externally")

Definition at line 101 of file InlineModelFeatureMaps.h.

◆ POPULATE_INDICES [1/2]

#define POPULATE_INDICES (   DTYPE,
  SHAPE,
  NAME,
  COMMENT 
)    NAME,

Definition at line 128 of file InlineModelFeatureMaps.h.

◆ POPULATE_INDICES [2/2]

#define POPULATE_INDICES (   DTYPE,
  SHAPE,
  NAME,
  DOC 
)    NAME,

Definition at line 128 of file InlineModelFeatureMaps.h.