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: AVRELFStreamer.cpp
#include "AVRELFStreamer.h" #include "llvm/BinaryFormat/ELF.h" #include "llvm/MC/MCSubtargetInfo.h" #include "llvm/MC/SubtargetFeature.h" #include "llvm/Support/FormattedStream.h" #include "AVRMCTargetDesc.h" namespace llvm { static unsigned getEFlagsForFeatureSet(const FeatureBitset &Features) { unsigned EFlags = 0; // Set architecture if (Features[AVR::ELFArchAVR1]) EFlags |= ELF::EF_AVR_ARCH_AVR1; else if (Features[AVR::ELFArchAVR2]) EFlags |= ELF::EF_AVR_ARCH_AVR2; else if (Features[AVR::ELFArchAVR25]) EFlags |= ELF::EF_AVR_ARCH_AVR25; else if (Features[AVR::ELFArchAVR3]) EFlags |= ELF::EF_AVR_ARCH_AVR3; else if (Features[AVR::ELFArchAVR31]) EFlags |= ELF::EF_AVR_ARCH_AVR31; else if (Features[AVR::ELFArchAVR35]) EFlags |= ELF::EF_AVR_ARCH_AVR35; else if (Features[AVR::ELFArchAVR4]) EFlags |= ELF::EF_AVR_ARCH_AVR4; else if (Features[AVR::ELFArchAVR5]) EFlags |= ELF::EF_AVR_ARCH_AVR5; else if (Features[AVR::ELFArchAVR51]) EFlags |= ELF::EF_AVR_ARCH_AVR51; else if (Features[AVR::ELFArchAVR6]) EFlags |= ELF::EF_AVR_ARCH_AVR6; else if (Features[AVR::ELFArchTiny]) EFlags |= ELF::EF_AVR_ARCH_AVRTINY; else if (Features[AVR::ELFArchXMEGA1]) EFlags |= ELF::EF_AVR_ARCH_XMEGA1; else if (Features[AVR::ELFArchXMEGA2]) EFlags |= ELF::EF_AVR_ARCH_XMEGA2; else if (Features[AVR::ELFArchXMEGA3]) EFlags |= ELF::EF_AVR_ARCH_XMEGA3; else if (Features[AVR::ELFArchXMEGA4]) EFlags |= ELF::EF_AVR_ARCH_XMEGA4; else if (Features[AVR::ELFArchXMEGA5]) EFlags |= ELF::EF_AVR_ARCH_XMEGA5; else if (Features[AVR::ELFArchXMEGA6]) EFlags |= ELF::EF_AVR_ARCH_XMEGA6; else if (Features[AVR::ELFArchXMEGA7]) EFlags |= ELF::EF_AVR_ARCH_XMEGA7; return EFlags; } AVRELFStreamer::AVRELFStreamer(MCStreamer &S, const MCSubtargetInfo &STI) : AVRTargetStreamer(S) { MCAssembler &MCA = getStreamer().getAssembler(); unsigned EFlags = MCA.getELFHeaderEFlags(); EFlags |= getEFlagsForFeatureSet(STI.getFeatureBits()); MCA.setELFHeaderEFlags(EFlags); } } // end namespace llvm
Upload File
Create Folder