LLVM  3.7.0
Classes | Namespaces | Enumerations | Functions | Variables
FuzzerTraceState.cpp File Reference
#include "FuzzerInternal.h"
#include <sanitizer/dfsan_interface.h>
#include <algorithm>
#include <cstring>
#include <unordered_map>
Include dependency graph for FuzzerTraceState.cpp:

Go to the source code of this file.

Classes

struct  fuzzer::LabelRange
 
struct  fuzzer::TraceBasedMutation
 
class  fuzzer::TraceState
 

Namespaces

 fuzzer
 

Enumerations

enum  fuzzer::Predicate {
  fuzzer::ICMP_EQ = 32, fuzzer::ICMP_NE = 33, fuzzer::ICMP_UGT = 34, fuzzer::ICMP_UGE = 35,
  fuzzer::ICMP_ULT = 36, fuzzer::ICMP_ULE = 37, fuzzer::ICMP_SGT = 38, fuzzer::ICMP_SGE = 39,
  fuzzer::ICMP_SLT = 40, fuzzer::ICMP_SLE = 41
}
 

Functions

 __attribute__ ((weak)) dfsan_label dfsan_create_label(const char *desc
 
static bool fuzzer::ReallyHaveDFSan ()
 
template<class U , class S >
bool fuzzer::ComputeCmp (size_t CmpType, U Arg1, U Arg2)
 
static bool fuzzer::ComputeCmp (size_t CmpSize, size_t CmpType, uint64_t Arg1, uint64_t Arg2)
 
void __dfsw___sanitizer_cov_trace_cmp (uint64_t SizeAndType, uint64_t Arg1, uint64_t Arg2, dfsan_label L0, dfsan_label L1, dfsan_label L2)
 
void dfsan_weak_hook_memcmp (void *caller_pc, const void *s1, const void *s2, size_t n, dfsan_label s1_label, dfsan_label s2_label, dfsan_label n_label)
 
void __sanitizer_cov_trace_cmp (uint64_t SizeAndType, uint64_t Arg1, uint64_t Arg2)
 

Variables

void * userdata
 
void * addr
 
void size_t size
 
static TraceState * fuzzer::TS
 

Function Documentation

__attribute__ ( (weak)  ) const
void __dfsw___sanitizer_cov_trace_cmp ( uint64_t  SizeAndType,
uint64_t  Arg1,
uint64_t  Arg2,
dfsan_label  L0,
dfsan_label  L1,
dfsan_label  L2 
)

Definition at line 332 of file FuzzerTraceState.cpp.

References fuzzer::TraceState::DFSanCmpCallback().

void __sanitizer_cov_trace_cmp ( uint64_t  SizeAndType,
uint64_t  Arg1,
uint64_t  Arg2 
)

Definition at line 357 of file FuzzerTraceState.cpp.

References fuzzer::TraceState::TraceCmpCallback().

void dfsan_weak_hook_memcmp ( void *  caller_pc,
const void *  s1,
const void *  s2,
size_t  n,
dfsan_label  s1_label,
dfsan_label  s2_label,
dfsan_label  n_label 
)

Variable Documentation

void * addr
size_t size

Definition at line 86 of file FuzzerTraceState.cpp.

Referenced by llvm::User::allocHungoffUses(), llvm::Calculate(), CC_Sparc64_Full(), llvm::ValueEnumerator::computeBitsRequiredForTypeIndicies(), llvm::AArch64_AM::decodeLogicalImmediate(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDST2Instruction(), DecodeVLDST3Instruction(), DecodeVLDST4Instruction(), DecodeVSHLMaxInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), llvm::DWARFContext::dump(), llvm::DwarfStringPool::emit(), emitFDESymbol(), EmitPersonality(), enlarge(), llvm::StringTableBuilder::finalize(), llvm::FindInsertedValue(), getDataAlignmentFactor(), llvm::MCLOHDirective::getEmitSize(), llvm::cl::list< DataType, StorageClass, ParserClass >::getPosition(), llvm::cl::bits< DataType, Storage, ParserClass >::getPosition(), llvm::NVPTXTargetLowering::getPrototype(), llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), llvm::DWARFFormValue::isFormClass(), llvm::AArch64_AM::isValidDecodeLogicalImmediate(), LLVMCountBasicBlocks(), loadTestingFormat(), llvm::DWARFDebugLine::LineTable::lookupAddressRange(), fuzzer::Fuzzer::Loop(), LowerCMP_SWAP(), LowerDextDins(), operator new(), llvm::operator+=(), llvm::yaml::operator<<(), llvm::SmallVectorImpl< T >::operator=(), llvm::R600SchedStrategy::pickNode(), llvm::AArch64InstPrinter::printGPRSeqPairsClassOperand(), llvm::PrintStatistics(), reachedUsesToDefs(), readImmediate(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::SplitEditor::selectIntv(), llvm::X86MachineFunctionInfo::setArgumentStackSize(), llvm::ARMFunctionInfo::setArgumentStackSize(), llvm::StreamingMemoryObject::setKnownObjectSize(), llvm::PPCFunctionInfo::setMinReservedArea(), llvm::PPCFunctionInfo::setTailCallSPDelta(), llvm::DWARFFormValue::skipValue(), llvm::SmallVectorImpl< T >::swap(), and llvm::yaml::yamlize().

void* userdata

Definition at line 84 of file FuzzerTraceState.cpp.