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::PointerType::get(), Name, 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(), llvm::BasicBlock::getParent(), and Idx.
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::Use::getOperandNo(), llvm::Value::getType(), and I.
Referenced by llvm::RandomIRBuilder::connectToSink().