Lines Matching refs:DIExpression
138 void addSingleLocVar(DebugVariable Var, DIExpression *Expr, DebugLoc DL, in addSingleLocVar()
149 void addVarLoc(VarLocInsertPt Before, DebugVariable Var, DIExpression *Expr, in addVarLoc()
266 static std::pair<Value *, DIExpression *>
268 DIExpression *Expression) { in walkToAllocaAndPrependOffsetDeref()
275 Expression = DIExpression::prependOpcodes( in walkToAllocaAndPrependOffsetDeref()
278 Expression = DIExpression::append(Expression, {dwarf::DW_OP_deref}); in walkToAllocaAndPrependOffsetDeref()
286 getDerefOffsetInBytes(const DIExpression *DIExpr) { in getDerefOffsetInBytes()
680 const DIExpression *DIExpr = VarLoc.Expr; in addDef()
969 DIExpression *Expr = DIExpression::get(Ctx, std::nullopt); in run()
972 Expr = *DIExpression::createFragmentExpression( in run()
974 Expr = DIExpression::prepend(Expr, DIExpression::DerefAfter, in run()
1539 auto Emit = [this, Source, After, DL](Metadata *Val, DIExpression *Expr) { in emitDbgValue()
1569 DIExpression *Expr = Assign->getAddressExpression(); in emitDbgValue()
1576 Expr = *DIExpression::createFragmentExpression( in emitDbgValue()
1641 DIExpression *DIE = DIExpression::get(I.getContext(), std::nullopt); in processUntaggedInstruction()
1643 auto R = DIExpression::createFragmentExpression(DIE, Frag->OffsetInBits, in processUntaggedInstruction()
1652 DIE = DIExpression::prependOpcodes(DIE, Ops, /*StackValue=*/false, in processUntaggedInstruction()
2098 static bool fullyContains(DIExpression::FragmentInfo A, in fullyContains()
2099 DIExpression::FragmentInfo B) { in fullyContains()
2190 std::optional<DIExpression::FragmentInfo> FragInfo; in buildOverlapMapAndRecordDeclares()
2248 DIExpression::FragmentInfo Frag = It->getFragmentOrDefault(); in buildOverlapMapAndRecordDeclares()
2258 DIExpression::FragmentInfo OtherFrag = OtherIt->getFragmentOrDefault(); in buildOverlapMapAndRecordDeclares()
2422 VarLoc.Expr = DIExpression::get(Fn.getContext(), std::nullopt); in run()
2543 DIExpression::FragmentInfo Fragment = in removeRedundantDbgLocsUsingBackwardScan()
2545 DIExpression::FragmentInfo(SizeInBits, 0)); in removeRedundantDbgLocsUsingBackwardScan()
2592 DenseMap<DebugVariable, std::pair<RawLocationWrapper, DIExpression *>> in removeRedundantDbgLocsUsingForwardScan()
2662 SmallDenseMap<DebugAggregate, SmallDenseSet<DIExpression::FragmentInfo>> in removeUndefDbgLocsFromEntryBlock()
2676 return DIExpression::fragmentsOverlap(Frag, V.getFragmentOrDefault()); in removeUndefDbgLocsFromEntryBlock()
2681 DenseMap<DebugVariable, std::pair<Value *, DIExpression *>> VariableMap; in removeUndefDbgLocsFromEntryBlock()