From: Benjamin Kramer Date: Tue, 15 Mar 2016 09:41:39 +0000 (+0000) Subject: Restrict the hack from r263429 to asan and msan. X-Git-Tag: llvmorg-3.9.0-rc1~11695 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fd652b1b8ffc245c24f4db00260ba85b162f37f1;p=platform%2Fupstream%2Fllvm.git Restrict the hack from r263429 to asan and msan. The other sanitizers don't have backend passes that rely on value names. Avoid paying the compile time cost of names there. llvm-svn: 263541 --- diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index c212794..d264361 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -2154,10 +2154,12 @@ bool CompilerInvocation::CreateFromArgs(CompilerInvocation &Res, Res.getLangOpts()->ObjCExceptions = 1; } - // FIXME: Override value name discarding when sanitizers are used because the + // FIXME: Override value name discarding when asan or msan is used because the // backend passes depend on the name of the alloca in order to print out // names. - Res.getCodeGenOpts().DiscardValueNames &= Res.getLangOpts()->Sanitize.empty(); + Res.getCodeGenOpts().DiscardValueNames &= + !Res.getLangOpts()->Sanitize.has(SanitizerKind::Address) && + !Res.getLangOpts()->Sanitize.has(SanitizerKind::Memory); // FIXME: ParsePreprocessorArgs uses the FileManager to read the contents of // PCH file and find the original header name. Remove the need to do that in