[PATCH] D77231: [lld] Support -emit-asm with LTO

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 3 02:07:27 PDT 2020


grimar added inline comments.


================
Comment at: lld/ELF/Driver.cpp:890
   config->emitLLVM = args.hasArg(OPT_plugin_opt_emit_llvm, false);
+  config->emitAsm = args.hasArg(OPT_lto_emit_asm, false);
   config->emitRelocs = args.hasArg(OPT_emit_relocs);
----------------
tejohnson wrote:
> MaskRay wrote:
> > hoyFB wrote:
> > > hoyFB wrote:
> > > > grimar wrote:
> > > > > It looks inconsistent with another `OPT_lto*` options we have:
> > > > > 
> > > > > ```
> > > > >   config->ltoAAPipeline = args.getLastArgValue(OPT_lto_aa_pipeline);
> > > > >   config->ltoCSProfileGenerate = args.hasArg(OPT_lto_cs_profile_generate);
> > > > >   config->ltoCSProfileFile = args.getLastArgValue(OPT_lto_cs_profile_file);
> > > > > ...
> > > > > ```
> > > > > 
> > > > > Should it be called `config->ltoEmitAsm` to be consistent?
> > > > > 
> > > > > Or, instead, it could be `args.hasArg(OPT_plugin_opt_emit_asm, false)`, what also would make sense it seems.
> > > > > 
> > > > > What do other reviewers think?
> > > > Naming it ```config->ltoEmitAsm``` sounds good to me. If you look at the relationship between ```OPT_lto*``` and ```OPT_plugin_opt_*``` in lld, the later is always an alias of the former.
> > > Well, on the second thought, I'm thinking maybe just removing the `--lto-emit-asm` switch and only having `--plugin-opt=emit-asm`, since it is not lld-exclusive. What do you think?
> > `--plugin-opt=*` is for compatibility with gold. gold uses LLVMgold.so and the plugin interface does not allow insert arbitrary option on the fly. @pcc started to use `--lto-*` in D18667
> > 
> > Maybe he has some thoughts here.
> For compatibility, please do add support for the plugin-opt version, even if it is just an alias for a new --lto-emit-asm.
> Well, on the second thought, I'm thinking maybe just removing the --lto-emit-asm switch and only having --plugin-opt=emit-asm, since it is not lld-exclusive. What do you think?

Seems nobody yet said something against this and it is anyways easy to add an additional alias option later if needed.
So looks like only having `--plugin-opt=emit-asm` for now should be fine.

> @pcc started to use --lto-* in D18667. Maybe he has some thoughts here.

+1, I'd also would like to hear Peter's opinion.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77231/new/

https://reviews.llvm.org/D77231





More information about the llvm-commits mailing list