Lines Matching refs:cl

69 static cl::opt<bool>
70 UnitTest("unittest", cl::desc("do unit test") );
85 static cl::opt<char>
87 cl::desc("Optimization level. [-O0, -O1, -O2, or -O3] "
89 cl::Prefix,
90 cl::ZeroOrMore,
91 cl::init(' '));
93 static cl::opt<std::string>
94 TargetTriple("mtriple", cl::desc("Override target triple for module"));
96 static cl::opt<std::string>
97 MArch("march", cl::desc("Architecture to generate code for (see --version)"));
99 static cl::opt<std::string>
101 cl::desc("Target a specific cpu type (-mcpu=help for details)"),
102 cl::value_desc("cpu-name"),
103 cl::init(""));
105 static cl::list<std::string>
107 cl::CommaSeparated,
108 cl::desc("Target specific attributes (-mattr=help for details)"),
109 cl::value_desc("a1,+a2,-a3,..."));
111 static cl::opt<llvm::CodeModel::Model>
113 cl::desc("Choose code model"),
114 cl::init(CodeModel::Default),
115 cl::values(clEnumValN(CodeModel::Default, "default",
127 cl::opt<bool> NoVerify("disable-verify", cl::Hidden,
128 cl::desc("Do not verify input module"));
130 static cl::opt<bool>
132 cl::desc("Enable less precise MAD instructions to be generated"),
133 cl::init(false));
135 static cl::opt<bool>
137 cl::desc("Disable frame pointer elimination optimization"),
138 cl::init(false));
140 static cl::opt<bool>
142 cl::desc("Disable frame pointer elimination optimization for non-leaf funcs"),
143 cl::init(false));
145 static cl::opt<llvm::FPOpFusion::FPOpFusionMode>
147 cl::desc("Enable aggresive formation of fused FP ops"),
148 cl::init(FPOpFusion::Standard),
149 cl::values(
158 static cl::opt<bool>
160 cl::desc("Enable optimizations that may decrease FP precision"),
161 cl::init(false));
163 static cl::opt<bool>
165 cl::desc("Enable FP math optimizations that assume no +-Infs"),
166 cl::init(false));
168 static cl::opt<bool>
170 cl::desc("Enable FP math optimizations that assume no NaNs"),
171 cl::init(false));
173 static cl::opt<bool>
175 cl::Hidden,
176 cl::desc("Force codegen to assume rounding mode can change dynamically"),
177 cl::init(false));
179 static cl::opt<bool>
181 cl::desc("Generate software floating point library calls"),
182 cl::init(false));
184 static cl::opt<llvm::FloatABI::ABIType>
186 cl::desc("Choose float ABI type"),
187 cl::init(FloatABI::Default),
188 cl::values(
197 static cl::opt<bool>
199 cl::desc("Don't place zero-initialized symbols into bss section"),
200 cl::init(false));
202 static cl::opt<bool>
204 cl::desc("Emit exception handling information"),
205 cl::init(false));
213 static cl::opt<bool>
215 cl::desc("Emit debug information to debugger"),
216 cl::init(EMIT_DEBUG));
219 static cl::opt<bool>
221 cl::Hidden,
222 cl::desc("Emit debug info objfiles to disk"),
223 cl::init(false));
225 static cl::opt<bool>
227 cl::desc("Turn fastcc calls into tail calls by (potentially) changing ABI."),
228 cl::init(false));
230 static cl::opt<unsigned>
232 cl::desc("Override default stack alignment"),
233 cl::init(0));
235 static cl::opt<bool>
237 cl::desc("Realign stack if needed"),
238 cl::init(true));
240 static cl::opt<std::string>
241 TrapFuncName("trap-func", cl::Hidden,
242 cl::desc("Emit a call to trap function rather than a trap instruction"),
243 cl::init(""));
245 static cl::opt<bool>
247 cl::desc("Use segmented stacks if possible."),
248 cl::init(false));
264 static cl::opt<mcld::sys::fs::Path, false, llvm::cl::parser<mcld::sys::fs::Path> >
266 cl::desc("set default bitcode"),
267 cl::value_desc("bitcode"));
272 static cl::opt<mcld::sys::fs::Path, false, llvm::cl::parser<mcld::sys::fs::Path> >
274 cl::desc("Output filename"),
275 cl::value_desc("filename"));
277 static cl::alias
279 cl::desc("alias for -o"),
280 cl::aliasopt(ArgOutputFilename));
282 static cl::opt<mcld::sys::fs::Path, false, llvm::cl::parser<mcld::sys::fs::Path> >
284 cl::desc("Use directory as the location of the sysroot, overriding the configure-time default."),
285 cl::value_desc("directory"),
286 cl::ValueRequired);
288 static cl::list<std::string, bool, llvm::cl::SearchDirParser>
290 cl::ZeroOrMore,
291 cl::desc("Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts."),
292 cl::value_desc("searchdir"),
293 cl::Prefix);
295 static cl::alias
297 cl::desc("alias for -L"),
298 cl::aliasopt(ArgSearchDirList));
300 static cl::opt<bool>
302 cl::desc("Print the names of the input files as ld processes them."));
304 static cl::alias
306 cl::desc("alias for -t"),
307 cl::aliasopt(ArgTrace));
309 static cl::opt<int>
311 cl::init(-1),
312 cl::desc("Display the version number for ld and list the linker emulations supported."));
314 static cl::opt<bool>
316 cl::init(false),
317 cl::desc("Display the version number for MCLinker."));
319 static cl::opt<int>
321 cl::init(-1),
322 cl::desc("limits the maximum number of erros."));
324 static cl::opt<int>
326 cl::init(-1),
327 cl::desc("limits the maximum number of warnings."));
329 static cl::opt<std::string>
331 cl::desc("Use entry as the explicit symbol for beginning execution of your program."),
332 cl::value_desc("entry"),
333 cl::ValueRequired);
335 static cl::alias
337 cl::desc("alias for -e"),
338 cl::aliasopt(ArgEntry));
340 static cl::opt<bool>
342 cl::desc("Bind references within the shared library."),
343 cl::init(false));
345 static cl::opt<bool>
347 cl::desc("Info the dynamic linker to perform lookups only inside the group."),
348 cl::init(false));
350 static cl::opt<std::string>
352 cl::desc("Set internal name of shared library"),
353 cl::value_desc("name"));
355 static cl::opt<bool>
357 cl::desc("Do not allow unresolved references"),
358 cl::init(false));
360 static cl::opt<bool>
362 cl::desc("Allow multiple definition"),
363 cl::init(false));
365 static cl::opt<bool>
367 cl::desc("Request creation of \".eh_frame_hdr\" section and ELF \"PT_GNU_EH_FRAME\" segment header."),
368 cl::init(false));
370 static cl::list<mcld::ZOption, bool, llvm::cl::parser<mcld::ZOption> >
372 cl::ZeroOrMore,
373 cl::desc("The -z options for GNU ld compatibility."),
374 cl::value_desc("keyword"),
375 cl::Prefix);
377 cl::opt<mcld::CodeGenFileType>
378 ArgFileType("filetype", cl::init(mcld::CGFT_EXEFile),
379 cl::desc("Choose a file type (not all types are supported by all targets):"),
380 cl::values(
393 static cl::opt<bool>
395 cl::desc("Create a shared library."),
396 cl::init(false));
398 static cl::alias
400 cl::desc("alias for -shared"),
401 cl::aliasopt(ArgShared));
403 static cl::opt<bool>
405 cl::desc("Emit a position-independent executable file"),
406 cl::init(false));
408 static cl::opt<bool>
410 cl::desc("Generate relocatable output"),
411 cl::init(false));
413 static cl::alias
415 cl::desc("alias for --relocatable"),
416 cl::aliasopt(ArgRelocatable));
418 static cl::opt<Reloc::Model>
420 cl::desc("Choose relocation model"),
421 cl::init(Reloc::Default),
422 cl::values(
433 static cl::opt<bool>
435 cl::desc("Set relocation model to pic. The same as -relocation-model=pic."),
436 cl::init(false));
438 static cl::opt<std::string>
440 cl::ZeroOrMore,
441 cl::desc("Set the name of the dynamic linker."),
442 cl::value_desc("Program"));
452 static cl::opt<color::Color>
454 cl::value_desc("WHEN"),
455 cl::desc("Surround the result strings with the marker"),
456 cl::init(color::Auto),
457 cl::values(
466 static cl::opt<bool>
468 cl::desc("Delete all temporary local symbols."),
469 cl::init(false));
471 static cl::alias
473 cl::desc("alias for --discard-locals"),
474 cl::aliasopt(ArgDiscardLocals));
476 static cl::opt<bool>
478 cl::desc("Delete all local symbols."),
479 cl::init(false));
481 static cl::alias
483 cl::desc("alias for --discard-all"),
484 cl::aliasopt(ArgDiscardAll));
486 static cl::opt<bool>
488 cl::desc("Omit debugger symbol information from the output file."),
489 cl::init(false));
491 static cl::alias
493 cl::desc("alias for --strip-debug"),
494 cl::aliasopt(ArgStripDebug));
496 static cl::opt<bool>
498 cl::desc("Omit all symbol information from the output file."),
499 cl::init(false));
501 static cl::alias
503 cl::desc("alias for --strip-all"),
504 cl::aliasopt(ArgStripAll));
506 static cl::opt<bool>
508 cl::desc("Do not page align data"),
509 cl::init(false));
511 static cl::alias
513 cl::desc("alias for --nmagic"),
514 cl::aliasopt(ArgNMagic));
516 static cl::opt<bool>
518 cl::desc("Do not page align data, do not make text readonly"),
519 cl::init(false));
521 static cl::alias
523 cl::desc("alias for --omagic"),
524 cl::aliasopt(ArgOMagic));
527 static cl::opt<int>
529 cl::desc("Set the maximum size of objects to be optimized using GP"),
530 cl::init(8));
535 static cl::opt<bool>
537 cl::desc("Enable garbage collection of unused input sections."),
538 cl::init(false));
540 static cl::opt<bool>
542 cl::desc("disable garbage collection of unused input sections."),
543 cl::init(false));
553 static cl::opt<icf::Mode>
555 cl::ZeroOrMore,
556 cl::desc("Identical Code Folding"),
557 cl::init(icf::None),
558 cl::values(
568 static cl::opt<bool>
570 cl::desc("Enable Cortex-A8 Thumb-2 branch erratum fix"),
571 cl::init(false));
573 static cl::opt<bool>
575 cl::desc("Export all dynamic symbols"),
576 cl::init(false));
578 static cl::alias
580 cl::desc("alias for --export-dynamic"),
581 cl::aliasopt(ArgExportDynamic));
583 static cl::opt<std::string>
585 cl::ZeroOrMore,
586 cl::desc("Set GNU linker emulation"),
587 cl::value_desc("emulation"));
589 static cl::list<std::string, bool, llvm::cl::SearchDirParser>
591 cl::ZeroOrMore,
592 cl::desc("Add a directory to the link time library search path"),
593 cl::value_desc("dir"));
595 static cl::list<std::string>
597 cl::CommaSeparated,
598 cl::desc("Exclude libraries from automatic export"),
599 cl::value_desc("lib1,lib2,..."));
601 static cl::opt<std::string>
603 cl::desc("Request creation of \".note.gnu.build-id\" ELF note section."),
604 cl::value_desc("style"),
605 cl::ValueOptional);
607 static cl::opt<std::string>
609 cl::desc("Force symbol to be undefined in the output file"),
610 cl::value_desc("symbol"));
612 static cl::alias
614 cl::desc("alias for -u"),
615 cl::aliasopt(ArgForceUndefined));
617 static cl::opt<std::string>
619 cl::desc("Version script."),
620 cl::value_desc("Version script"));
622 static cl::opt<bool>
624 cl::desc("warn common symbol"),
625 cl::init(false));
627 static cl::opt<mcld::GeneralOptions::HashStyle>
628 ArgHashStyle("hash-style", cl::init(mcld::GeneralOptions::SystemV),
629 cl::desc("Set the type of linker's hash table(s)."),
630 cl::values(
639 static cl::opt<std::string>
641 cl::desc("Filter for shared object symbol table"),
642 cl::value_desc("name"));
644 static cl::alias
646 cl::desc("alias for -F"),
647 cl::aliasopt(ArgFilterAlias));
649 static cl::list<std::string>
651 cl::ZeroOrMore,
652 cl::desc("Auxiliary filter for shared object symbol table"),
653 cl::value_desc("name"));
655 static cl::alias
657 cl::desc("alias for -f"),
658 cl::aliasopt(ArgAuxiliary));
660 static cl::opt<bool>
662 cl::desc("GCC/collect2 compatibility: uses ld.gold. Ignored"),
663 cl::init(false));
665 static cl::opt<bool>
667 cl::desc("GCC/collect2 compatibility: uses ld.mcld. Ignored"),
668 cl::init(false));
670 static cl::opt<bool>
672 cl::desc("GCC/collect2 compatibility: uses ld.bfd. Ignored"),
673 cl::init(false));
675 static cl::opt<bool>
677 cl::desc("Link big-endian objects. This affects the default output format."),
678 cl::init(false));
680 static cl::opt<bool>
682 cl::desc("Link little-endian objects. This affects the default output format."),
683 cl::init(false));
685 static cl::list<std::string>
687 cl::desc("Load a plugin library."),
688 cl::value_desc("plugin"));
690 static cl::list<std::string>
692 cl::desc(" Pass an option to the plugin."),
693 cl::value_desc("option"));
695 static cl::opt<bool>
697 cl::desc("This option is ignored for SVR4 compatibility"),
698 cl::init(false));
700 static cl::list<std::string>
702 cl::desc("Add path to the default library search path"),
703 cl::value_desc("default-search-path"));
709 static cl::opt<bool>
711 cl::desc("Only search lib dirs explicitly specified on cmdline"),
712 cl::init(false));
714 static cl::list<std::string, bool, llvm::cl::SearchDirParser>
716 cl::ZeroOrMore,
717 cl::desc("Add a directory to the runtime library search path"),
718 cl::value_desc("dir"));
720 static cl::alias
722 cl::desc("alias for --rpath"),
723 cl::aliasopt(ArgRuntimePath), cl::Prefix);
725 static cl::opt<bool>
727 cl::desc("Enable use of DT_RUNPATH and DT_FLAGS"),
728 cl::init(false));
730 static cl::opt<bool>
732 cl::desc("Print a link map to the standard output."),
733 cl::init(false));
735 static cl::alias
737 cl::desc("alias for -M"),
738 cl::aliasopt(ArgPrintMap));
742 static cl::opt<bool, true, cl::FalseParser>
744 cl::location(ArgFatalWarnings),
745 cl::desc("do not turn warnings into errors"),
746 cl::init(false),
747 cl::ValueDisallowed);
749 static cl::opt<bool, true>
751 cl::location(ArgFatalWarnings),
752 cl::desc("turn all warnings into errors"),
753 cl::init(false),
754 cl::ValueDisallowed);
756 static cl::opt<bool>
758 cl::desc("Warn if adding DT_TEXTREL in a shared object."),
759 cl::init(false));
768 static cl::opt<format::Format>
770 cl::value_desc("Format"),
771 cl::desc("set input format"),
772 cl::init(format::Unknown),
773 cl::values(
778 static cl::alias
780 cl::desc("alias for -b"),
781 cl::aliasopt(ArgFormat));
783 static cl::opt<format::Format>
785 cl::value_desc("Format"),
786 cl::desc("set output format"),
787 cl::init(format::Unknown),
788 cl::values(
793 static cl::opt<bool>
795 cl::ZeroOrMore,
796 cl::desc("Define common symbol"),
797 cl::init(false));
799 static cl::alias
801 cl::ZeroOrMore,
802 cl::desc("alias for -d"),
803 cl::aliasopt(ArgDefineCommon));
805 static cl::alias
807 cl::ZeroOrMore,
808 cl::desc("alias for -d"),
809 cl::aliasopt(ArgDefineCommon));
814 static cl::list<std::string>
816 cl::ZeroOrMore,
817 cl::desc("Use a wrap function fo symbol."),
818 cl::value_desc("symbol"));
820 static cl::list<std::string>
822 cl::ZeroOrMore,
823 cl::desc("Use a portable function fo symbol."),
824 cl::value_desc("symbol"));
826 static cl::list<std::string>
828 cl::ZeroOrMore,
829 cl::desc("Locate a output section at the given absolute address"),
830 cl::value_desc("Set address of section"),
831 cl::Prefix);
833 static cl::list<std::string>
835 cl::ZeroOrMore,
836 cl::desc("Define a symbol"),
837 cl::value_desc("symbol=expression"));
839 static cl::opt<unsigned long long>
841 cl::desc("Set the address of the bss segment"),
842 cl::init(-1U));
844 static cl::opt<unsigned long long>
846 cl::desc("Set the address of the data segment"),
847 cl::init(-1U));
849 static cl::opt<unsigned long long>
851 cl::desc("Set the address of the text segment"),
852 cl::init(-1U));
1061 cl::list<std::string>::iterator rp;
1062 cl::list<std::string>::iterator rpEnd = ArgRuntimePath.end();
1099 cl::list<std::string>::iterator sd;
1100 cl::list<std::string>::iterator sdEnd = ArgSearchDirList.end();
1144 cl::list<std::string>::iterator wname;
1145 cl::list<std::string>::iterator wnameEnd = ArgWrapList.end();
1169 cl::list<std::string>::iterator pname;
1170 cl::list<std::string>::iterator pnameEnd = ArgPortList.end();
1195 cl::list<mcld::ZOption>::iterator zOpt;
1196 cl::list<mcld::ZOption>::iterator zOptEnd = ArgZOptionList.end();
1243 for (cl::list<std::string>::iterator
1246 // FIXME: Add a cl::parser
1258 for (cl::list<std::string>::iterator
1283 cl::list<std::string>::iterator aux;
1284 cl::list<std::string>::iterator auxEnd = ArgAuxiliary.end();
1308 cl::ParseCommandLineOptions(argc, argv, "MCLinker\n");
1541 cl::PrintOptionValues();