| LLVM 22.0.0git
    | 
Strategy that deletes instructions when the Module is too large. More...
#include "llvm/FuzzMutate/IRMutator.h"
| 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 (Instruction &Inst, RandomIRBuilder &IB) override | 
| virtual void | mutate (Module &M, RandomIRBuilder &IB) | 
| virtual void | mutate (BasicBlock &BB, RandomIRBuilder &IB) | 
| Public Member Functions inherited from llvm::IRMutationStrategy | |
| virtual | ~IRMutationStrategy ()=default | 
Strategy that deletes instructions when the Module is too large.
Definition at line 113 of file IRMutator.h.
| 
 | overridevirtual | 
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 190 of file IRMutator.cpp.
| 
 | virtual | 
Reimplemented from llvm::IRMutationStrategy.
Definition at line 54 of file IRMutator.cpp.
References Range.
| 
 | overridevirtual | 
Reimplemented from llvm::IRMutationStrategy.
Definition at line 207 of file IRMutator.cpp.
References eliminateDeadCode(), F, instructions, llvm::isa(), llvm::makeSampler(), and mutate().
Referenced by mutate().
| 
 | overridevirtual | 
Reimplemented from llvm::IRMutationStrategy.
Definition at line 226 of file IRMutator.cpp.
References assert(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::getFirstInsertionPt(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::Value::getType(), I, llvm::Instruction::isTerminator(), llvm::Type::isVoidTy(), llvm::makeSampler(), llvm::fuzzerop::onlyType(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::Value::replaceAllUsesWith().
| 
 | virtual | 
Mutators for each IR unit. By default these forward to a contained instance of the next smaller unit.
Reimplemented from llvm::IRMutationStrategy.
Definition at line 52 of file IRMutator.cpp.