Raise the responsibility for passing -disable-llvm-verifier in NDEBUG builds
to the driver, and support it in CodeGenOptsToArgs(). Note that this changes the default behavior of clang -cc1 to always run the verifier. llvm-svn: 96077
This commit is contained in:
parent
f83726f6ba
commit
bb79b5f6f3
|
@ -687,6 +687,11 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
// The make clang go fast button.
|
||||
CmdArgs.push_back("-disable-free");
|
||||
|
||||
// Disable the verification pass in -asserts builds.
|
||||
#ifdef NDEBUG
|
||||
CmdArgs.push_back("-disable-llvm-verifier");
|
||||
#endif
|
||||
|
||||
// Set the main file name, so that debug info works even with
|
||||
// -save-temps.
|
||||
CmdArgs.push_back("-main-file-name");
|
||||
|
|
|
@ -180,6 +180,8 @@ static void CodeGenOptsToArgs(const CodeGenOptions &Opts,
|
|||
Res.push_back("-mrelocation-model");
|
||||
Res.push_back(Opts.RelocationModel);
|
||||
}
|
||||
if (!Opts.VerifyModule)
|
||||
Res.push_back("-disable-llvm-verifier");
|
||||
}
|
||||
|
||||
static void DependencyOutputOptsToArgs(const DependencyOutputOptions &Opts,
|
||||
|
@ -789,13 +791,7 @@ static void ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args,
|
|||
Opts.RelocationModel = getLastArgValue(Args, OPT_mrelocation_model, "pic");
|
||||
|
||||
Opts.MainFileName = getLastArgValue(Args, OPT_main_file_name);
|
||||
|
||||
// FIXME: Put elsewhere?
|
||||
#ifdef NDEBUG
|
||||
Opts.VerifyModule = 0;
|
||||
#else
|
||||
Opts.VerifyModule = !Args.hasArg(OPT_disable_llvm_verifier);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void ParseDependencyOutputArgs(DependencyOutputOptions &Opts,
|
||||
|
|
Loading…
Reference in New Issue