003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/lib/Target/AVR/MCTargetDesc
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
lib
/
Target
/
AVR
/
MCTargetDesc
/
📁
..
📄
AVRAsmBackend.cpp
(14.86 KB)
📄
AVRAsmBackend.h
(2.26 KB)
📄
AVRELFObjectWriter.cpp
(4.75 KB)
📄
AVRELFStreamer.cpp
(2.07 KB)
📄
AVRELFStreamer.h
(779 B)
📄
AVRFixupKinds.h
(4.98 KB)
📄
AVRInstPrinter.cpp
(5.4 KB)
📄
AVRInstPrinter.h
(2.08 KB)
📄
AVRMCAsmInfo.cpp
(923 B)
📄
AVRMCAsmInfo.h
(874 B)
📄
AVRMCCodeEmitter.cpp
(9.69 KB)
📄
AVRMCCodeEmitter.h
(4.24 KB)
📄
AVRMCELFStreamer.cpp
(2.05 KB)
📄
AVRMCELFStreamer.h
(2.11 KB)
📄
AVRMCExpr.cpp
(5.79 KB)
📄
AVRMCExpr.h
(2.77 KB)
📄
AVRMCTargetDesc.cpp
(4.41 KB)
📄
AVRMCTargetDesc.h
(1.69 KB)
📄
AVRTargetStreamer.cpp
(1.49 KB)
📄
AVRTargetStreamer.h
(920 B)
Editing: AVRMCELFStreamer.cpp
//===--------- AVRMCELFStreamer.cpp - AVR subclass of MCELFStreamer -------===// // // 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 // //===----------------------------------------------------------------------===// // // This file is a stub that parses a MCInst bundle and passes the // instructions on to the real streamer. // //===----------------------------------------------------------------------===// #define DEBUG_TYPE "avrmcelfstreamer" #include "MCTargetDesc/AVRMCELFStreamer.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCSymbol.h" #include "llvm/MC/MCObjectWriter.h" using namespace llvm; void AVRMCELFStreamer::emitValueForModiferKind( const MCSymbol *Sym, unsigned SizeInBytes, SMLoc Loc, AVRMCExpr::VariantKind ModifierKind) { MCSymbolRefExpr::VariantKind Kind = MCSymbolRefExpr::VK_AVR_NONE; if (ModifierKind == AVRMCExpr::VK_AVR_None) { Kind = MCSymbolRefExpr::VK_AVR_DIFF8; if (SizeInBytes == SIZE_LONG) Kind = MCSymbolRefExpr::VK_AVR_DIFF32; else if (SizeInBytes == SIZE_WORD) Kind = MCSymbolRefExpr::VK_AVR_DIFF16; } else if (ModifierKind == AVRMCExpr::VK_AVR_LO8) Kind = MCSymbolRefExpr::VK_AVR_LO8; else if (ModifierKind == AVRMCExpr::VK_AVR_HI8) Kind = MCSymbolRefExpr::VK_AVR_HI8; else if (ModifierKind == AVRMCExpr::VK_AVR_HH8) Kind = MCSymbolRefExpr::VK_AVR_HLO8; MCELFStreamer::emitValue(MCSymbolRefExpr::create(Sym, Kind, getContext()), SizeInBytes, Loc); } namespace llvm { MCStreamer *createAVRELFStreamer(Triple const &TT, MCContext &Context, std::unique_ptr<MCAsmBackend> MAB, std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> CE) { return new AVRMCELFStreamer(Context, std::move(MAB), std::move(OW), std::move(CE)); } } // end namespace llvm
Upload File
Create Folder