Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
Show First 20 Lines • Show All 971 Lines • ▼ Show 20 Lines | |||||
public: | public: | ||||
VLocTracker(const OverlapMap &O, const DIExpression *EmptyExpr) | VLocTracker(const OverlapMap &O, const DIExpression *EmptyExpr) | ||||
: OverlappingFragments(O), EmptyProperties(EmptyExpr, false, false) {} | : OverlappingFragments(O), EmptyProperties(EmptyExpr, false, false) {} | ||||
void defVar(const MachineInstr &MI, const DbgValueProperties &Properties, | void defVar(const MachineInstr &MI, const DbgValueProperties &Properties, | ||||
const SmallVectorImpl<DbgOpID> &DebugOps) { | const SmallVectorImpl<DbgOpID> &DebugOps) { | ||||
assert(MI.isDebugValue() || MI.isDebugRef()); | assert(MI.isDebugValue() || MI.isDebugRef()); | ||||
assert(DebugOps.size() <= 1); | |||||
DebugVariable Var(MI.getDebugVariable(), MI.getDebugExpression(), | DebugVariable Var(MI.getDebugVariable(), MI.getDebugExpression(), | ||||
MI.getDebugLoc()->getInlinedAt()); | MI.getDebugLoc()->getInlinedAt()); | ||||
DbgValue Rec = (DebugOps.size() > 0) | DbgValue Rec = (DebugOps.size() > 0) | ||||
? DbgValue(DebugOps, Properties) | ? DbgValue(DebugOps, Properties) | ||||
: DbgValue(Properties, DbgValue::Undef); | : DbgValue(Properties, DbgValue::Undef); | ||||
// Attempt insertion; overwrite if it's already mapped. | // Attempt insertion; overwrite if it's already mapped. | ||||
auto Result = Vars.insert(std::make_pair(Var, Rec)); | auto Result = Vars.insert(std::make_pair(Var, Rec)); | ||||
▲ Show 20 Lines • Show All 435 Lines • Show Last 20 Lines |