[PATCH] D43040: gold-plugin: Do not set codegen opt level based on LTO opt level.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 7 15:45:42 PST 2018


We use CodeGenOpt::Default (i.e. 2).

Peter

On Wed, Feb 7, 2018 at 3:44 PM, Rafael Avila de Espindola <
rafael.espindola at gmail.com> wrote:

> What level is used without a IR attribute or Conf.CGOptLevel being set?
>
> Cheers,
> Rafael
>
> Peter Collingbourne via Phabricator via llvm-commits
> <llvm-commits at lists.llvm.org> writes:
>
> > pcc created this revision.
> > pcc added reviewers: tejohnson, eugenis.
> > Herald added subscribers: inglorion, mehdi_amini.
> >
> > The LTO opt level should not affect the codegen opt level, and indeed
> > it does not affect it in lld. Ideally the codegen opt level should
> > be controlled by an IR-level attribute based on the compile-time opt
> > level, but that hasn't been implemented yet.
> >
> >
> > https://reviews.llvm.org/D43040
> >
> > Files:
> >   llvm/tools/gold/gold-plugin.cpp
> >
> >
> > Index: llvm/tools/gold/gold-plugin.cpp
> > ===================================================================
> > --- llvm/tools/gold/gold-plugin.cpp
> > +++ llvm/tools/gold/gold-plugin.cpp
> > @@ -727,20 +727,6 @@
> >    return FD;
> >  }
> >
> > -static CodeGenOpt::Level getCGOptLevel() {
> > -  switch (options::OptLevel) {
> > -  case 0:
> > -    return CodeGenOpt::None;
> > -  case 1:
> > -    return CodeGenOpt::Less;
> > -  case 2:
> > -    return CodeGenOpt::Default;
> > -  case 3:
> > -    return CodeGenOpt::Aggressive;
> > -  }
> > -  llvm_unreachable("Invalid optimization level");
> > -}
> > -
> >  /// Parse the thinlto_prefix_replace option into the \p OldPrefix and
> >  /// \p NewPrefix strings, if it was specified.
> >  static void getThinLTOOldAndNewPrefix(std::string &OldPrefix,
> > @@ -767,7 +753,6 @@
> >
> >    Conf.MAttrs = MAttrs;
> >    Conf.RelocModel = RelocationModel;
> > -  Conf.CGOptLevel = getCGOptLevel();
> >    Conf.DisableVerify = options::DisableVerify;
> >    Conf.OptLevel = options::OptLevel;
> >    if (options::Parallelism)
> >
> >
> > Index: llvm/tools/gold/gold-plugin.cpp
> > ===================================================================
> > --- llvm/tools/gold/gold-plugin.cpp
> > +++ llvm/tools/gold/gold-plugin.cpp
> > @@ -727,20 +727,6 @@
> >    return FD;
> >  }
> >
> > -static CodeGenOpt::Level getCGOptLevel() {
> > -  switch (options::OptLevel) {
> > -  case 0:
> > -    return CodeGenOpt::None;
> > -  case 1:
> > -    return CodeGenOpt::Less;
> > -  case 2:
> > -    return CodeGenOpt::Default;
> > -  case 3:
> > -    return CodeGenOpt::Aggressive;
> > -  }
> > -  llvm_unreachable("Invalid optimization level");
> > -}
> > -
> >  /// Parse the thinlto_prefix_replace option into the \p OldPrefix and
> >  /// \p NewPrefix strings, if it was specified.
> >  static void getThinLTOOldAndNewPrefix(std::string &OldPrefix,
> > @@ -767,7 +753,6 @@
> >
> >    Conf.MAttrs = MAttrs;
> >    Conf.RelocModel = RelocationModel;
> > -  Conf.CGOptLevel = getCGOptLevel();
> >    Conf.DisableVerify = options::DisableVerify;
> >    Conf.OptLevel = options::OptLevel;
> >    if (options::Parallelism)
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>



-- 
-- 
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180207/6cef068b/attachment.html>


More information about the llvm-commits mailing list