diff options
Diffstat (limited to 'contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp')
-rw-r--r-- | contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp b/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp index 1bb5173..f2da389 100644 --- a/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp +++ b/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp @@ -79,7 +79,7 @@ static MCAsmInfo *createPPCMCAsmInfo(const MCRegisterInfo &MRI, StringRef TT) { if (TheTriple.isOSDarwin()) MAI = new PPCMCAsmInfoDarwin(isPPC64, TheTriple); else - MAI = new PPCLinuxMCAsmInfo(isPPC64, TheTriple); + MAI = new PPCELFMCAsmInfo(isPPC64, TheTriple); // Initial state of the frame pointer is R1. unsigned Reg = isPPC64 ? PPC::X1 : PPC::R1; @@ -129,10 +129,10 @@ public: void emitMachine(StringRef CPU) override { OS << "\t.machine " << CPU << '\n'; } - virtual void emitAbiVersion(int AbiVersion) override { + void emitAbiVersion(int AbiVersion) override { OS << "\t.abiversion " << AbiVersion << '\n'; } - virtual void emitLocalEntry(MCSymbol *S, const MCExpr *LocalOffset) { + void emitLocalEntry(MCSymbol *S, const MCExpr *LocalOffset) override { OS << "\t.localentry\t" << *S << ", " << *LocalOffset << '\n'; } }; @@ -143,7 +143,7 @@ public: MCELFStreamer &getStreamer() { return static_cast<MCELFStreamer &>(Streamer); } - virtual void emitTCEntry(const MCSymbol &S) override { + void emitTCEntry(const MCSymbol &S) override { // Creates a R_PPC64_TOC relocation Streamer.EmitSymbolValue(&S, 8); } @@ -151,14 +151,14 @@ public: // FIXME: Is there anything to do in here or does this directive only // limit the parser? } - virtual void emitAbiVersion(int AbiVersion) override { + void emitAbiVersion(int AbiVersion) override { MCAssembler &MCA = getStreamer().getAssembler(); unsigned Flags = MCA.getELFHeaderEFlags(); Flags &= ~ELF::EF_PPC64_ABI; Flags |= (AbiVersion & ELF::EF_PPC64_ABI); MCA.setELFHeaderEFlags(Flags); } - virtual void emitLocalEntry(MCSymbol *S, const MCExpr *LocalOffset) { + void emitLocalEntry(MCSymbol *S, const MCExpr *LocalOffset) override { MCAssembler &MCA = getStreamer().getAssembler(); MCSymbolData &Data = getStreamer().getOrCreateSymbolData(S); @@ -213,10 +213,10 @@ public: // FIXME: We should update the CPUType, CPUSubType in the Object file if // the new values are different from the defaults. } - virtual void emitAbiVersion(int AbiVersion) override { + void emitAbiVersion(int AbiVersion) override { llvm_unreachable("Unknown pseudo-op: .abiversion"); } - virtual void emitLocalEntry(MCSymbol *S, const MCExpr *LocalOffset) { + void emitLocalEntry(MCSymbol *S, const MCExpr *LocalOffset) override { llvm_unreachable("Unknown pseudo-op: .localentry"); } }; @@ -225,19 +225,15 @@ public: // This is duplicated code. Refactor this. static MCStreamer *createMCStreamer(const Target &T, StringRef TT, MCContext &Ctx, MCAsmBackend &MAB, - raw_ostream &OS, - MCCodeEmitter *Emitter, - const MCSubtargetInfo &STI, - bool RelaxAll, - bool NoExecStack) { + raw_ostream &OS, MCCodeEmitter *Emitter, + const MCSubtargetInfo &STI, bool RelaxAll) { if (Triple(TT).isOSDarwin()) { MCStreamer *S = createMachOStreamer(Ctx, MAB, OS, Emitter, RelaxAll); new PPCTargetMachOStreamer(*S); return S; } - MCStreamer *S = - createELFStreamer(Ctx, MAB, OS, Emitter, RelaxAll, NoExecStack); + MCStreamer *S = createELFStreamer(Ctx, MAB, OS, Emitter, RelaxAll); new PPCTargetELFStreamer(*S); return S; } |