class InstDeleterIRStrategy

Declaration

class InstDeleterIRStrategy : public IRMutationStrategy { /* full declaration omitted */ };

Description

Base class for describing how to mutate a module. mutation functions for each IR unit forward to the contained unit.

Declared at: llvm/include/llvm/FuzzMutate/IRMutator.h:95

Inherits from: IRMutationStrategy

Method Overview

  • public uint64_t getWeight(size_t CurrentSize, size_t MaxSize, uint64_t CurrentWeight)
  • public void mutate(llvm::Function & F, llvm::RandomIRBuilder & IB)
  • public void mutate(llvm::Instruction & Inst, llvm::RandomIRBuilder & IB)

Inherited from IRMutationStrategy:

Methods

uint64_t getWeight(size_t CurrentSize,
                   size_t MaxSize,
                   uint64_t CurrentWeight)

Description

Provide a weight to bias towards choosing this strategy for a mutation. The value of the weight is arbitrary, but a good default is "the number of distinct ways in which this strategy can mutate a unit". This can also be used to prefer strategies that shrink the overall size of the result when we start getting close to \c MaxSize.

Declared at: llvm/include/llvm/FuzzMutate/IRMutator.h:97

Parameters

size_t CurrentSize
size_t MaxSize
uint64_t CurrentWeight

void mutate(llvm::Function& F,
            llvm::RandomIRBuilder& IB)

Declared at: llvm/include/llvm/FuzzMutate/IRMutator.h:101

Parameters

llvm::Function& F
llvm::RandomIRBuilder& IB

void mutate(llvm::Instruction& Inst,
            llvm::RandomIRBuilder& IB)

Declared at: llvm/include/llvm/FuzzMutate/IRMutator.h:102

Parameters

llvm::Instruction& Inst
llvm::RandomIRBuilder& IB