Lines Matching +full:pic +full:- +full:base +full:- +full:vec
1 //===-- CommandFlags.cpp - Command Line Flags Interface ---------*- C++ -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file contains codegen-specific flags that are shared between different
13 //===----------------------------------------------------------------------===//
50 if (NAME##View->getNumOccurrences()) { \
121 "march", cl::desc("Architecture to generate code for (see --version)")); in CGOPT()
125 "mcpu", cl::desc("Target a specific cpu type (-mcpu=help for details)"), in CGOPT()
126 cl::value_desc("cpu-name"), cl::init("")); in CGOPT()
131 cl::desc("Target specific attributes (-mattr=help for details)"), in CGOPT()
132 cl::value_desc("a1,+a2,-a3,...")); in CGOPT()
136 "relocation-model", cl::desc("Choose relocation model"), in CGOPT()
138 clEnumValN(Reloc::Static, "static", "Non-relocatable code"), in CGOPT()
139 clEnumValN(Reloc::PIC_, "pic", in CGOPT()
141 clEnumValN(Reloc::DynamicNoPIC, "dynamic-no-pic", in CGOPT()
142 "Relocatable external references, non-relocatable code"), in CGOPT()
145 "Code and read-only data relocatable, accessed PC-relative"), in CGOPT()
148 "Read-write data relocatable, accessed relative to static base"), in CGOPT()
149 clEnumValN(Reloc::ROPI_RWPI, "ropi-rwpi", in CGOPT()
154 "thread-model", cl::desc("Choose threading model"), in CGOPT()
162 "code-model", cl::desc("Choose code model"), in CGOPT()
171 "large-data-threshold", in CGOPT()
177 "exception-model", cl::desc("exception model"), in CGOPT()
183 "DWARF-like CFI based exception handling"), in CGOPT()
206 "frame-pointer", in CGOPT()
212 clEnumValN(FramePointerKind::NonLeaf, "non-leaf", in CGOPT()
213 "Disable frame pointer elimination for non-leaf frame"), in CGOPT()
222 "enable-unsafe-fp-math", in CGOPT()
228 "enable-no-infs-fp-math", in CGOPT()
229 cl::desc("Enable FP math optimizations that assume no +-Infs"), in CGOPT()
234 "enable-no-nans-fp-math", in CGOPT()
240 "enable-no-signed-zeros-fp-math", in CGOPT()
247 "enable-approx-func-fp-math", in CGOPT()
253 "enable-no-trapping-fp-math", in CGOPT()
261 clEnumValN(DenormalMode::PreserveSign, "preserve-sign", in CGOPT()
262 "the sign of a flushed-to-zero number is preserved " in CGOPT()
264 clEnumValN(DenormalMode::PositiveZero, "positive-zero", in CGOPT()
271 "denormal-fp-math", in CGOPT()
278 "denormal-fp-math-f32", in CGOPT()
285 "enable-sign-dependent-rounding-fp-math", cl::Hidden, in CGOPT()
291 "float-abi", cl::desc("Choose float ABI type"), in CGOPT()
296 "Soft float ABI (implied by -soft-float)"), in CGOPT()
302 "fp-contract", cl::desc("Enable aggressive formation of fused FP ops"), in CGOPT()
313 "swift-async-fp", in CGOPT()
325 "nozero-initialized-in-bss", in CGOPT()
326 cl::desc("Don't place zero-initialized symbols into bss section"), in CGOPT()
331 "vec-extabi", cl::desc("Enable the AIX Extended Altivec ABI."), in CGOPT()
343 "disable-tail-calls", cl::desc("Never emit tail calls"), cl::init(false)); in CGOPT()
347 "stack-symbol-ordering", cl::desc("Order local stack symbols."), in CGOPT()
358 "trap-func", cl::Hidden, in CGOPT()
363 static cl::opt<bool> UseCtors("use-ctors", in CGOPT()
369 "data-sections", cl::desc("Emit data into separate sections"), in CGOPT()
374 "function-sections", cl::desc("Emit functions into separate sections"), in CGOPT()
379 "ignore-xcoff-visibility", in CGOPT()
386 "xcoff-traceback-table", cl::desc("Emit the XCOFF traceback table"), in CGOPT()
391 "basic-block-address-map", in CGOPT()
396 "basic-block-sections", in CGOPT()
403 "tls-size", cl::desc("Bit size of immediate TLS offsets"), cl::init(0)); in CGOPT()
407 "emulated-tls", cl::desc("Use emulated TLS model"), cl::init(false)); in CGOPT()
411 "enable-tlsdesc", cl::desc("Enable the use of TLS Descriptors"), in CGOPT()
416 "unique-section-names", cl::desc("Give unique names to every section"), in CGOPT()
421 "unique-basic-block-section-names", in CGOPT()
427 "separate-named-sections", in CGOPT()
443 "debugger-tune", cl::desc("Tune debug info for a particular debugger"), in CGOPT()
453 "stack-size-section", in CGOPT()
459 "addrsig", cl::desc("Emit an address-significance table"), in CGOPT()
464 "emit-call-site-info", in CGOPT()
471 "debug-entry-values", in CGOPT()
477 "split-machine-functions", in CGOPT()
484 "force-dwarf-frame-section", in CGOPT()
488 static cl::opt<bool> XRayFunctionIndex("xray-function-index", in CGOPT()
494 "strict-dwarf", cl::desc("use strict dwarf"), cl::init(false)); in CGOPT()
497 static cl::opt<unsigned> AlignLoops("align-loops", in CGOPT()
502 "enable-jmc-instrument", in CGOPT()
508 "mxcoff-roptr", in CGOPT()
515 "no-integrated-as", cl::desc("Disable integrated assembler"), in CGOPT()
660 if (CL->getNumOccurrences() > 0 && !F.hasFnAttribute(AttrName)) \
672 if (!CPU.empty() && !F.hasFnAttribute("target-cpu")) in setFunctionAttributes()
673 NewAttrs.addAttribute("target-cpu", CPU); in setFunctionAttributes()
677 F.getFnAttribute("target-features").getValueAsString(); in setFunctionAttributes()
679 NewAttrs.addAttribute("target-features", Features); in setFunctionAttributes()
684 NewAttrs.addAttribute("target-features", Appended); in setFunctionAttributes()
687 if (FramePointerUsageView->getNumOccurrences() > 0 && in setFunctionAttributes()
688 !F.hasFnAttribute("frame-pointer")) { in setFunctionAttributes()
690 NewAttrs.addAttribute("frame-pointer", "all"); in setFunctionAttributes()
692 NewAttrs.addAttribute("frame-pointer", "non-leaf"); in setFunctionAttributes()
694 NewAttrs.addAttribute("frame-pointer", "reserved"); in setFunctionAttributes()
696 NewAttrs.addAttribute("frame-pointer", "none"); in setFunctionAttributes()
698 if (DisableTailCallsView->getNumOccurrences() > 0) in setFunctionAttributes()
699 NewAttrs.addAttribute("disable-tail-calls", in setFunctionAttributes()
704 HANDLE_BOOL_ATTR(EnableUnsafeFPMathView, "unsafe-fp-math"); in setFunctionAttributes()
705 HANDLE_BOOL_ATTR(EnableNoInfsFPMathView, "no-infs-fp-math"); in setFunctionAttributes()
706 HANDLE_BOOL_ATTR(EnableNoNaNsFPMathView, "no-nans-fp-math"); in setFunctionAttributes()
707 HANDLE_BOOL_ATTR(EnableNoSignedZerosFPMathView, "no-signed-zeros-fp-math"); in setFunctionAttributes()
708 HANDLE_BOOL_ATTR(EnableApproxFuncFPMathView, "approx-func-fp-math"); in setFunctionAttributes()
710 if (DenormalFPMathView->getNumOccurrences() > 0 && in setFunctionAttributes()
711 !F.hasFnAttribute("denormal-fp-math")) { in setFunctionAttributes()
715 NewAttrs.addAttribute("denormal-fp-math", in setFunctionAttributes()
719 if (DenormalFP32MathView->getNumOccurrences() > 0 && in setFunctionAttributes()
720 !F.hasFnAttribute("denormal-fp-math-f32")) { in setFunctionAttributes()
725 "denormal-fp-math-f32", in setFunctionAttributes()
729 if (TrapFuncNameView->getNumOccurrences() > 0) in setFunctionAttributes()
733 if (const auto *F = Call->getCalledFunction()) in setFunctionAttributes()
734 if (F->getIntrinsicID() == Intrinsic::debugtrap || in setFunctionAttributes()
735 F->getIntrinsicID() == Intrinsic::trap) in setFunctionAttributes()
736 Call->addFnAttr( in setFunctionAttributes()
737 Attribute::get(Ctx, "trap-func-name", getTrapFuncName())); in setFunctionAttributes()
760 auto *Target = TheTarget->createTargetMachine( in createTargetMachineForTriple()