reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/IR/ConstantRange.cpp
  449   assert(getBitWidth() == CR.getBitWidth() &&
  453   if (   isEmptySet() || CR.isFullSet()) return *this;
  454   if (CR.isEmptySet() ||    isFullSet()) return CR;
  454   if (CR.isEmptySet() ||    isFullSet()) return CR;
  456   if (!isUpperWrapped() && CR.isUpperWrapped())
  457     return CR.intersectWith(*this, Type);
  459   if (!isUpperWrapped() && !CR.isUpperWrapped()) {
  460     if (Lower.ult(CR.Lower)) {
  463       if (Upper.ule(CR.Lower))
  468       if (Upper.ult(CR.Upper))
  469         return ConstantRange(CR.Lower, Upper);
  473       return CR;
  477     if (Upper.ult(CR.Upper))
  482     if (Lower.ult(CR.Upper))
  483       return ConstantRange(Lower, CR.Upper);
  490   if (isUpperWrapped() && !CR.isUpperWrapped()) {
  491     if (CR.Lower.ult(Upper)) {
  494       if (CR.Upper.ult(Upper))
  495         return CR;
  499       if (CR.Upper.ule(Lower))
  500         return ConstantRange(CR.Lower, Upper);
  504       return getPreferredRange(*this, CR, Type);
  506     if (CR.Lower.ult(Lower)) {
  509       if (CR.Upper.ule(Lower))
  514       return ConstantRange(Lower, CR.Upper);
  519     return CR;
  522   if (CR.Upper.ult(Upper)) {
  525     if (CR.Lower.ult(Upper))
  526       return getPreferredRange(*this, CR, Type);
  530     if (CR.Lower.ult(Lower))
  531       return ConstantRange(Lower, CR.Upper);
  535     return CR;
  537   if (CR.Upper.ule(Lower)) {
  540     if (CR.Lower.ult(Lower))
  545     return ConstantRange(CR.Lower, Upper);
  550   return getPreferredRange(*this, CR, Type);