1292915Sdim//===-- HexagonMCExpr.cpp - Hexagon specific MC expression classes 2292915Sdim//----------===// 3292915Sdim// 4292915Sdim// The LLVM Compiler Infrastructure 5292915Sdim// 6292915Sdim// This file is distributed under the University of Illinois Open Source 7292915Sdim// License. See LICENSE.TXT for details. 8292915Sdim// 9292915Sdim//===----------------------------------------------------------------------===// 10292915Sdim 11292915Sdim#include "HexagonMCExpr.h" 12292915Sdim#include "llvm/MC/MCContext.h" 13292915Sdim#include "llvm/MC/MCValue.h" 14292915Sdim#include "llvm/Support/raw_ostream.h" 15292915Sdim 16292915Sdimusing namespace llvm; 17292915Sdim 18292915Sdim#define DEBUG_TYPE "hexagon-mcexpr" 19292915Sdim 20292915SdimHexagonNoExtendOperand *HexagonNoExtendOperand::Create(MCExpr const *Expr, 21292915Sdim MCContext &Ctx) { 22292915Sdim return new (Ctx) HexagonNoExtendOperand(Expr); 23292915Sdim} 24292915Sdim 25292915Sdimbool HexagonNoExtendOperand::evaluateAsRelocatableImpl( 26292915Sdim MCValue &Res, MCAsmLayout const *Layout, MCFixup const *Fixup) const { 27292915Sdim return Expr->evaluateAsRelocatable(Res, Layout, Fixup); 28292915Sdim} 29292915Sdim 30292915Sdimvoid HexagonNoExtendOperand::visitUsedExpr(MCStreamer &Streamer) const {} 31292915Sdim 32292915SdimMCFragment *llvm::HexagonNoExtendOperand::findAssociatedFragment() const { 33292915Sdim return Expr->findAssociatedFragment(); 34292915Sdim} 35292915Sdim 36292915Sdimvoid HexagonNoExtendOperand::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const {} 37292915Sdim 38292915SdimMCExpr const *HexagonNoExtendOperand::getExpr() const { return Expr; } 39292915Sdim 40292915Sdimbool HexagonNoExtendOperand::classof(MCExpr const *E) { 41292915Sdim return E->getKind() == MCExpr::Target; 42292915Sdim} 43292915Sdim 44292915SdimHexagonNoExtendOperand::HexagonNoExtendOperand(MCExpr const *Expr) 45292915Sdim : Expr(Expr) {} 46292915Sdim 47292915Sdimvoid HexagonNoExtendOperand::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const { 48292915Sdim Expr->print(OS, MAI); 49292915Sdim} 50