Skip to content

Commit

Permalink
Reintroduce a check accidentally removed in 288873 to fix clang bots
Browse files Browse the repository at this point in the history
I believe this is the cause of the failure, but have not been able to confirm.  Note that this is a speculative fix; I'm still waiting for a full build to finish as I synced and ended up doing a clean build which takes 20+ minutes on my machine.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288886 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
preames committed Dec 7, 2016
1 parent 315dd32 commit 59d0d38
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions lib/Analysis/LazyValueInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,14 @@ class LVILatticeVal {
/// "nothing known yet".
undefined,

/// This Value has a specific constant value. (For integers, constantrange
/// is used instead.)
/// This Value has a specific constant value. (For constant integers,
/// constantrange is used instead. Integer typed constantexprs can appear
/// as constant.)
constant,

/// This Value is known to not have the specified value. (For integers,
/// constantrange is used instead.)
/// This Value is known to not have the specified value. (For constant
/// integers, constantrange is used instead. As above, integer typed
/// constantexprs can appear here.)
notconstant,

/// The Value falls within this range. (Used only for integer typed values.)
Expand Down Expand Up @@ -232,6 +234,12 @@ class LVILatticeVal {
}

assert(isConstantRange() && "New LVILattice type?");
if (!RHS.isConstantRange()) {
// We can get here if we've encountered a constantexpr of integer type
// and merge it with a constantrange.
markOverdefined();
return;
}
ConstantRange NewR = Range.unionWith(RHS.getConstantRange());
if (NewR.isFullSet())
markOverdefined();
Expand Down

0 comments on commit 59d0d38

Please sign in to comment.