r276907 - Add flags to toggle preservation of assembly comments

Bruno Cardoso Lopes via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 27 13:41:02 PDT 2016


Hi Nirav,

This test is failing on darwin:
http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/26574

Can you take a look?

On Wed, Jul 27, 2016 at 12:57 PM, Nirav Dave via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> Author: niravd
> Date: Wed Jul 27 14:57:40 2016
> New Revision: 276907
>
> URL: http://llvm.org/viewvc/llvm-project?rev=276907&view=rev
> Log:
> Add flags to toggle preservation of assembly comments
>
> Summary: Add -fpreserve-as-comments and -fno-preserve-as-comments.
>
> Reviewers: echristo, rnk
>
> Subscribers: mehdi_amini, llvm-commits
>
> Differential Revision: https://reviews.llvm.org/D22883
>
> Added:
>     cfe/trunk/test/CodeGen/preserve-as-comments.c
> Modified:
>     cfe/trunk/include/clang/Driver/Options.td
>     cfe/trunk/include/clang/Frontend/CodeGenOptions.def
>     cfe/trunk/lib/CodeGen/BackendUtil.cpp
>     cfe/trunk/lib/Driver/Tools.cpp
>     cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>
> Modified: cfe/trunk/include/clang/Driver/Options.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=276907&r1=276906&r2=276907&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Driver/Options.td (original)
> +++ cfe/trunk/include/clang/Driver/Options.td Wed Jul 27 14:57:40 2016
> @@ -1089,6 +1089,9 @@ def fpie : Flag<["-"], "fpie">, Group<f_
>  def fno_pie : Flag<["-"], "fno-pie">, Group<f_Group>;
>  def fplugin_EQ : Joined<["-"], "fplugin=">, Group<f_Group>, Flags<[DriverOption]>, MetaVarName<"<dsopath>">,
>    HelpText<"Load the named plugin (dynamic shared object)">;
> +def fpreserve_as_comments : Flag<["-"], "fpreserve-as-comments">, Group<f_Group>;
> +def fno_preserve_as_comments : Flag<["-"], "fno-preserve-as-comments">, Group<f_Group>, Flags<[CC1Option]>,
> +  HelpText<"Do not preserve comments in inline assembly">;
>  def fprofile_arcs : Flag<["-"], "fprofile-arcs">, Group<f_Group>;
>  def fno_profile_arcs : Flag<["-"], "fno-profile-arcs">, Group<f_Group>;
>  def framework : Separate<["-"], "framework">, Flags<[LinkerInput]>;
>
> Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.def
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=276907&r1=276906&r2=276907&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Frontend/CodeGenOptions.def (original)
> +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.def Wed Jul 27 14:57:40 2016
> @@ -32,6 +32,7 @@ CODEGENOPT(DisableIntegratedAS, 1, 0) //
>  CODEGENOPT(CompressDebugSections, 1, 0) ///< -Wa,-compress-debug-sections
>  CODEGENOPT(RelaxELFRelocations, 1, 0) ///< -Wa,--mrelax-relocations
>  CODEGENOPT(AsmVerbose        , 1, 0) ///< -dA, -fverbose-asm.
> +CODEGENOPT(PreserveAsmComments, 1, 1) ///< -dA, -fno-preserve-as-comments.
>  CODEGENOPT(AssumeSaneOperatorNew , 1, 1) ///< implicit __attribute__((malloc)) operator new
>  CODEGENOPT(Autolink          , 1, 1) ///< -fno-autolink
>  CODEGENOPT(ObjCAutoRefCountExceptions , 1, 0) ///< Whether ARC should be EH-safe.
>
> Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=276907&r1=276906&r2=276907&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/BackendUtil.cpp (original)
> +++ cfe/trunk/lib/CodeGen/BackendUtil.cpp Wed Jul 27 14:57:40 2016
> @@ -604,6 +604,7 @@ void EmitAssemblyHelper::CreateTargetMac
>        CodeGenOpts.IncrementalLinkerCompatible;
>    Options.MCOptions.MCFatalWarnings = CodeGenOpts.FatalWarnings;
>    Options.MCOptions.AsmVerbose = CodeGenOpts.AsmVerbose;
> +  Options.MCOptions.PreserveAsmComments = CodeGenOpts.PreserveAsmComments;
>    Options.MCOptions.ABIName = TargetOpts.ABI;
>
>    TM.reset(TheTarget->createTargetMachine(Triple, TargetOpts.CPU, FeaturesStr,
>
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=276907&r1=276906&r2=276907&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Wed Jul 27 14:57:40 2016
> @@ -4193,6 +4193,10 @@ void Clang::ConstructJob(Compilation &C,
>                      true))
>      CmdArgs.push_back("-fno-jump-tables");
>
> +  if (!Args.hasFlag(options::OPT_fpreserve_as_comments,
> +                    options::OPT_fno_preserve_as_comments, true))
> +    CmdArgs.push_back("-fno-preserve-as-comments");
> +
>    if (Arg *A = Args.getLastArg(options::OPT_mregparm_EQ)) {
>      CmdArgs.push_back("-mregparm");
>      CmdArgs.push_back(A->getValue());
>
> Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=276907&r1=276906&r2=276907&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
> +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Wed Jul 27 14:57:40 2016
> @@ -544,6 +544,7 @@ static bool ParseCodeGenArgs(CodeGenOpti
>        Args.hasFlag(OPT_fcoverage_mapping, OPT_fno_coverage_mapping, false);
>    Opts.DumpCoverageMapping = Args.hasArg(OPT_dump_coverage_mapping);
>    Opts.AsmVerbose = Args.hasArg(OPT_masm_verbose);
> +  Opts.PreserveAsmComments = !Args.hasArg(OPT_fno_preserve_as_comments);
>    Opts.AssumeSaneOperatorNew = !Args.hasArg(OPT_fno_assume_sane_operator_new);
>    Opts.ObjCAutoRefCountExceptions = Args.hasArg(OPT_fobjc_arc_exceptions);
>    Opts.CXAAtExit = !Args.hasArg(OPT_fno_use_cxa_atexit);
>
> Added: cfe/trunk/test/CodeGen/preserve-as-comments.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/preserve-as-comments.c?rev=276907&view=auto
> ==============================================================================
> --- cfe/trunk/test/CodeGen/preserve-as-comments.c (added)
> +++ cfe/trunk/test/CodeGen/preserve-as-comments.c Wed Jul 27 14:57:40 2016
> @@ -0,0 +1,12 @@
> +// RUN: %clang_cc1 -S -fno-preserve-as-comments %s -o - | FileCheck %s --check-prefix=NOASM --check-prefix=CHECK
> +// RUN: %clang_cc1 -S %s -o - | FileCheck %s --check-prefix=ASM --check-prefix=CHECK
> +
> +// CHECK-LABEL: main
> +// CHECK: #APP
> +// ASM: #comment
> +// NOASM-NOT: #comment
> +// CHECK: #NO_APP
> +int main() {
> +  __asm__("/*comment*/");
> +  return 0;
> +}
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits



-- 
Bruno Cardoso Lopes
http://www.brunocardoso.cc


More information about the cfe-commits mailing list