diff options
Diffstat (limited to 'llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp')
-rw-r--r-- | llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp index f2438ee4307..d131d4dc13e 100644 --- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp +++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp @@ -100,14 +100,13 @@ namespace { class SparcAsmBackend : public MCAsmBackend { protected: const Target &TheTarget; - bool IsLittleEndian; bool Is64Bit; public: SparcAsmBackend(const Target &T) - : MCAsmBackend(), TheTarget(T), - IsLittleEndian(StringRef(TheTarget.getName()) == "sparcel"), - Is64Bit(StringRef(TheTarget.getName()) == "sparcv9") {} + : MCAsmBackend(StringRef(T.getName()) == "sparcel" ? support::little + : support::big), + TheTarget(T), Is64Bit(StringRef(TheTarget.getName()) == "sparcv9") {} unsigned getNumFixupKinds() const override { return Sparc::NumTargetFixupKinds; @@ -197,7 +196,7 @@ namespace { assert(unsigned(Kind - FirstTargetFixupKind) < getNumFixupKinds() && "Invalid kind!"); - if (IsLittleEndian) + if (Endian == support::little) return InfosLE[Kind - FirstTargetFixupKind]; return InfosBE[Kind - FirstTargetFixupKind]; @@ -255,14 +254,14 @@ namespace { llvm_unreachable("relaxInstruction() unimplemented"); } - bool writeNopData(uint64_t Count, MCObjectWriter *OW) const override { + bool writeNopData(raw_ostream &OS, uint64_t Count) const override { // Cannot emit NOP with size not multiple of 32 bits. if (Count % 4 != 0) return false; uint64_t NumNops = Count / 4; for (uint64_t i = 0; i != NumNops; ++i) - OW->write32(0x01000000); + support::endian::write<uint32_t>(OS, 0x01000000, Endian); return true; } @@ -287,7 +286,7 @@ namespace { // from the fixup value. The Value has been "split up" into the // appropriate bitfields above. for (unsigned i = 0; i != 4; ++i) { - unsigned Idx = IsLittleEndian ? i : 3 - i; + unsigned Idx = Endian == support::little ? i : 3 - i; Data[Offset + Idx] |= uint8_t((Value >> (i * 8)) & 0xff); } } @@ -295,7 +294,8 @@ namespace { std::unique_ptr<MCObjectWriter> createObjectWriter(raw_pwrite_stream &OS) const override { uint8_t OSABI = MCELFObjectTargetWriter::getOSABI(OSType); - return createSparcELFObjectWriter(OS, Is64Bit, IsLittleEndian, OSABI); + return createSparcELFObjectWriter(OS, Is64Bit, + Endian == support::little, OSABI); } }; |