|
LLVM 23.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 DominatorTree | getDomTree (Function &F) |
| 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 153 of file RandomIRBuilder.cpp.
References buildTargetLegalPtr(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::RandomIRBuilder::findOrCreateSource(), and llvm::RandomIRBuilder::newSource().
|
static |
Definition at line 124 of file RandomIRBuilder.cpp.
References llvm::dyn_cast(), llvm::PointerType::get(), llvm::Value::getType(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by buildTargetLegalLoad(), and buildTargetLegalStore().
|
static |
Definition at line 144 of file RandomIRBuilder.cpp.
References buildTargetLegalPtr().
Referenced by llvm::RandomIRBuilder::connectToSink(), and llvm::RandomIRBuilder::newSink().
|
static |
Definition at line 165 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 57 of file RandomIRBuilder.cpp.
References llvm::DomTreeNodeBase< NodeT >::children(), getDomTree(), 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 38 of file RandomIRBuilder.cpp.
References getDomTree(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), and llvm::BasicBlock::getParent().
Referenced by llvm::RandomIRBuilder::connectToSink(), and llvm::RandomIRBuilder::findOrCreateSource().
|
static |
Definition at line 24 of file RandomIRBuilder.cpp.
References F, I, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by getDominatees(), getDominators(), llvm::RAGreedy::RequiredAnalyses::RequiredAnalyses(), llvm::JumpThreadingPass::run(), llvm::DominanceFrontierWrapperPass::runOnFunction(), llvm::gvn::GVNLegacyPass::runOnFunction(), llvm::LoopInfoWrapperPass::runOnFunction(), llvm::ScalarEvolutionWrapperPass::runOnFunction(), and llvm::MachineLoopInfoWrapperPass::runOnMachineFunction().
|
static |
Definition at line 305 of file RandomIRBuilder.cpp.
References llvm::cast(), llvm::Use::getOperandNo(), llvm::Value::getType(), I, and llvm::isa().
Referenced by llvm::RandomIRBuilder::connectToSink().