LLVM: llvm::SinkInstructionStrategy Class Reference (original) (raw)
Strategy to select a random instruction and add a new sink (user) to it to increate data dependency. More...
#include "[llvm/FuzzMutate/IRMutator.h](IRMutator%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| uint64_t | getWeight (size_t CurrentSize, size_t MaxSize, uint64_t CurrentWeight) override |
| Provide a weight to bias towards choosing this strategy for a mutation. | |
| void | mutate (Function &F, RandomIRBuilder &IB) override |
| void | mutate (BasicBlock &BB, RandomIRBuilder &IB) override |
| Public Member Functions inherited from llvm::IRMutationStrategy | |
| virtual | ~IRMutationStrategy ()=default |
| virtual void | mutate (Module &M, RandomIRBuilder &IB) |
| virtual void | mutate (Instruction &I, RandomIRBuilder &IB) |
Strategy to select a random instruction and add a new sink (user) to it to increate data dependency.
Definition at line 182 of file IRMutator.h.
◆ getWeight()
| uint64_t llvm::SinkInstructionStrategy::getWeight ( size_t CurrentSize, size_t MaxSize, uint64_t CurrentWeight ) | inlineoverridevirtual |
|---|
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 MaxSize.
Implements llvm::IRMutationStrategy.
Definition at line 184 of file IRMutator.h.
◆ mutate() [1/2]
◆ mutate() [2/2]
The documentation for this class was generated from the following files:
- include/llvm/FuzzMutate/IRMutator.h
- lib/FuzzMutate/IRMutator.cpp