class MemoryUse

Declaration

class MemoryUse : public MemoryUseOrDef { /* full declaration omitted */ };

Description

Represents read-only accesses to memory In particular, the set of Instructions that will be represented by MemoryUse's is exactly the set of Instructions for which AliasAnalysis::getModRefInfo returns "Ref".

Declared at: llvm/include/llvm/Analysis/MemorySSA.h:326

Inherits from: MemoryUseOrDef

Member Variables

private unsigned int OptimizedID = INVALID_MEMORYACCESS_ID

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasMetadata
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 32
public static MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

  • public MemoryUse(llvm::LLVMContext & C, llvm::MemoryAccess * DMA, llvm::Instruction * MI, llvm::BasicBlock * BB)
  • public static bool classof(const llvm::Value * MA)
  • private static void deleteMe(llvm::DerivedUser * Self)
  • public llvm::MemoryAccess * getOptimized() const
  • public bool isOptimized() const
  • public void print(llvm::raw_ostream & OS) const
  • public void resetOptimized()
  • public void setOptimized(llvm::MemoryAccess * DMA)

Inherited from MemoryUseOrDef:

Inherited from MemoryAccess:

Inherited from DerivedUser:

    Inherited from User:

    Inherited from Value:

    Methods

    MemoryUse(llvm::LLVMContext& C,
              llvm::MemoryAccess* DMA,
              llvm::Instruction* MI,
              llvm::BasicBlock* BB)

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:330

    Parameters

    llvm::LLVMContext& C
    llvm::MemoryAccess* DMA
    llvm::Instruction* MI
    llvm::BasicBlock* BB

    static bool classof(const llvm::Value* MA)

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:338

    Parameters

    const llvm::Value* MA

    static void deleteMe(llvm::DerivedUser* Self)

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:368

    Parameters

    llvm::DerivedUser* Self

    llvm::MemoryAccess* getOptimized() const

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:356

    bool isOptimized() const

    Description

    Whether the MemoryUse is optimized. If ensureOptimizedUses() was called, uses will usually be optimized, but this is not guaranteed (e.g. due to invalidation and optimization limits.)

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:352

    void print(llvm::raw_ostream& OS) const

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:342

    Parameters

    llvm::raw_ostream& OS

    void resetOptimized()

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:360

    void setOptimized(llvm::MemoryAccess* DMA)

    Declared at: llvm/include/llvm/Analysis/MemorySSA.h:344

    Parameters

    llvm::MemoryAccess* DMA