1198090Srdivacky//===- lib/MC/MCValue.cpp - MCValue implementation ------------------------===// 2198090Srdivacky// 3198090Srdivacky// The LLVM Compiler Infrastructure 4198090Srdivacky// 5198090Srdivacky// This file is distributed under the University of Illinois Open Source 6198090Srdivacky// License. See LICENSE.TXT for details. 7198090Srdivacky// 8198090Srdivacky//===----------------------------------------------------------------------===// 9198090Srdivacky 10198090Srdivacky#include "llvm/MC/MCValue.h" 11205407Srdivacky#include "llvm/MC/MCExpr.h" 12202375Srdivacky#include "llvm/Support/Debug.h" 13198090Srdivacky#include "llvm/Support/raw_ostream.h" 14198090Srdivacky 15198090Srdivackyusing namespace llvm; 16198090Srdivacky 17198090Srdivackyvoid MCValue::print(raw_ostream &OS, const MCAsmInfo *MAI) const { 18198090Srdivacky if (isAbsolute()) { 19198090Srdivacky OS << getConstant(); 20198090Srdivacky return; 21198090Srdivacky } 22198090Srdivacky 23205407Srdivacky getSymA()->print(OS); 24198090Srdivacky 25205407Srdivacky if (getSymB()) { 26205407Srdivacky OS << " - "; 27205407Srdivacky getSymB()->print(OS); 28205407Srdivacky } 29198090Srdivacky 30198090Srdivacky if (getConstant()) 31198090Srdivacky OS << " + " << getConstant(); 32198090Srdivacky} 33198090Srdivacky 34243830Sdim#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) 35198090Srdivackyvoid MCValue::dump() const { 36202375Srdivacky print(dbgs(), 0); 37198090Srdivacky} 38243830Sdim#endif 39