diff --git a/llvm/lib/MC/MCSubtargetInfo.cpp b/llvm/lib/MC/MCSubtargetInfo.cpp --- a/llvm/lib/MC/MCSubtargetInfo.cpp +++ b/llvm/lib/MC/MCSubtargetInfo.cpp @@ -311,10 +311,7 @@ const SubtargetSubTypeKV *CPUEntry = Find(CPU, ProcDesc); if (!CPUEntry) { - if (CPU != "help") // Don't error if the user asked for help. - errs() << "'" << CPU - << "' is not a recognized processor for this target" - << " (ignoring processor)\n"; + // A warning for this was already printed in getFeatures() return MCSchedModel::GetDefaultSchedModel(); } assert(CPUEntry->SchedModel && "Missing processor SchedModel value"); diff --git a/llvm/test/tools/llvm-objdump/warn-mattr-unrecognized.test b/llvm/test/tools/llvm-objdump/warn-mattr-unrecognized.test new file mode 100644 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/warn-mattr-unrecognized.test @@ -0,0 +1,15 @@ +# RUN: yaml2obj %s -o %t +# RUN: llvm-objdump -d %t --mcpu=alderlake --mattr=not-an-attr 2>&1 | FileCheck %s +# REQUIRES: x86-registered-target + +# CHECK: '+not-an-attr' is not a recognized feature for this target (ignoring feature) +# CHECK-EMPTY: +## To check we still disassemble the file +# CHECK-NEXT: file format elf64-x86-64 + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64 diff --git a/llvm/test/tools/llvm-objdump/warn-mcpu-unrecognized.test b/llvm/test/tools/llvm-objdump/warn-mcpu-unrecognized.test new file mode 100644 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/warn-mcpu-unrecognized.test @@ -0,0 +1,15 @@ +# RUN: yaml2obj %s -o %t +# RUN: llvm-objdump -d %t --mcpu=not-a-cpu 2>&1 | FileCheck %s +# REQUIRES: x86-registered-target + +# CHECK: 'not-a-cpu' is not a recognized processor for this target (ignoring processor) +# CHECK-EMPTY: +## To check we still disassemble the file +# CHECK-NEXT: file format elf64-x86-64 + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64