|
LLVM 22.0.0git
|
Declares methods and data structures for code layout algorithms. More...
#include "llvm/ADT/ArrayRef.h"#include "llvm/Support/Compiler.h"#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | llvm::codelayout::EdgeCount |
| struct | llvm::codelayout::CDSortConfig |
| Algorithm-specific params for Cache-Directed Sort. More... | |
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
| namespace | llvm::codelayout |
Typedefs | |
| using | llvm::codelayout::EdgeT = std::pair<uint64_t, uint64_t> |
Functions | |
| LLVM_ABI std::vector< uint64_t > | llvm::codelayout::computeExtTspLayout (ArrayRef< uint64_t > NodeSizes, ArrayRef< uint64_t > NodeCounts, ArrayRef< EdgeCount > EdgeCounts) |
| Find a layout of nodes (basic blocks) of a given CFG optimizing jump locality and thus processor I-cache utilization. | |
| LLVM_ABI double | llvm::codelayout::calcExtTspScore (ArrayRef< uint64_t > Order, ArrayRef< uint64_t > NodeSizes, ArrayRef< EdgeCount > EdgeCounts) |
| Estimate the "quality" of a given node order in CFG. | |
| LLVM_ABI double | llvm::codelayout::calcExtTspScore (ArrayRef< uint64_t > NodeSizes, ArrayRef< EdgeCount > EdgeCounts) |
| Estimate the "quality" of the current node order in CFG. | |
| LLVM_ABI std::vector< uint64_t > | llvm::codelayout::computeCacheDirectedLayout (ArrayRef< uint64_t > FuncSizes, ArrayRef< uint64_t > FuncCounts, ArrayRef< EdgeCount > CallCounts, ArrayRef< uint64_t > CallOffsets) |
| Apply a Cache-Directed Sort for functions represented by a call graph. | |
| LLVM_ABI std::vector< uint64_t > | llvm::codelayout::computeCacheDirectedLayout (const CDSortConfig &Config, ArrayRef< uint64_t > FuncSizes, ArrayRef< uint64_t > FuncCounts, ArrayRef< EdgeCount > CallCounts, ArrayRef< uint64_t > CallOffsets) |
| Apply a Cache-Directed Sort with a custom config. | |
Declares methods and data structures for code layout algorithms.
Definition in file CodeLayout.h.