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

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 7 15:44:08 PST 2018


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


More information about the llvm-commits mailing list