r347035 - [clang] - Simplify tools::SplitDebugName.

David Blaikie via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 27 15:15:14 PST 2018


Just copying some of the information given through Phab (
https://reviews.llvm.org/rL347035 ) - this patch was reverted in r347676.
Would be great to get that fixed/recommitted!

On Fri, Nov 16, 2018 at 12:01 AM George Rimar via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: grimar
> Date: Thu Nov 15 23:59:24 2018
> New Revision: 347035
>
> URL: http://llvm.org/viewvc/llvm-project?rev=347035&view=rev
> Log:
> [clang] - Simplify tools::SplitDebugName.
>
> This should be NFC change.
>
> SplitDebugName recently started to accept the `Output` that
> can be used to simplify the logic a bit, also it
> seems that code in SplitDebugName that uses
> OPT_fdebug_compilation_dir is simply dead.
>
> Differential revision: https://reviews.llvm.org/D54576
>
> Modified:
>     cfe/trunk/lib/Driver/ToolChains/Clang.cpp
>     cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp
>     cfe/trunk/lib/Driver/ToolChains/CommonArgs.h
>     cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
>     cfe/trunk/lib/Driver/ToolChains/MinGW.cpp
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=347035&r1=347034&r2=347035&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Thu Nov 15 23:59:24 2018
> @@ -3936,7 +3936,7 @@ void Clang::ConstructJob(Compilation &C,
>    const char *SplitDWARFOut;
>    if (SplitDWARF) {
>      CmdArgs.push_back("-split-dwarf-file");
> -    SplitDWARFOut = SplitDebugName(Args, Input, Output);
> +    SplitDWARFOut = SplitDebugName(Args, Output);
>      CmdArgs.push_back(SplitDWARFOut);
>    }
>
> @@ -5902,7 +5902,7 @@ void ClangAs::ConstructJob(Compilation &
>    if ((getDebugFissionKind(D, Args, A) == DwarfFissionKind::Split) &&
>        (T.isOSLinux() || T.isOSFuchsia())) {
>      CmdArgs.push_back("-split-dwarf-file");
> -    CmdArgs.push_back(SplitDebugName(Args, Input, Output));
> +    CmdArgs.push_back(SplitDebugName(Args, Output));
>    }
>
>    assert(Input.isFilename() && "Invalid input.");
>
> Modified: cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp?rev=347035&r1=347034&r2=347035&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp Thu Nov 15 23:59:24 2018
> @@ -808,26 +808,15 @@ bool tools::areOptimizationsEnabled(cons
>    return false;
>  }
>
> -const char *tools::SplitDebugName(const ArgList &Args, const InputInfo
> &Input,
> +const char *tools::SplitDebugName(const ArgList &Args,
>                                    const InputInfo &Output) {
>    if (Arg *A = Args.getLastArg(options::OPT_gsplit_dwarf_EQ))
>      if (StringRef(A->getValue()) == "single")
>        return Args.MakeArgString(Output.getFilename());
>
> -  Arg *FinalOutput = Args.getLastArg(options::OPT_o);
> -  if (FinalOutput && Args.hasArg(options::OPT_c)) {
> -    SmallString<128> T(FinalOutput->getValue());
> -    llvm::sys::path::replace_extension(T, "dwo");
> -    return Args.MakeArgString(T);
> -  } else {
> -    // Use the compilation dir.
> -    SmallString<128> T(
> -        Args.getLastArgValue(options::OPT_fdebug_compilation_dir));
> -    SmallString<128> F(llvm::sys::path::stem(Input.getBaseInput()));
> -    llvm::sys::path::replace_extension(F, "dwo");
> -    T += F;
> -    return Args.MakeArgString(F);
> -  }
> +  SmallString<128> T(Output.getFilename());
> +  llvm::sys::path::replace_extension(T, "dwo");
> +  return Args.MakeArgString(T);
>  }
>
>  void tools::SplitDebugInfo(const ToolChain &TC, Compilation &C, const
> Tool &T,
>
> Modified: cfe/trunk/lib/Driver/ToolChains/CommonArgs.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/CommonArgs.h?rev=347035&r1=347034&r2=347035&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/CommonArgs.h (original)
> +++ cfe/trunk/lib/Driver/ToolChains/CommonArgs.h Thu Nov 15 23:59:24 2018
> @@ -63,7 +63,7 @@ void AddHIPLinkerScript(const ToolChain
>                          const Tool &T);
>
>  const char *SplitDebugName(const llvm::opt::ArgList &Args,
> -                           const InputInfo &Input, const InputInfo
> &Output);
> +                           const InputInfo &Output);
>
>  void SplitDebugInfo(const ToolChain &TC, Compilation &C, const Tool &T,
>                      const JobAction &JA, const llvm::opt::ArgList &Args,
>
> Modified: cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Gnu.cpp?rev=347035&r1=347034&r2=347035&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/Gnu.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/Gnu.cpp Thu Nov 15 23:59:24 2018
> @@ -817,7 +817,7 @@ void tools::gnutools::Assembler::Constru
>    if (Args.hasArg(options::OPT_gsplit_dwarf) &&
>        getToolChain().getTriple().isOSLinux())
>      SplitDebugInfo(getToolChain(), C, *this, JA, Args, Output,
> -                   SplitDebugName(Args, Inputs[0], Output));
> +                   SplitDebugName(Args, Output));
>  }
>
>  namespace {
>
> Modified: cfe/trunk/lib/Driver/ToolChains/MinGW.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/MinGW.cpp?rev=347035&r1=347034&r2=347035&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains/MinGW.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains/MinGW.cpp Thu Nov 15 23:59:24 2018
> @@ -54,7 +54,7 @@ void tools::MinGW::Assembler::ConstructJ
>
>    if (Args.hasArg(options::OPT_gsplit_dwarf))
>      SplitDebugInfo(getToolChain(), C, *this, JA, Args, Output,
> -                   SplitDebugName(Args, Inputs[0], Output));
> +                   SplitDebugName(Args, Output));
>  }
>
>  void tools::MinGW::Linker::AddLibGCC(const ArgList &Args,
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181127/99705d12/attachment-0001.html>


More information about the cfe-commits mailing list