ΒΆ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)
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.