if (i->start == j->start) {
// If this is not the allowed value merge, we cannot join.
if (i->ValId != ThisValIdx || j->ValId != OtherValIdx)
- return true;
+ return false;
} else if (i->start < j->start) {
if (i->end > j->start) {
if (i->ValId != ThisValIdx || j->ValId != OtherValIdx)
- return true;
+ return false;
}
} else {
if (j->end > i->start) {
if (i->ValId != ThisValIdx || j->ValId != OtherValIdx)
- return true;
+ return false;
}
}
if (i->end < j->end)
++j;
}
- return false;
+ return true;
}
IntA.containsOneValue() && IntB.containsOneValue();
unsigned MIDefIdx = getDefIndex(getInstructionIndex(mi));
- if ((TriviallyJoinable || !IntB.joinable(IntA, MIDefIdx)) &&
+ if ((TriviallyJoinable || IntB.joinable(IntA, MIDefIdx)) &&
!overlapsAliases(&IntA, &IntB)) {
IntB.join(IntA, MIDefIdx);