#include "llvm/IR/Operator.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/Instructions.h"
#include "ConstantsContext.h"
namespace llvm {
bool Operator::hasPoisonGeneratingFlags() const { … }
bool Operator::hasPoisonGeneratingAnnotations() const { … }
Type *GEPOperator::getSourceElementType() const { … }
Type *GEPOperator::getResultElementType() const { … }
std::optional<ConstantRange> GEPOperator::getInRange() const { … }
Align GEPOperator::getMaxPreservedAlignment(const DataLayout &DL) const { … }
bool GEPOperator::accumulateConstantOffset(
const DataLayout &DL, APInt &Offset,
function_ref<bool(Value &, APInt &)> ExternalAnalysis) const { … }
bool GEPOperator::accumulateConstantOffset(
Type *SourceType, ArrayRef<const Value *> Index, const DataLayout &DL,
APInt &Offset, function_ref<bool(Value &, APInt &)> ExternalAnalysis) { … }
bool GEPOperator::collectOffset(
const DataLayout &DL, unsigned BitWidth,
SmallMapVector<Value *, APInt, 4> &VariableOffsets,
APInt &ConstantOffset) const { … }
void FastMathFlags::print(raw_ostream &O) const { … }
}