clang 22.0.0git
SimpleSValBuilder.cpp File Reference

Go to the source code of this file.

Functions

static bool isNegationValuePreserving (const llvm::APSInt &Value, APSIntType ResultType)
static bool isInRelation (BinaryOperator::Opcode Rel, SymbolRef Sym, llvm::APSInt Bound, ProgramStateRef State)
static bool isWithinConstantOverflowBounds (SymbolRef Sym, ProgramStateRef State)
static bool isWithinConstantOverflowBounds (llvm::APSInt I)
static std::pair< SymbolRef, APSIntPtrdecomposeSymbol (SymbolRef Sym, BasicValueFactory &BV)
static NonLoc doRearrangeUnchecked (ProgramStateRef State, BinaryOperator::Opcode Op, SymbolRef LSym, llvm::APSInt LInt, SymbolRef RSym, llvm::APSInt RInt)
static bool shouldRearrange (ProgramStateRef State, BinaryOperator::Opcode Op, SymbolRef Sym, llvm::APSInt Int, QualType Ty)
static std::optional< NonLoctryRearrange (ProgramStateRef State, BinaryOperator::Opcode Op, NonLoc Lhs, NonLoc Rhs, QualType ResultTy)
static SVal evalBinOpFieldRegionFieldRegion (const FieldRegion *LeftFR, const FieldRegion *RightFR, BinaryOperator::Opcode op, QualType resultTy, SimpleSValBuilder &SVB)
static void assertEqualBitWidths (ProgramStateRef State, Loc RhsLoc, Loc LhsLoc)

Function Documentation

◆ assertEqualBitWidths()

void assertEqualBitWidths ( ProgramStateRef State,
Loc RhsLoc,
Loc LhsLoc )
static

◆ decomposeSymbol()

std::pair< SymbolRef, APSIntPtr > decomposeSymbol ( SymbolRef Sym,
BasicValueFactory & BV )
static

◆ doRearrangeUnchecked()

◆ evalBinOpFieldRegionFieldRegion()

SVal evalBinOpFieldRegionFieldRegion ( const FieldRegion * LeftFR,
const FieldRegion * RightFR,
BinaryOperator::Opcode op,
QualType resultTy,
SimpleSValBuilder & SVB )
static

◆ isInRelation()

◆ isNegationValuePreserving()

bool isNegationValuePreserving ( const llvm::APSInt & Value,
APSIntType ResultType )
static

◆ isWithinConstantOverflowBounds() [1/2]

◆ isWithinConstantOverflowBounds() [2/2]

◆ shouldRearrange()

◆ tryRearrange()