LLVM 17.0.0git
Namespaces | Typedefs | Functions
CodeLayout.h File Reference

Declares methods and data structures for code layout algorithms. More...

#include "llvm/ADT/DenseMap.h"
#include <vector>

Go to the source code of this file.

Namespaces

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

Typedefs

using llvm::EdgeT = std::pair< uint64_t, uint64_t >
 
using llvm::EdgeCountT = std::pair< EdgeT, uint64_t >
 

Functions

std::vector< uint64_tllvm::applyExtTspLayout (const std::vector< uint64_t > &NodeSizes, const std::vector< uint64_t > &NodeCounts, const std::vector< EdgeCountT > &EdgeCounts)
 Find a layout of nodes (basic blocks) of a given CFG optimizing jump locality and thus processor I-cache utilization.
 
double llvm::calcExtTspScore (const std::vector< uint64_t > &Order, const std::vector< uint64_t > &NodeSizes, const std::vector< uint64_t > &NodeCounts, const std::vector< EdgeCountT > &EdgeCounts)
 Estimate the "quality" of a given node order in CFG.
 
double llvm::calcExtTspScore (const std::vector< uint64_t > &NodeSizes, const std::vector< uint64_t > &NodeCounts, const std::vector< EdgeCountT > &EdgeCounts)
 Estimate the "quality" of the current node order in CFG.
 

Detailed Description

Declares methods and data structures for code layout algorithms.

Definition in file CodeLayout.h.