diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 8fbdc49e5ee..0c8d14d11db 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -213,6 +213,12 @@ static int compileModule(char **argv, LLVMContext &Context) { bool SkipModule = MCPU == "help" || (!MAttrs.empty() && MAttrs.front() == "help"); + // If user asked for the 'native' CPU, autodetect here. If autodection fails, + // this will set the CPU to an empty string which tells the target to + // pick a basic default. + if (MCPU == "native") + MCPU = sys::getHostCPUName(); + // If user just wants to list available options, skip module loading if (!SkipModule) { M.reset(ParseIRFile(InputFilename, Err, Context));