Lines Matching defs:Assignment
1019 /// An Assignment is Known or NoneOrPhi. A Known Assignment means we have a
1023 /// The Status of the Assignment (Known or NoneOrPhi) is another
1031 struct Assignment {
1039 bool isSameSourceAssignment(const Assignment &Other) const {
1061 static Assignment make(DIAssignID *ID, DbgAssignIntrinsic *Source) {
1062 return Assignment(Known, ID, Source);
1064 static Assignment make(DIAssignID *ID, DbgVariableRecord *Source) {
1067 return Assignment(Known, ID, Source);
1069 static Assignment make(DIAssignID *ID, AssignRecord Source) {
1070 return Assignment(Known, ID, Source);
1072 static Assignment makeFromMemDef(DIAssignID *ID) {
1073 return Assignment(Known, ID);
1075 static Assignment makeNoneOrPhi() { return Assignment(NoneOrPhi, nullptr); }
1077 Assignment() : Status(NoneOrPhi), ID(nullptr) {} // Can we delete this?
1078 Assignment(S Status, DIAssignID *ID) : Status(Status), ID(ID) {
1082 Assignment(S Status, DIAssignID *ID, DbgAssignIntrinsic *Source)
1087 Assignment(S Status, DIAssignID *ID, DbgVariableRecord *Source)
1092 Assignment(S Status, DIAssignID *ID, AssignRecord Source)
1099 using AssignmentMap = SmallVector<Assignment>;
1157 /// Assignment (the class) between whether an assignment is unknown or a
1184 const Assignment &getAssignment(AssignmentKind Kind, VariableID Var) const {
1205 const Assignment &AV) {
1214 const Assignment &AV) const {
1242 Assignment::makeNoneOrPhi());
1244 Assignment::makeNoneOrPhi());
1337 static Assignment joinAssignment(const Assignment &A, const Assignment &B);
1363 void addMemDef(BlockInfo *LiveSet, VariableID Var, const Assignment &AV);
1365 void addDbgDef(BlockInfo *LiveSet, VariableID Var, const Assignment &AV);
1375 VariableID Var, const Assignment &AV);
1428 const Assignment &AV) {
1434 Assignment FragAV = AV;
1441 const Assignment &AV) {
1447 Assignment FragAV = AV;
1470 const Assignment &AV) {
1631 // ID though so use Assignment::makeNoneOrPhi() to create an imaginary one.
1632 addMemDef(LiveSet, Var, Assignment::makeNoneOrPhi());
1633 addDbgDef(LiveSet, Var, Assignment::makeNoneOrPhi());
1694 Assignment AV = Assignment::makeFromMemDef(getIDFromInst(I));
1702 // assignment has a matching Assignment.
1731 // location for this variable, and the Assignment doesn't match what
1733 Assignment DbgAV = LiveSet->getAssignment(BlockInfo::Debug, Var);
1734 if (DbgAV.Status == Assignment::NoneOrPhi) {
1774 Assignment AV = Assignment::make(getIDFromMarker(*DbgAssign), DbgAssign);
1782 // Assignment.
1822 // We have no ID to create an Assignment with so we mark this assignment as
1828 Assignment AV = Assignment::makeNoneOrPhi();
1972 AssignmentTrackingLowering::Assignment
1973 AssignmentTrackingLowering::joinAssignment(const Assignment &A,
1974 const Assignment &B) {
1982 return Assignment::makeNoneOrPhi();
1983 if (A.Status == Assignment::NoneOrPhi)
1984 return Assignment::makeNoneOrPhi();
2017 assert(A.Status == B.Status && A.Status == Assignment::Known);
2019 return Assignment::make(A.ID, Source);
2331 // Assignment, and the various join methods, which show that all the elements
2853 "Assignment Tracking Analysis", false, true)