class MemmoveVerifier

Declaration

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

Declared at: llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp:1276

Member Variables

private const llvm::DataLayout& DL
private int64_t LoadOff = 0
private int64_t StoreOff = 0
private const llvm::Value* BP1
private const llvm::Value* BP2
public const bool IsSameObject

Method Overview

  • public MemmoveVerifier(const llvm::Value & LoadBasePtr, const llvm::Value & StoreBasePtr, const llvm::DataLayout & DL)
  • public bool loadAndStoreMayFormMemmove(unsigned int StoreSize, bool IsNegStride, const llvm::Instruction & TheLoad, bool IsMemCpy) const

Methods

MemmoveVerifier(const llvm::Value& LoadBasePtr,
                const llvm::Value& StoreBasePtr,
                const llvm::DataLayout& DL)

Declared at: llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp:1278

Parameters

const llvm::Value& LoadBasePtr
const llvm::Value& StoreBasePtr
const llvm::DataLayout& DL

bool loadAndStoreMayFormMemmove(
    unsigned int StoreSize,
    bool IsNegStride,
    const llvm::Instruction& TheLoad,
    bool IsMemCpy) const

Declared at: llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp:1286

Parameters

unsigned int StoreSize
bool IsNegStride
const llvm::Instruction& TheLoad
bool IsMemCpy