003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
lib
/
Target
/
Lanai
/
MCTargetDesc
/
📁
..
📄
LanaiAsmBackend.cpp
(5.81 KB)
📄
LanaiBaseInfo.h
(2.68 KB)
📄
LanaiELFObjectWriter.cpp
(2.69 KB)
📄
LanaiFixupKinds.h
(1.46 KB)
📄
LanaiInstPrinter.cpp
(10.8 KB)
📄
LanaiInstPrinter.h
(3.09 KB)
📄
LanaiMCAsmInfo.cpp
(1.29 KB)
📄
LanaiMCAsmInfo.h
(987 B)
📄
LanaiMCCodeEmitter.cpp
(11.08 KB)
📄
LanaiMCExpr.cpp
(1.6 KB)
📄
LanaiMCExpr.h
(1.75 KB)
📄
LanaiMCTargetDesc.cpp
(5.48 KB)
📄
LanaiMCTargetDesc.h
(1.8 KB)
Editing: LanaiMCExpr.cpp
//===-- LanaiMCExpr.cpp - Lanai specific MC expression classes ------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "LanaiMCExpr.h" #include "llvm/MC/MCAssembler.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCStreamer.h" using namespace llvm; #define DEBUG_TYPE "lanaimcexpr" const LanaiMCExpr *LanaiMCExpr::create(VariantKind Kind, const MCExpr *Expr, MCContext &Ctx) { return new (Ctx) LanaiMCExpr(Kind, Expr); } void LanaiMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const { if (Kind == VK_Lanai_None) { Expr->print(OS, MAI); return; } switch (Kind) { default: llvm_unreachable("Invalid kind!"); case VK_Lanai_ABS_HI: OS << "hi"; break; case VK_Lanai_ABS_LO: OS << "lo"; break; } OS << '('; const MCExpr *Expr = getSubExpr(); Expr->print(OS, MAI); OS << ')'; } void LanaiMCExpr::visitUsedExpr(MCStreamer &Streamer) const { Streamer.visitUsedExpr(*getSubExpr()); } bool LanaiMCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAsmLayout *Layout, const MCFixup *Fixup) const { if (!getSubExpr()->evaluateAsRelocatable(Res, Layout, Fixup)) return false; Res = MCValue::get(Res.getSymA(), Res.getSymB(), Res.getConstant(), getKind()); return true; }
Upload File
Create Folder