blob: 025e91f5bca23654b1f631a052c4b9ab6362132c [file] [edit]
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
include "llvm/Option/LibraryOptions.td"
def CGDataOptions : OptionsStruct;
defm : BoolField<"codegen-data-generate", "false",
"Emit CodeGen Data into custom sections">;
defm : BoolField<"codegen-data-thinlto-two-rounds", "false",
"Enable two-round ThinLTO code generation. "
"The first round emits codegen data, while the second round uses the emitted codegen data for further optimizations">;
defm : ValueField<"codegen-data-use-path", "StringRef", "",
"File path to where .cgdata file is read">;
defm : ValueField<"global-merging-call-overhead", "double", "1.0",
"The overhead cost associated with each function call when merging functions">;
defm : ValueField<"global-merging-extra-threshold", "double", "0.0",
"An additional cost threshold that must be exceeded for merging to be considered beneficial">;
defm : ValueField<"global-merging-inst-overhead", "double", "1.2",
"The overhead cost associated with each instruction when lowering to machine instruction">;
defm : ValueField<"global-merging-max-params", "unsigned",
"std::numeric_limits<unsigned>::max()",
"The maximum number of parameters allowed when merging functions">;
defm : ValueField<"global-merging-min-instrs", "unsigned", "1",
"The minimum instruction count required when merging functions">;
defm : ValueField<"global-merging-min-merges", "unsigned", "2",
"Minimum number of similar functions with the same hash required for merging">;
defm : ValueField<"global-merging-param-overhead", "double", "2.0",
"The overhead cost associated with each parameter when merging functions">;
defm : BoolField<"global-merging-skip-no-params", "true",
"Skip merging functions with no parameters">;
defm : BoolField<"indexed-codegen-data-lazy-loading", "false",
"Lazily load indexed CodeGenData. "
"Enable to save memory and time for final consumption of the indexed CodeGenData in production">;
defm : BoolField<"indexed-codegen-data-read-function-map-names", "true",
"Read function map names in indexed CodeGenData. "
"Can be disabled to save memory and time for final consumption of the indexed CodeGenData in production">;