summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ValueLattice.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2020-05-07 18:42:19 +0000
committerTom Stellard <tstellar@redhat.com>2020-05-18 18:54:45 -0700
commitbace7beb530db8bd6ac79aa6e9f1323b3e52e38b (patch)
tree553ad151ea08b5cdab71e3b8ac3da4cc27da9e50 /llvm/lib/Analysis/ValueLattice.cpp
parent4a89d0de5e9d8202a8eb4b9c1f34969fb796465a (diff)
downloadbcm5719-llvm-bace7beb530db8bd6ac79aa6e9f1323b3e52e38b.tar.gz
bcm5719-llvm-bace7beb530db8bd6ac79aa6e9f1323b3e52e38b.zip
Backport 4878aa36d4a [ValueLattice] Add new state for undef constants.
Summary: NOTE: I mostly put it on Phabricator to make it easy for other people to fetch & check if that fixes a bug. This patch backports 4878aa36d4a and required earlier patches onto the release/10.x branch. It includes the following patches: aa5ebfdf205de6d599c1fed3161da3b63b6f0bef [ValueLattice] Make mark* functions public, return if value changed. c1943b42c5b7feff5d0e0c1358d02889e2be165f [ValueLattice] Update markConstantRange to return false equal ranges. e30c257811f62fea21704caa961c61e4559de202 [CVP,SCCP] Precommit test for D75055. 4878aa36d4aa27df644430139fab2734fde4a000 [ValueLattice] Add new state for undef constants. All patches except the last one apply cleanly. For the last one, the changes to SCCP.cpp were stripped, because SCCP does not yet use ValueLattice on release/10.x. Otherwise we would have to pull in more additional changes. Subscribers: tstellar, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76596
Diffstat (limited to 'llvm/lib/Analysis/ValueLattice.cpp')
-rw-r--r--llvm/lib/Analysis/ValueLattice.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Analysis/ValueLattice.cpp b/llvm/lib/Analysis/ValueLattice.cpp
index a0115a0eec3..eaf8885cc14 100644
--- a/llvm/lib/Analysis/ValueLattice.cpp
+++ b/llvm/lib/Analysis/ValueLattice.cpp
@@ -10,8 +10,10 @@
namespace llvm {
raw_ostream &operator<<(raw_ostream &OS, const ValueLatticeElement &Val) {
- if (Val.isUndefined())
- return OS << "undefined";
+ if (Val.isUnknown())
+ return OS << "unknown";
+ if (Val.isUndef())
+ return OS << "undef";
if (Val.isOverdefined())
return OS << "overdefined";
OpenPOWER on IntegriCloud