diff options
Diffstat (limited to 'llvm/lib/Target/Mips/MipsSubtarget.cpp')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsSubtarget.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/llvm/lib/Target/Mips/MipsSubtarget.cpp b/llvm/lib/Target/Mips/MipsSubtarget.cpp index c285385a19dd..10530cdafeed 100644 --- a/llvm/lib/Target/Mips/MipsSubtarget.cpp +++ b/llvm/lib/Target/Mips/MipsSubtarget.cpp @@ -64,6 +64,7 @@ bool MipsSubtarget::MSAWarningPrinted = false; bool MipsSubtarget::VirtWarningPrinted = false; bool MipsSubtarget::CRCWarningPrinted = false; bool MipsSubtarget::GINVWarningPrinted = false; +bool MipsSubtarget::MIPS1WarningPrinted = false; void MipsSubtarget::anchor() {} @@ -91,10 +92,14 @@ MipsSubtarget::MipsSubtarget(const Triple &TT, StringRef CPU, StringRef FS, if (MipsArchVersion == MipsDefault) MipsArchVersion = Mips32; - // Don't even attempt to generate code for MIPS-I and MIPS-V. They have not - // been tested and currently exist for the integrated assembler only. - if (MipsArchVersion == Mips1) - report_fatal_error("Code generation for MIPS-I is not implemented", false); + // MIPS-I has not been tested. + if (MipsArchVersion == Mips1 && !MIPS1WarningPrinted) { + errs() << "warning: MIPS-I support is experimental\n"; + MIPS1WarningPrinted = true; + } + + // Don't even attempt to generate code for MIPS-V. It has not + // been tested and currently exists for the integrated assembler only. if (MipsArchVersion == Mips5) report_fatal_error("Code generation for MIPS-V is not implemented", false); @@ -111,7 +116,7 @@ MipsSubtarget::MipsSubtarget(const Triple &TT, StringRef CPU, StringRef FS, if (isFP64bit() && !hasMips64() && hasMips32() && !hasMips32r2()) report_fatal_error( "FPU with 64-bit registers is not available on MIPS32 pre revision 2. " - "Use -mcpu=mips32r2 or greater."); + "Use -mcpu=mips32r2 or greater.", false); if (!isABI_O32() && !useOddSPReg()) report_fatal_error("-mattr=+nooddspreg requires the O32 ABI.", false); |
