LLVM 17.0.0git
Classes | Namespaces | Typedefs | Functions
LoopCacheAnalysis.h File Reference

This file defines the interface for the loop cache analysis. More...

#include "llvm/Analysis/LoopAnalysisManager.h"
#include "llvm/IR/PassManager.h"
#include <optional>
Include dependency graph for LoopCacheAnalysis.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


class  llvm::IndexedReference
 Represents a memory reference as a base pointer and a set of indexing operations. More...
class  llvm::CacheCost
 CacheCost represents the estimated cost of a inner loop as the number of cache lines used by the memory references it contains. More...
class  llvm::LoopCachePrinterPass
 Printer pass for the CacheCost results. More...


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


using llvm::CacheCostTy = int64_t
using llvm::LoopVectorTy = SmallVector< Loop *, 8 >
using llvm::ReferenceGroupTy = SmallVector< std::unique_ptr< IndexedReference >, 8 >
 A reference group represents a set of memory references that exhibit temporal or spacial reuse.
using llvm::ReferenceGroupsTy = SmallVector< ReferenceGroupTy, 8 >


raw_ostreamllvm::operator<< (raw_ostream &OS, const IndexedReference &R)
raw_ostreamllvm::operator<< (raw_ostream &OS, const CacheCost &CC)

Detailed Description

This file defines the interface for the loop cache analysis.

Definition in file LoopCacheAnalysis.h.