diff --git a/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp b/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp index 91a457d28a5..47f16512a39 100644 --- a/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp +++ b/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp @@ -20,7 +20,6 @@ #include "llvm/MC/MCSubtargetInfo.h" #include "llvm/MC/MCSymbol.h" #include "llvm/ADT/Statistic.h" -#include "llvm/Support/Compiler.h" #include "llvm/Support/EndianStream.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; @@ -31,7 +30,7 @@ namespace { class BPFMCCodeEmitter : public MCCodeEmitter { BPFMCCodeEmitter(const BPFMCCodeEmitter &) = delete; void operator=(const BPFMCCodeEmitter &) = delete; - const MCInstrInfo &MCII LLVM_ATTRIBUTE_UNUSED; // Unused in NDEBUG builds. + const MCInstrInfo &MCII; const MCRegisterInfo &MRI; bool IsLittleEndian; diff --git a/utils/TableGen/CodeEmitterGen.cpp b/utils/TableGen/CodeEmitterGen.cpp index ef44757b7d4..9bcdebd9548 100644 --- a/utils/TableGen/CodeEmitterGen.cpp +++ b/utils/TableGen/CodeEmitterGen.cpp @@ -356,7 +356,8 @@ void CodeEmitterGen::run(raw_ostream &o) { << " RequiredFeatures[Inst.getOpcode()];\n" << " if (MissingFeatures) {\n" << " std::ostringstream Msg;\n" - << " Msg << \"Attempting to emit \" << MCII.getName(Inst.getOpcode()).str()\n" + << " Msg << \"Attempting to emit \" << " + "MCII.getName(Inst.getOpcode()).str()\n" << " << \" instruction but the \";\n" << " for (unsigned i = 0; i < 8 * sizeof(MissingFeatures); ++i)\n" << " if (MissingFeatures & (1ULL << i))\n" @@ -364,6 +365,10 @@ void CodeEmitterGen::run(raw_ostream &o) { << " Msg << \"predicate(s) are not met\";\n" << " report_fatal_error(Msg.str());\n" << " }\n" + << "#else\n" + << "// Silence unused variable warning on targets that don't use MCII for " + "other purposes (e.g. BPF).\n" + << "(void)MCII;\n" << "#endif // NDEBUG\n"; o << "}\n"; o << "#endif\n";