1 //===- ValueLattice.cpp - Value constraint analysis -------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "llvm/Analysis/ValueLattice.h"
13 raw_ostream
&operator<<(raw_ostream
&OS
, const ValueLatticeElement
&Val
) {
14 if (Val
.isUndefined())
15 return OS
<< "undefined";
16 if (Val
.isOverdefined())
17 return OS
<< "overdefined";
19 if (Val
.isNotConstant())
20 return OS
<< "notconstant<" << *Val
.getNotConstant() << ">";
21 if (Val
.isConstantRange())
22 return OS
<< "constantrange<" << Val
.getConstantRange().getLower() << ", "
23 << Val
.getConstantRange().getUpper() << ">";
24 return OS
<< "constant<" << *Val
.getConstant() << ">";
26 } // end namespace llvm