1 //===- lib/MC/MCValue.cpp - MCValue implementation ------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "llvm/MC/MCValue.h" 11 #include "llvm/Support/Debug.h" 12 #include "llvm/Support/raw_ostream.h" 13 14 using namespace llvm; 15 16 void MCValue::print(raw_ostream &OS, const MCAsmInfo *MAI) const { 17 if (isAbsolute()) { 18 OS << getConstant(); 19 return; 20 } 21 22 getSymA()->print(OS, MAI); 23 24 if (getSymB()) { 25 OS << " - "; 26 getSymB()->print(OS, MAI); 27 } 28 29 if (getConstant()) 30 OS << " + " << getConstant(); 31 } 32 33 void MCValue::dump() const { 34 print(dbgs(), 0); 35 } 36