Skip to content

Add LTO plugin options #320

@quic-seaswara

Description

@quic-seaswara

lld supports the following options for LTO.

  --load-pass-plugin=<value>
                          Load passes from plugin library
  --plugin-opt=-<value>   Specify an LLVM option for compatibility with LLVMgold.so
  --plugin-opt=cs-profile-generate
  --plugin-opt=cs-profile-path=<value>
  --plugin-opt=debug-pass-manager
  --plugin-opt=disable-verify
  --plugin-opt=dwo_dir=<value>
  --plugin-opt=emit-asm   Alias for --lto-emit-asm
  --plugin-opt=emit-llvm  Alias for --lto-emit-llvm
  --plugin-opt=jobs=<value>
  --plugin-opt=lto-partitions=<value>
  --plugin-opt=obj-path=<value>
  --plugin-opt=opt-remarks-filename=<value>
  --plugin-opt=opt-remarks-format=<value>
  --plugin-opt=opt-remarks-hotness-threshold=<value>
  --plugin-opt=opt-remarks-passes=<value>
  --plugin-opt=opt-remarks-with-hotness
  --plugin-opt=O<value>   Alias for --lto-O
  --plugin-opt=sample-profile=<value>
  --plugin-opt=save-temps Alias for --save-temps
  --plugin-opt=stats-file=<value>
  --plugin-opt=thinlto-emit-imports-files
  --plugin-opt=thinlto-index-only=<value>
  --plugin-opt=thinlto-index-only
  --plugin-opt=thinlto-object-suffix-replace=<value>
  --plugin-opt=thinlto-prefix-replace=<value>
  --plugin=<value>        Ignored for compatibility with GNU linkers

eld should support these options and import the tests from lld.


lto-plugin-ignore.s
lto/verify-invalid.ll
lto/cpu-string.ll
lto/emit-asm.ll
lto/debugger-tune.ll
lto/new-pass-manager.ll
lto/thinlto.ll
lto/opt-level.ll
lto/emit-llvm.ll
lto/mllvm.ll
lto/sample-profile.ll
lto/save-temps.ll
lto/obj-path.ll
lto/thinlto-debug-fission.ll
lto/thinlto-cant-write-index.ll
lto/thinlto-emit-imports.ll
lto/thinlto-index-only.ll
lto/thinlto-object-suffix-replace.ll
lto/thinlto-prefix-replace.ll
lto/slp-vectorize-pm.ll
lto/time-trace.ll
lto/stats-file-option.ll
lto/opt-remarks-incomplete.ll

Sub-issues

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions