Lines Matching refs:DIExpression
41 const DIExpression::FragmentInfo DebugVariable::DefaultFragment = {
487 isa<DIExpression>(CB)) && in getCount()
496 if (auto *MD = dyn_cast<DIExpression>(CB)) in getCount()
508 isa<DIExpression>(LB)) && in getLowerBound()
517 if (auto *MD = dyn_cast<DIExpression>(LB)) in getLowerBound()
529 isa<DIExpression>(UB)) && in getUpperBound()
538 if (auto *MD = dyn_cast<DIExpression>(UB)) in getUpperBound()
550 isa<DIExpression>(ST)) && in getStride()
559 if (auto *MD = dyn_cast<DIExpression>(ST)) in getStride()
584 assert((isa<DIVariable>(CB) || isa<DIExpression>(CB)) && in getCount()
590 if (auto *MD = dyn_cast<DIExpression>(CB)) in getCount()
601 assert((isa<DIVariable>(LB) || isa<DIExpression>(LB)) && in getLowerBound()
607 if (auto *MD = dyn_cast<DIExpression>(LB)) in getLowerBound()
618 assert((isa<DIVariable>(UB) || isa<DIExpression>(UB)) && in getUpperBound()
624 if (auto *MD = dyn_cast<DIExpression>(UB)) in getUpperBound()
635 assert((isa<DIVariable>(ST) || isa<DIExpression>(ST)) && in getStride()
641 if (auto *MD = dyn_cast<DIExpression>(ST)) in getStride()
1365 DIExpression *DIExpression::getImpl(LLVMContext &Context, in getImpl()
1368 DEFINE_GETIMPL_LOOKUP(DIExpression, (Elements)); in getImpl()
1369 DEFINE_GETIMPL_STORE_NO_OPS(DIExpression, (Elements)); in getImpl()
1371 bool DIExpression::isEntryValue() const { in isEntryValue()
1378 bool DIExpression::startsWithDeref() const { in startsWithDeref()
1384 bool DIExpression::isDeref() const { in isDeref()
1398 unsigned DIExpression::ExprOperand::getSize() const { in getSize()
1425 bool DIExpression::isValid() const { in isValid()
1517 bool DIExpression::isImplicit() const { in isImplicit()
1536 bool DIExpression::isComplex() const { in isComplex()
1559 bool DIExpression::isSingleLocationExpression() const { in isSingleLocationExpression()
1580 DIExpression::getSingleLocationExpressionElements() const { in getSingleLocationExpressionElements()
1596 const DIExpression *
1597 DIExpression::convertToUndefExpression(const DIExpression *Expr) { in convertToUndefExpression()
1603 return DIExpression::get(Expr->getContext(), UndefOps); in convertToUndefExpression()
1606 const DIExpression *
1607 DIExpression::convertToVariadicExpression(const DIExpression *Expr) { in convertToVariadicExpression()
1616 return DIExpression::get(Expr->getContext(), NewOps); in convertToVariadicExpression()
1619 std::optional<const DIExpression *>
1620 DIExpression::convertToNonVariadicExpression(const DIExpression *Expr) { in convertToNonVariadicExpression()
1625 return DIExpression::get(Expr->getContext(), *Elts); in convertToNonVariadicExpression()
1630 void DIExpression::canonicalizeExpressionOps(SmallVectorImpl<uint64_t> &Ops, in canonicalizeExpressionOps()
1631 const DIExpression *Expr, in canonicalizeExpressionOps()
1660 bool DIExpression::isEqualExpression(const DIExpression *FirstExpr, in isEqualExpression()
1662 const DIExpression *SecondExpr, in isEqualExpression()
1665 DIExpression::canonicalizeExpressionOps(FirstOps, FirstExpr, FirstIndirect); in isEqualExpression()
1667 DIExpression::canonicalizeExpressionOps(SecondOps, SecondExpr, in isEqualExpression()
1672 std::optional<DIExpression::FragmentInfo>
1673 DIExpression::getFragmentInfo(expr_op_iterator Start, expr_op_iterator End) { in getFragmentInfo()
1676 DIExpression::FragmentInfo Info = {I->getArg(1), I->getArg(0)}; in getFragmentInfo()
1682 std::optional<uint64_t> DIExpression::getActiveBits(DIVariable *Var) { in getActiveBits()
1717 void DIExpression::appendOffset(SmallVectorImpl<uint64_t> &Ops, in appendOffset()
1732 bool DIExpression::extractIfOffset(int64_t &Offset) const { in extractIfOffset()
1763 bool DIExpression::extractLeadingOffset( in extractLeadingOffset()
1802 bool DIExpression::hasAllLocationOps(unsigned N) const { in hasAllLocationOps()
1813 const DIExpression *DIExpression::extractAddressClass(const DIExpression *Expr, in extractAddressClass()
1831 return DIExpression::get( in extractAddressClass()
1838 DIExpression *DIExpression::prepend(const DIExpression *Expr, uint8_t Flags, in prepend()
1841 if (Flags & DIExpression::DerefBefore) in prepend()
1845 if (Flags & DIExpression::DerefAfter) in prepend()
1848 bool StackValue = Flags & DIExpression::StackValue; in prepend()
1849 bool EntryValue = Flags & DIExpression::EntryValue; in prepend()
1854 DIExpression *DIExpression::appendOpsToArg(const DIExpression *Expr, in appendOpsToArg()
1865 return DIExpression::prependOpcodes(Expr, NewOps, StackValue); in appendOpsToArg()
1886 return DIExpression::get(Expr->getContext(), NewOps); in appendOpsToArg()
1889 DIExpression *DIExpression::replaceArg(const DIExpression *Expr, in replaceArg()
1908 return DIExpression::get(Expr->getContext(), NewOps); in replaceArg()
1911 DIExpression *DIExpression::prependOpcodes(const DIExpression *Expr, in prependOpcodes()
1941 return DIExpression::get(Expr->getContext(), Ops); in prependOpcodes()
1944 DIExpression *DIExpression::append(const DIExpression *Expr, in append()
1963 DIExpression::get(Expr->getContext(), NewOps)->foldConstantMath(); in append()
1968 DIExpression *DIExpression::appendToStack(const DIExpression *Expr, in appendToStack()
1999 return DIExpression::append(Expr, NewOps); in appendToStack()
2002 std::optional<DIExpression *> DIExpression::createFragmentExpression( in createFragmentExpression()
2003 const DIExpression *Expr, unsigned OffsetInBits, unsigned SizeInBits) { in createFragmentExpression()
2091 return DIExpression::get(Expr->getContext(), Ops); in createFragmentExpression()
2095 bool DIExpression::calculateFragmentIntersect( in calculateFragmentIntersect()
2098 int64_t DbgExtractOffsetInBits, DIExpression::FragmentInfo VarFrag, in calculateFragmentIntersect()
2099 std::optional<DIExpression::FragmentInfo> &Result, in calculateFragmentIntersect()
2151 DIExpression::FragmentInfo SliceOfVariable(MemFragSize, MemFragStart); in calculateFragmentIntersect()
2154 DIExpression::FragmentInfo TrimmedSliceOfVariable = in calculateFragmentIntersect()
2155 DIExpression::FragmentInfo::intersect(SliceOfVariable, VarFrag); in calculateFragmentIntersect()
2163 std::pair<DIExpression *, const ConstantInt *>
2164 DIExpression::constantFold(const ConstantInt *CI) { in constantFold()
2198 return {DIExpression::get(getContext(), Ops), in constantFold()
2202 uint64_t DIExpression::getNumLocationOperands() const { in getNumLocationOperands()
2212 std::optional<DIExpression::SignedOrUnsignedConstant>
2213 DIExpression::isConstant() const { in isConstant()
2239 DIExpression::ExtOps DIExpression::getExtOps(unsigned FromSize, unsigned ToSize, in getExtOps()
2242 DIExpression::ExtOps Ops{{dwarf::DW_OP_LLVM_convert, FromSize, TK, in getExtOps()
2247 DIExpression *DIExpression::appendExt(const DIExpression *Expr, in appendExt()