LLVM 17.0.0git
|
Classes | |
struct | OpDescriptor |
A description of some operation we can build while fuzzing IR. More... | |
class | SourcePred |
A matcher/generator for finding suitable values for the next source in an operation's partially completed argument list. More... | |
|
inlinestatic |
Definition at line 164 of file OpDescriptor.h.
References Find().
Referenced by extractValueDescriptor(), and insertValueDescriptor().
|
inlinestatic |
Definition at line 120 of file OpDescriptor.h.
Referenced by binOpDescriptor(), and cmpOpDescriptor().
|
inlinestatic |
Definition at line 112 of file OpDescriptor.h.
Referenced by binOpDescriptor(), cmpOpDescriptor(), extractElementDescriptor(), gepDescriptor(), and insertElementDescriptor().
|
inlinestatic |
Definition at line 128 of file OpDescriptor.h.
References llvm::UndefValue::get(), and llvm::PointerType::getUnqual().
|
inlinestatic |
Definition at line 104 of file OpDescriptor.h.
Referenced by llvm::RandomIRBuilder::findOrCreateSource().
|
inlinestatic |
Definition at line 182 of file OpDescriptor.h.
Referenced by extractElementDescriptor(), insertElementDescriptor(), and shuffleVectorDescriptor().
OpDescriptor llvm::fuzzerop::binOpDescriptor | ( | unsigned | Weight, |
Instruction::BinaryOps | Op | ||
) |
Descriptors for individual operations.
Definition at line 91 of file Operations.cpp.
References anyFloatType(), anyIntType(), llvm::BinaryOperator::Create(), llvm_unreachable, and matchFirstType().
Referenced by llvm::describeFuzzerFloatOps(), and llvm::describeFuzzerIntOps().
OpDescriptor llvm::fuzzerop::cmpOpDescriptor | ( | unsigned | Weight, |
Instruction::OtherOps | CmpOp, | ||
CmpInst::Predicate | Pred | ||
) |
Definition at line 123 of file Operations.cpp.
References anyFloatType(), anyIntType(), llvm::CmpInst::Create(), llvm_unreachable, and matchFirstType().
Referenced by llvm::describeFuzzerFloatOps(), and llvm::describeFuzzerIntOps().
OpDescriptor llvm::fuzzerop::extractElementDescriptor | ( | unsigned | Weight | ) |
Definition at line 289 of file Operations.cpp.
References anyIntType(), anyVectorType(), and llvm::ExtractElementInst::Create().
Referenced by llvm::describeFuzzerVectorOps().
OpDescriptor llvm::fuzzerop::extractValueDescriptor | ( | unsigned | Weight | ) |
Definition at line 218 of file Operations.cpp.
References anyAggregateType(), llvm::ExtractValueInst::Create(), Idx, and validExtractValueIndex().
Referenced by llvm::describeFuzzerAggregateOps().
OpDescriptor llvm::fuzzerop::gepDescriptor | ( | unsigned | Weight | ) |
Definition at line 170 of file Operations.cpp.
References anyIntType(), llvm::GetElementPtrInst::Create(), llvm::ArrayRef< T >::drop_front(), and sizedPtrType().
Referenced by llvm::describeFuzzerPointerOps().
OpDescriptor llvm::fuzzerop::insertElementDescriptor | ( | unsigned | Weight | ) |
Definition at line 297 of file Operations.cpp.
References anyIntType(), anyVectorType(), llvm::InsertElementInst::Create(), and matchScalarOfFirstType().
Referenced by llvm::describeFuzzerVectorOps().
OpDescriptor llvm::fuzzerop::insertValueDescriptor | ( | unsigned | Weight | ) |
Definition at line 277 of file Operations.cpp.
References anyAggregateType(), llvm::InsertValueInst::Create(), Idx, matchScalarInAggregate(), and validInsertValueIndex().
Referenced by llvm::describeFuzzerAggregateOps().
Definition at line 33 of file OpDescriptor.cpp.
References makeConstantsWithType().
Populate a small list of potentially interesting constants of a given type.
Definition at line 15 of file OpDescriptor.cpp.
References llvm::UndefValue::get(), llvm::ConstantFP::get(), llvm::ConstantInt::get(), llvm::APFloat::getLargest(), llvm::APInt::getMaxValue(), llvm::APInt::getMinValue(), llvm::APInt::getOneBitSet(), llvm::APInt::getSignedMaxValue(), llvm::APInt::getSignedMinValue(), llvm::APFloat::getSmallest(), and llvm::APFloat::getZero().
Referenced by makeConstantsWithType(), matchFirstType(), matchScalarInAggregate(), matchScalarOfFirstType(), onlyType(), and llvm::fuzzerop::SourcePred::SourcePred().
|
inlinestatic |
Match values that have the same type as the first source.
Definition at line 194 of file OpDescriptor.h.
References assert(), llvm::ArrayRef< T >::empty(), getType(), and makeConstantsWithType().
Referenced by binOpDescriptor(), cmpOpDescriptor(), llvm::RandomIRBuilder::newSink(), and shuffleVectorDescriptor().
|
inlinestatic |
Match values that have the first source's scalar type.
Definition at line 207 of file OpDescriptor.h.
References assert(), llvm::ArrayRef< T >::empty(), getType(), and makeConstantsWithType().
Referenced by insertElementDescriptor().
|
inlinestatic |
Definition at line 94 of file OpDescriptor.h.
References makeConstantsWithType().
Referenced by llvm::InsertCFGStrategy::mutate(), llvm::InsertPHIStrategy::mutate(), and llvm::InstDeleterIRStrategy::mutate().
OpDescriptor llvm::fuzzerop::shuffleVectorDescriptor | ( | unsigned | Weight | ) |
Definition at line 322 of file Operations.cpp.
References anyVectorType(), matchFirstType(), and validShuffleVectorIndex().
Referenced by llvm::describeFuzzerVectorOps().
|
inlinestatic |
Definition at line 142 of file OpDescriptor.h.
References llvm::UndefValue::get(), and llvm::PointerType::getUnqual().
Referenced by gepDescriptor().
OpDescriptor llvm::fuzzerop::splitBlockDescriptor | ( | unsigned | Weight | ) |
Definition at line 140 of file Operations.cpp.
References llvm::BranchInst::Create(), llvm::UndefValue::get(), and PHI.
Referenced by llvm::describeFuzzerControlFlowOps().