|
LLVM 22.0.0git
|
#include "llvm/FuzzMutate/RandomIRBuilder.h"#include "llvm/ADT/STLExtras.h"#include "llvm/FuzzMutate/OpDescriptor.h"#include "llvm/FuzzMutate/Random.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Function.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/Module.h"Go to the source code of this file.
Functions | |
| static std::vector< BasicBlock * > | getDominators (BasicBlock *BB) |
| Return a vector of Blocks that dominates this block, excluding current block. | |
| static std::vector< BasicBlock * > | getDominatees (BasicBlock *BB) |
| Return a vector of Blocks that is dominated by this block, excluding current block. | |
| static Value * | buildTargetLegalPtr (Module *M, Value *Ptr, InsertPosition IP, const Twine &Name, SmallVector< Instruction * > *NewInsts) |
| static Instruction * | buildTargetLegalStore (Value *Val, Value *Ptr, InsertPosition IP, Module *M) |
| static std::pair< Instruction *, SmallVector< Instruction * > > | buildTargetLegalLoad (Type *AccessTy, Value *Ptr, InsertPosition IP, Module *M, const Twine &LoadName) |
| static void | eraseNewInstructions (SmallVector< Instruction * > &NewInsts) |
| static bool | isCompatibleReplacement (const Instruction *I, const Use &Operand, const Value *Replacement) |
|
static |
Definition at line 141 of file RandomIRBuilder.cpp.
References buildTargetLegalPtr(), Ptr, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::RandomIRBuilder::findOrCreateSource(), and llvm::RandomIRBuilder::newSource().
|
static |
Definition at line 112 of file RandomIRBuilder.cpp.
References llvm::dyn_cast(), llvm::PointerType::get(), Ptr, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by buildTargetLegalLoad(), and buildTargetLegalStore().
|
static |
Definition at line 132 of file RandomIRBuilder.cpp.
References buildTargetLegalPtr(), and Ptr.
Referenced by llvm::RandomIRBuilder::connectToSink(), and llvm::RandomIRBuilder::newSink().
|
static |
Definition at line 153 of file RandomIRBuilder.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::rbegin(), and llvm::SmallVectorTemplateCommon< T, typename >::rend().
Referenced by llvm::RandomIRBuilder::findOrCreateSource(), and llvm::RandomIRBuilder::newSource().
|
static |
Return a vector of Blocks that is dominated by this block, excluding current block.
Definition at line 45 of file RandomIRBuilder.cpp.
References llvm::DomTreeNodeBase< NodeT >::children(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), and llvm::BasicBlock::getParent().
Referenced by llvm::RandomIRBuilder::connectToSink().
|
static |
Return a vector of Blocks that dominates this block, excluding current block.
Definition at line 26 of file RandomIRBuilder.cpp.
References llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), and llvm::BasicBlock::getParent().
Referenced by llvm::RandomIRBuilder::connectToSink(), and llvm::RandomIRBuilder::findOrCreateSource().
|
static |
Definition at line 293 of file RandomIRBuilder.cpp.
References llvm::cast(), llvm::Use::getOperandNo(), llvm::Value::getType(), and I.
Referenced by llvm::RandomIRBuilder::connectToSink().