LLVM 19.0.0git
Functions
RandomIRBuilder.cpp File Reference
#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/IntrinsicInst.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 bool isCompatibleReplacement (const Instruction *I, const Use &Operand, const Value *Replacement)
 

Function Documentation

◆ getDominatees()

static std::vector< BasicBlock * > getDominatees ( BasicBlock BB)
static

Return a vector of Blocks that is dominated by this block, excluding current block.

Definition at line 46 of file RandomIRBuilder.cpp.

References llvm::DomTreeNodeBase< NodeT >::children(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), llvm::BasicBlock::getParent(), and Idx.

Referenced by llvm::RandomIRBuilder::connectToSink().

◆ getDominators()

static std::vector< BasicBlock * > getDominators ( BasicBlock BB)
static

Return a vector of Blocks that dominates this block, excluding current block.

Definition at line 27 of file RandomIRBuilder.cpp.

References llvm::DominatorTreeBase< NodeT, IsPostDom >::getNode(), and llvm::BasicBlock::getParent().

Referenced by llvm::RandomIRBuilder::connectToSink(), and llvm::RandomIRBuilder::findOrCreateSource().

◆ isCompatibleReplacement()

static bool isCompatibleReplacement ( const Instruction I,
const Use Operand,
const Value Replacement 
)
static