Lines Matching refs:DIExpression
107 void addSingleLocVar(DebugVariable Var, DIExpression *Expr, DebugLoc DL, in addSingleLocVar()
118 void addVarLoc(Instruction *Before, DebugVariable Var, DIExpression *Expr, in addVarLoc()
213 static std::pair<Value *, DIExpression *>
215 DIExpression *Expression) { in walkToAllocaAndPrependOffsetDeref()
222 Expression = DIExpression::prependOpcodes( in walkToAllocaAndPrependOffsetDeref()
225 Expression = DIExpression::append(Expression, {dwarf::DW_OP_deref}); in walkToAllocaAndPrependOffsetDeref()
233 getDerefOffsetInBytes(const DIExpression *DIExpr) { in getDerefOffsetInBytes()
582 const DIExpression *DIExpr = VarLoc.Expr; in addDef()
857 DIExpression *Expr = DIExpression::get(Ctx, std::nullopt); in run()
858 Expr = *DIExpression::createFragmentExpression( in run()
860 Expr = DIExpression::prepend(Expr, DIExpression::DerefAfter, in run()
1245 auto Emit = [this, Source, After, DL](Value *Val, DIExpression *Expr) { in emitDbgValue()
1274 DIExpression *Expr = DAI->getAddressExpression(); in emitDbgValue()
1281 Expr = *DIExpression::createFragmentExpression( in emitDbgValue()
1349 DIExpression *DIE = DIExpression::get(I.getContext(), std::nullopt); in processUntaggedInstruction()
1351 auto R = DIExpression::createFragmentExpression(DIE, Frag->OffsetInBits, in processUntaggedInstruction()
1360 DIE = DIExpression::prependOpcodes(DIE, Ops, /*StackValue=*/false, in processUntaggedInstruction()
1794 static bool fullyContains(DIExpression::FragmentInfo A, in fullyContains()
1795 DIExpression::FragmentInfo B) { in fullyContains()
1861 std::optional<DIExpression::FragmentInfo> FragInfo = in buildOverlapMapAndRecordDeclares()
1862 [&Info, DAI]() -> std::optional<DIExpression::FragmentInfo> { in buildOverlapMapAndRecordDeclares()
1863 DIExpression::FragmentInfo F; in buildOverlapMapAndRecordDeclares()
1907 DIExpression::FragmentInfo Frag = It->getFragmentOrDefault(); in buildOverlapMapAndRecordDeclares()
1917 DIExpression::FragmentInfo OtherFrag = OtherIt->getFragmentOrDefault(); in buildOverlapMapAndRecordDeclares()
2067 VarLoc.Expr = DIExpression::get(Fn.getContext(), std::nullopt); in run()
2207 DenseMap<DebugVariable, std::pair<Value *, DIExpression *>> VariableMap; in removeRedundantDbgLocsUsingForwardScan()
2270 SmallDenseMap<DebugAggregate, SmallDenseSet<DIExpression::FragmentInfo>> in removeUndefDbgLocsFromEntryBlock()
2284 return DIExpression::fragmentsOverlap(Frag, V.getFragmentOrDefault()); in removeUndefDbgLocsFromEntryBlock()
2289 DenseMap<DebugVariable, std::pair<Value *, DIExpression *>> VariableMap; in removeUndefDbgLocsFromEntryBlock()