class SourcePred

Declaration

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

Description

A matcher/generator for finding suitable values for the next source in an operation's partially completed argument list. Given that we're building some operation X and may have already filled some subset of its operands, this predicate determines if some value New is suitable for the next operand or generates a set of values that are suitable.

Declared at: llvm/include/llvm/FuzzMutate/OpDescriptor.h:42

Member Variables

private llvm::fuzzerop::SourcePred::PredT Pred
private llvm::fuzzerop::SourcePred::MakeT Make

Method Overview

  • public SourcePred(llvm::fuzzerop::SourcePred::PredT Pred, llvm::fuzzerop::SourcePred::MakeT Make)
  • public SourcePred(llvm::fuzzerop::SourcePred::PredT Pred, llvm::NoneType)
  • public std::vector<Constant *> generate(ArrayRef<llvm::Value *> Cur, ArrayRef<llvm::Type *> BaseTypes)
  • public bool matches(ArrayRef<llvm::Value *> Cur, const llvm::Value * New)

Methods

SourcePred(llvm::fuzzerop::SourcePred::PredT Pred,
           llvm::fuzzerop::SourcePred::MakeT Make)

Description

Create a fully general source predicate.

Declared at: llvm/include/llvm/FuzzMutate/OpDescriptor.h:59

Parameters

llvm::fuzzerop::SourcePred::PredT Pred
llvm::fuzzerop::SourcePred::MakeT Make

SourcePred(llvm::fuzzerop::SourcePred::PredT Pred,
           llvm::NoneType)

Declared at: llvm/include/llvm/FuzzMutate/OpDescriptor.h:60

Parameters

llvm::fuzzerop::SourcePred::PredT Pred
llvm::NoneType

std::vector<Constant*> generate(
    ArrayRef<llvm::Value*> Cur,
    ArrayRef<llvm::Type*> BaseTypes)

Description

Generates a list of potential values for the argument after \c Cur.

Declared at: llvm/include/llvm/FuzzMutate/OpDescriptor.h:81

Parameters

ArrayRef<llvm::Value*> Cur
ArrayRef<llvm::Type*> BaseTypes

bool matches(ArrayRef<llvm::Value*> Cur,
             const llvm::Value* New)

Description

Returns true if \c New is compatible for the argument after \c Cur

Declared at: llvm/include/llvm/FuzzMutate/OpDescriptor.h:76

Parameters

ArrayRef<llvm::Value*> Cur
const llvm::Value* New