Index: llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp =================================================================== --- llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -10961,7 +10961,7 @@ // Only after the instruction is fully processed, we can validate it if (wasInITBlock && hasV8Ops() && isThumb() && - !isV8EligibleForIT(&Inst)) { + !isV8EligibleForIT(&Inst) && !getTargetOptions().MCNoDeprecatedWarn) { Warning(IDLoc, "deprecated instruction in IT block"); } } Index: llvm/utils/TableGen/AsmMatcherEmitter.cpp =================================================================== --- llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ llvm/utils/TableGen/AsmMatcherEmitter.cpp @@ -3924,8 +3924,7 @@ if (HasDeprecation) { OS << " std::string Info;\n"; - OS << " if (!getParser().getTargetParser().\n"; - OS << " getTargetOptions().MCNoDeprecatedWarn &&\n"; + OS << " if (!getParser().getTargetParser().getTargetOptions().MCNoDeprecatedWarn &&\n"; OS << " MII.getDeprecatedInfo(Inst, getSTI(), Info)) {\n"; OS << " SMLoc Loc = ((" << Target.getName() << "Operand &)*Operands[0]).getStartLoc();\n";