LLVM 22.0.0git
ModRef.h File Reference

Go to the source code of this file.

Classes

class  llvm::MemoryEffectsBase< LocationEnum >
class  llvm::CaptureInfo
 Represents which components of the pointer may be captured in which location. More...

Namespaces

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

Typedefs

using llvm::MemoryEffects = MemoryEffectsBase<IRMemLocation>
 Summary of how a function affects memory in the program.
using llvm::FunctionModRefBehavior = MemoryEffects

Enumerations

enum class  llvm::ModRefInfo : uint8_t {
  llvm::NoModRef = 0 , llvm::Ref = 1 , llvm::Mod = 2 , llvm::ModRef = Ref | Mod ,
  llvm::LLVM_MARK_AS_BITMASK_ENUM =(ModRef)
}
 Flags indicating whether a memory access modifies or references memory. More...
enum class  llvm::IRMemLocation {
  llvm::ArgMem = 0 , llvm::InaccessibleMem = 1 , llvm::ErrnoMem = 2 , llvm::Other = 3 ,
  llvm::First = ArgMem , llvm::Last = Other
}
 The locations at which a function might access memory. More...
enum class  llvm::CaptureComponents : uint8_t {
  llvm::None = 0 , llvm::AddressIsNull = (1 << 0) , llvm::Address = (1 << 1) | AddressIsNull , llvm::ReadProvenance = (1 << 2) ,
  llvm::Provenance = (1 << 3) | ReadProvenance , llvm::All = Address | Provenance , llvm::LLVM_MARK_AS_BITMASK_ENUM =(Provenance)
}
 Components of the pointer that may be captured. More...

Functions

bool llvm::isNoModRef (const ModRefInfo MRI)
bool llvm::isModOrRefSet (const ModRefInfo MRI)
bool llvm::isModAndRefSet (const ModRefInfo MRI)
bool llvm::isModSet (const ModRefInfo MRI)
bool llvm::isRefSet (const ModRefInfo MRI)
LLVM_ABI raw_ostreamllvm::operator<< (raw_ostream &OS, ModRefInfo MR)
 Debug print ModRefInfo.
LLVM_ABI raw_ostreamllvm::operator<< (raw_ostream &OS, MemoryEffects RMRB)
 Debug print MemoryEffects.
bool llvm::capturesNothing (CaptureComponents CC)
bool llvm::capturesAnything (CaptureComponents CC)
bool llvm::capturesAddressIsNullOnly (CaptureComponents CC)
bool llvm::capturesAddress (CaptureComponents CC)
bool llvm::capturesReadProvenanceOnly (CaptureComponents CC)
bool llvm::capturesFullProvenance (CaptureComponents CC)
bool llvm::capturesAnyProvenance (CaptureComponents CC)
bool llvm::capturesAll (CaptureComponents CC)
LLVM_ABI raw_ostreamllvm::operator<< (raw_ostream &OS, CaptureComponents CC)
LLVM_ABI raw_ostreamllvm::operator<< (raw_ostream &OS, CaptureInfo Info)