LLVM 22.0.0git
llvm::CodeExtractorAnalysisCache Class Reference

A cache for the CodeExtractor analysis. More...

#include "llvm/Transforms/Utils/CodeExtractor.h"

Public Member Functions

LLVM_ABI CodeExtractorAnalysisCache (Function &F)
ArrayRef< AllocaInst * > getAllocas () const
 Get the allocas in the function at the time the analysis was created.
LLVM_ABI bool doesBlockContainClobberOfAddr (BasicBlock &BB, AllocaInst *Addr) const
 Check whether BB contains an instruction thought to load from, store to, or otherwise clobber the alloca Addr.

Detailed Description

A cache for the CodeExtractor analysis.

The operation CodeExtractor::extractCodeRegion is guaranteed not to invalidate this object. This object should conservatively be considered invalid if any other mutating operations on the IR occur.

Constructing this object is O(n) in the size of the function.

Definition at line 47 of file CodeExtractor.h.

Constructor & Destructor Documentation

◆ CodeExtractorAnalysisCache()

CodeExtractorAnalysisCache::CodeExtractorAnalysisCache ( Function & F)

Definition at line 318 of file CodeExtractor.cpp.

References llvm::dyn_cast(), F, and II.

Member Function Documentation

◆ doesBlockContainClobberOfAddr()

bool CodeExtractorAnalysisCache::doesBlockContainClobberOfAddr ( BasicBlock & BB,
AllocaInst * Addr ) const

Check whether BB contains an instruction thought to load from, store to, or otherwise clobber the alloca Addr.

Definition at line 371 of file CodeExtractor.cpp.

Referenced by llvm::CodeExtractor::isLegalToShrinkwrapLifetimeMarkers().

◆ getAllocas()

ArrayRef< AllocaInst * > llvm::CodeExtractorAnalysisCache::getAllocas ( ) const
inline

Get the allocas in the function at the time the analysis was created.

Note that some of these allocas may no longer be present in the function, due to CodeExtractor::extractCodeRegion.

Definition at line 66 of file CodeExtractor.h.

Referenced by llvm::CodeExtractor::findAllocas().


The documentation for this class was generated from the following files: