ΒΆbool getPotentiallyLoadedValues(
    llvm::Attributor& A,
    llvm::LoadInst& LI,
    SmallSetVector<llvm::Value*, 4>&
        PotentialValues,
    SmallSetVector<llvm::Instruction*, 4>&
        PotentialValueOrigins,
    const llvm::AbstractAttribute& QueryingAA,
    bool& UsedAssumedInformation,
    bool OnlyExact = false)

Description

Collect all potential values \p LI could read into \p PotentialValues. That is, the only values read by \p LI are assumed to be known and all are in\p PotentialValues. \p PotentialValueOrigins will contain all the instructions that might have put a potential value into \p PotentialValues. Dependences onto \p QueryingAA are properly tracked, \p UsedAssumedInformation will inform the caller if assumed information was used.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:240

Parameters

llvm::Attributor& A
llvm::LoadInst& LI
SmallSetVector<llvm::Value*, 4>& PotentialValues
SmallSetVector<llvm::Instruction*, 4>& PotentialValueOrigins
const llvm::AbstractAttribute& QueryingAA
bool& UsedAssumedInformation
bool OnlyExact = false

Returns

True if the assumed potential copies are all in \p PotentialValues, false if something went wrong and the copies could not be determined.