diff options
Diffstat (limited to 'lib/Target/RISCV')
-rw-r--r-- | lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp | 4 | ||||
-rw-r--r-- | lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp | 5 | ||||
-rw-r--r-- | lib/Target/RISCV/RISCVInstrFormats.td | 3 | ||||
-rw-r--r-- | lib/Target/RISCV/RISCVTargetMachine.cpp | 6 |
4 files changed, 10 insertions, 8 deletions
diff --git a/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp b/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp index f8ef142255c86..d6f2672271e9b 100644 --- a/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp +++ b/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp @@ -33,7 +33,7 @@ public: ~RISCVAsmBackend() override {} void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize, - uint64_t Value, bool IsPCRel) const override; + uint64_t Value, bool IsPCRel, MCContext &Ctx) const override; MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const override; @@ -71,7 +71,7 @@ bool RISCVAsmBackend::writeNopData(uint64_t Count, MCObjectWriter *OW) const { void RISCVAsmBackend::applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize, uint64_t Value, - bool IsPCRel) const { + bool IsPCRel, MCContext &Ctx) const { return; } diff --git a/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp b/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp index 4fc69a7fcabad..41be0a2084b37 100644 --- a/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp +++ b/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp @@ -44,13 +44,12 @@ static MCRegisterInfo *createRISCVMCRegisterInfo(const Triple &TT) { static MCAsmInfo *createRISCVMCAsmInfo(const MCRegisterInfo &MRI, const Triple &TT) { - MCAsmInfo *MAI = new RISCVMCAsmInfo(TT); - return MAI; + return new RISCVMCAsmInfo(TT); } extern "C" void LLVMInitializeRISCVTargetMC() { for (Target *T : {&getTheRISCV32Target(), &getTheRISCV64Target()}) { - RegisterMCAsmInfoFn X(*T, createRISCVMCAsmInfo); + TargetRegistry::RegisterMCAsmInfo(*T, createRISCVMCAsmInfo); TargetRegistry::RegisterMCInstrInfo(*T, createRISCVMCInstrInfo); TargetRegistry::RegisterMCRegInfo(*T, createRISCVMCRegisterInfo); TargetRegistry::RegisterMCAsmBackend(*T, createRISCVAsmBackend); diff --git a/lib/Target/RISCV/RISCVInstrFormats.td b/lib/Target/RISCV/RISCVInstrFormats.td index 1e9bc3bf9bc5e..3fab7122f6f1a 100644 --- a/lib/Target/RISCV/RISCVInstrFormats.td +++ b/lib/Target/RISCV/RISCVInstrFormats.td @@ -44,8 +44,9 @@ class RISCVInst<dag outs, dag ins, string asmstr, list<dag> pattern> // Pseudo instructions class Pseudo<dag outs, dag ins, string asmstr, list<dag> pattern> - : RISCVInst<outs, ins, asmstr, pattern> { + : RISCVInst<outs, ins, "", pattern> { let isPseudo = 1; + let isCodeGenOnly = 1; } class FR<bits<7> funct7, bits<3> funct3, bits<7> opcode, dag outs, dag ins, diff --git a/lib/Target/RISCV/RISCVTargetMachine.cpp b/lib/Target/RISCV/RISCVTargetMachine.cpp index afbbe004186e7..a20331cd0a3ed 100644 --- a/lib/Target/RISCV/RISCVTargetMachine.cpp +++ b/lib/Target/RISCV/RISCVTargetMachine.cpp @@ -32,7 +32,7 @@ static std::string computeDataLayout(const Triple &TT) { return "e-m:e-i64:64-n32:64-S128"; } else { assert(TT.isArch32Bit() && "only RV32 and RV64 are currently supported"); - return "e-m:e-i64:64-n32-S128"; + return "e-m:e-p:32:32-i64:64-n32-S128"; } } @@ -51,7 +51,9 @@ RISCVTargetMachine::RISCVTargetMachine(const Target &T, const Triple &TT, CodeGenOpt::Level OL) : LLVMTargetMachine(T, computeDataLayout(TT), TT, CPU, FS, Options, getEffectiveRelocModel(TT, RM), CM, OL), - TLOF(make_unique<TargetLoweringObjectFileELF>()) {} + TLOF(make_unique<TargetLoweringObjectFileELF>()) { + initAsmInfo(); +} TargetPassConfig *RISCVTargetMachine::createPassConfig(PassManagerBase &PM) { return new TargetPassConfig(this, PM); |