class CodeExtractorAnalysisCache

Declaration

class CodeExtractorAnalysisCache { /* full declaration omitted */ };

Description

A cache for the CodeExtractor analysis. The operation \ref 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.

Declared at: llvm/include/llvm/Transforms/Utils/CodeExtractor.h:46

Method Overview

Methods

CodeExtractorAnalysisCache(llvm::Function& F)

Declared at: llvm/include/llvm/Transforms/Utils/CodeExtractor.h:60

Parameters

llvm::Function& F

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

Description

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

Declared at: llvm/include/llvm/Transforms/Utils/CodeExtractor.h:69

Parameters

llvm::BasicBlock& BB
llvm::AllocaInst* Addr

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

Description

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 \ref CodeExtractor::extractCodeRegion.

Declared at: llvm/include/llvm/Transforms/Utils/CodeExtractor.h:65