Lib/Liveness/RegUsage.cpp
/**
 * Check if found acc does not conflict with other uses of this acc.
 * It may have been assigned to another var whose use-range overlaps with current var.
 *
 * This is something waiting to happen. It has not occured yet.
 * This test serves as a canary; if it fires, we need to do something about the situation.
 */
Check if found acc does not conflict with other uses of this acc.
It may have been assigned to another var whose use-range overlaps with current var.

This is something waiting to happen. It has not occured yet.
This test serves as a canary; if it fires, we need to do something about the situation.
Check if found acc does not conflict with other uses of this acc . It may have been assigned to another var whose use - range overlaps with current var . This is something waiting to happen . It has not occured yet . This test serves as a canary ; if it fires we need to do something about the situation .
void RegUsage::check_overlap_usage(Reg acc, RegUsageItem const &item) const {
  assert(acc.tag == ACC);
  assert(acc.regId >= 0);
  for (int i = 0; i < (int) size(); ++i) {
    auto const &cur = (*this)[i];
    if (cur.reg != acc) continue;
    assertq(!cur.use_overlaps(item), "Detected conflicting usage of replacement acc", true);
  }
}
void RegUsage :: check_overlap_usage ( Reg acc , RegUsageItem const & item ) const { assert ( acc . tag == ACC ) ; assert ( acc . regId >= 0 ) ; for ( int i = 0 ; i < ( int ) size ( ) ; ++ i ) { auto const & cur = ( * this ) [ i ] ; if ( cur . reg != acc ) continue ; assertq ( ! cur . use_overlaps ( item ) , " " , true ) ; } }
Check if found acc does not conflict with other uses of this acc.
Check if found acc does not conflict with other uses of this acc .