LLVM 20.0.0git
|
#include "llvm/FuzzMutate/OpDescriptor.h"
#include "llvm/Support/ErrorHandling.h"
#include <optional>
Go to the source code of this file.
Classes | |
class | llvm::IRMutationStrategy |
Base class for describing how to mutate a module. More... | |
class | llvm::IRMutator |
Entry point for configuring and running IR mutations. More... | |
class | llvm::InjectorIRStrategy |
Strategy that injects operations into the function. More... | |
class | llvm::InstDeleterIRStrategy |
Strategy that deletes instructions when the Module is too large. More... | |
class | llvm::InstModificationIRStrategy |
Strategy that modifies instruction attributes and operands. More... | |
class | llvm::InsertFunctionStrategy |
Strategy that generates new function calls and inserts function signatures to the modules. More... | |
class | llvm::InsertCFGStrategy |
Strategy to split a random block and insert a random CFG in between. More... | |
class | llvm::InsertPHIStrategy |
Strategy to insert PHI Nodes at the head of each basic block. More... | |
class | llvm::SinkInstructionStrategy |
Strategy to select a random instruction and add a new sink (user) to it to increate data dependency. More... | |
class | llvm::ShuffleBlockStrategy |
Strategy to randomly select a block and shuffle the operations without affecting data dependency. More... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Typedefs | |
using | llvm::TypeGetter = std::function< Type *(LLVMContext &)> |
Functions | |
std::unique_ptr< Module > | llvm::parseModule (const uint8_t *Data, size_t Size, LLVMContext &Context) |
Fuzzer friendly interface for the llvm bitcode parser. | |
size_t | llvm::writeModule (const Module &M, uint8_t *Dest, size_t MaxSize) |
Fuzzer friendly interface for the llvm bitcode printer. | |
std::unique_ptr< Module > | llvm::parseAndVerify (const uint8_t *Data, size_t Size, LLVMContext &Context) |
Try to parse module and verify it. | |