Lines Matching defs:Opts
61 const LangOptions &Opts) {
66 if (Opts.GNUMode)
83 void addCygMingDefines(const LangOptions &Opts, MacroBuilder &Builder) {
88 if (Opts.DeclSpecKeyword)
93 if (!Opts.MicrosoftExt) {
113 const TargetOptions &Opts) {
121 return std::make_unique<ARCTargetInfo>(Triple, Opts);
124 return std::make_unique<XCoreTargetInfo>(Triple, Opts);
129 return std::make_unique<LinuxTargetInfo<HexagonTargetInfo>>(Triple, Opts);
130 return std::make_unique<HexagonTargetInfo>(Triple, Opts);
133 return std::make_unique<LanaiTargetInfo>(Triple, Opts);
137 return std::make_unique<DarwinAArch64TargetInfo>(Triple, Opts);
139 return std::make_unique<AppleMachOAArch64TargetInfo>(Triple, Opts);
144 return std::make_unique<DarwinAArch64TargetInfo>(Triple, Opts);
146 return std::make_unique<AppleMachOAArch64TargetInfo>(Triple, Opts);
151 Opts);
154 Opts);
157 Opts);
162 Opts);
165 Opts);
169 Opts);
172 Opts);
176 return std::make_unique<MinGWARM64TargetInfo>(Triple, Opts);
179 return std::make_unique<MicrosoftARM64TargetInfo>(Triple, Opts);
182 return std::make_unique<AArch64leTargetInfo>(Triple, Opts);
189 Opts);
192 Opts);
195 Opts);
198 Opts);
200 return std::make_unique<AArch64beTargetInfo>(Triple, Opts);
206 return std::make_unique<DarwinARMTargetInfo>(Triple, Opts);
212 return std::make_unique<LinuxTargetInfo<ARMleTargetInfo>>(Triple, Opts);
214 return std::make_unique<OHOSTargetInfo<ARMleTargetInfo>>(Triple, Opts);
217 return std::make_unique<OHOSTargetInfo<ARMleTargetInfo>>(Triple, Opts);
219 return std::make_unique<FreeBSDTargetInfo<ARMleTargetInfo>>(Triple, Opts);
221 return std::make_unique<NetBSDTargetInfo<ARMleTargetInfo>>(Triple, Opts);
223 return std::make_unique<OpenBSDTargetInfo<ARMleTargetInfo>>(Triple, Opts);
225 return std::make_unique<RTEMSTargetInfo<ARMleTargetInfo>>(Triple, Opts);
227 return std::make_unique<HaikuTargetInfo<ARMleTargetInfo>>(Triple, Opts);
229 return std::make_unique<NaClTargetInfo<ARMleTargetInfo>>(Triple, Opts);
233 return std::make_unique<CygwinARMTargetInfo>(Triple, Opts);
235 return std::make_unique<MinGWARMTargetInfo>(Triple, Opts);
237 return std::make_unique<ItaniumWindowsARMleTargetInfo>(Triple, Opts);
240 return std::make_unique<MicrosoftARMleTargetInfo>(Triple, Opts);
243 return std::make_unique<ARMleTargetInfo>(Triple, Opts);
249 return std::make_unique<DarwinARMTargetInfo>(Triple, Opts);
251 return std::make_unique<AppleMachOARMTargetInfo>(Triple, Opts);
255 return std::make_unique<LinuxTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
257 return std::make_unique<NetBSDTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
259 return std::make_unique<RTEMSTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
261 return std::make_unique<NaClTargetInfo<ARMbeTargetInfo>>(Triple, Opts);
263 return std::make_unique<ARMbeTargetInfo>(Triple, Opts);
267 return std::make_unique<AVRTargetInfo>(Triple, Opts);
270 return std::make_unique<BPFTargetInfo>(Triple, Opts);
273 return std::make_unique<MSP430TargetInfo>(Triple, Opts);
278 return std::make_unique<LinuxTargetInfo<MipsTargetInfo>>(Triple, Opts);
280 return std::make_unique<RTEMSTargetInfo<MipsTargetInfo>>(Triple, Opts);
282 return std::make_unique<FreeBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
284 return std::make_unique<NetBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
286 return std::make_unique<MipsTargetInfo>(Triple, Opts);
294 return std::make_unique<LinuxTargetInfo<MipsTargetInfo>>(Triple, Opts);
296 return std::make_unique<OHOSTargetInfo<MipsTargetInfo>>(Triple, Opts);
299 return std::make_unique<RTEMSTargetInfo<MipsTargetInfo>>(Triple, Opts);
301 return std::make_unique<FreeBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
303 return std::make_unique<NetBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
306 Opts);
310 return std::make_unique<MinGWMipsTargetInfo>(Triple, Opts);
313 return std::make_unique<MicrosoftMipsTargetInfo>(Triple, Opts);
316 return std::make_unique<MipsTargetInfo>(Triple, Opts);
322 return std::make_unique<LinuxTargetInfo<MipsTargetInfo>>(Triple, Opts);
324 return std::make_unique<RTEMSTargetInfo<MipsTargetInfo>>(Triple, Opts);
326 return std::make_unique<FreeBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
328 return std::make_unique<NetBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
330 return std::make_unique<OpenBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
332 return std::make_unique<MipsTargetInfo>(Triple, Opts);
338 return std::make_unique<LinuxTargetInfo<MipsTargetInfo>>(Triple, Opts);
340 return std::make_unique<RTEMSTargetInfo<MipsTargetInfo>>(Triple, Opts);
342 return std::make_unique<FreeBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
344 return std::make_unique<NetBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
346 return std::make_unique<OpenBSDTargetInfo<MipsTargetInfo>>(Triple, Opts);
348 return std::make_unique<MipsTargetInfo>(Triple, Opts);
354 return std::make_unique<LinuxTargetInfo<M68kTargetInfo>>(Triple, Opts);
356 return std::make_unique<NetBSDTargetInfo<M68kTargetInfo>>(Triple, Opts);
358 return std::make_unique<M68kTargetInfo>(Triple, Opts);
364 return std::make_unique<LinuxTargetInfo<PPC32TargetInfo>>(Triple, Opts);
366 return std::make_unique<FreeBSDTargetInfo<PPC32TargetInfo>>(Triple, Opts);
368 return std::make_unique<NetBSDTargetInfo<PPC32TargetInfo>>(Triple, Opts);
370 return std::make_unique<OpenBSDTargetInfo<PPC32TargetInfo>>(Triple, Opts);
372 return std::make_unique<RTEMSTargetInfo<PPC32TargetInfo>>(Triple, Opts);
374 return std::make_unique<AIXPPC32TargetInfo>(Triple, Opts);
376 return std::make_unique<PPC32TargetInfo>(Triple, Opts);
382 return std::make_unique<LinuxTargetInfo<PPC32TargetInfo>>(Triple, Opts);
384 return std::make_unique<FreeBSDTargetInfo<PPC32TargetInfo>>(Triple, Opts);
386 return std::make_unique<PPC32TargetInfo>(Triple, Opts);
392 return std::make_unique<LinuxTargetInfo<PPC64TargetInfo>>(Triple, Opts);
394 return std::make_unique<PS3PPUTargetInfo<PPC64TargetInfo>>(Triple, Opts);
396 return std::make_unique<FreeBSDTargetInfo<PPC64TargetInfo>>(Triple, Opts);
398 return std::make_unique<NetBSDTargetInfo<PPC64TargetInfo>>(Triple, Opts);
400 return std::make_unique<OpenBSDTargetInfo<PPC64TargetInfo>>(Triple, Opts);
402 return std::make_unique<AIXPPC64TargetInfo>(Triple, Opts);
404 return std::make_unique<PPC64TargetInfo>(Triple, Opts);
410 return std::make_unique<LinuxTargetInfo<PPC64TargetInfo>>(Triple, Opts);
412 return std::make_unique<FreeBSDTargetInfo<PPC64TargetInfo>>(Triple, Opts);
414 return std::make_unique<NetBSDTargetInfo<PPC64TargetInfo>>(Triple, Opts);
416 return std::make_unique<OpenBSDTargetInfo<PPC64TargetInfo>>(Triple, Opts);
418 return std::make_unique<PPC64TargetInfo>(Triple, Opts);
422 return std::make_unique<NVPTXTargetInfo>(Triple, Opts,
425 return std::make_unique<NVPTXTargetInfo>(Triple, Opts,
430 return std::make_unique<AMDGPUTargetInfo>(Triple, Opts);
436 Opts);
438 return std::make_unique<LinuxTargetInfo<RISCV32TargetInfo>>(Triple, Opts);
440 return std::make_unique<RISCV32TargetInfo>(Triple, Opts);
447 Opts);
450 Opts);
453 Opts);
456 Opts);
459 Opts);
464 Opts);
467 Opts);
470 return std::make_unique<RISCV64TargetInfo>(Triple, Opts);
476 return std::make_unique<LinuxTargetInfo<SparcV8TargetInfo>>(Triple, Opts);
479 Opts);
482 Opts);
484 return std::make_unique<RTEMSTargetInfo<SparcV8TargetInfo>>(Triple, Opts);
486 return std::make_unique<SparcV8TargetInfo>(Triple, Opts);
493 Opts);
496 Opts);
498 return std::make_unique<SparcV8elTargetInfo>(Triple, Opts);
504 return std::make_unique<LinuxTargetInfo<SparcV9TargetInfo>>(Triple, Opts);
507 Opts);
510 Opts);
513 Opts);
516 Opts);
518 return std::make_unique<SparcV9TargetInfo>(Triple, Opts);
524 return std::make_unique<LinuxTargetInfo<SystemZTargetInfo>>(Triple, Opts);
526 return std::make_unique<ZOSTargetInfo<SystemZTargetInfo>>(Triple, Opts);
528 return std::make_unique<SystemZTargetInfo>(Triple, Opts);
532 return std::make_unique<TCETargetInfo>(Triple, Opts);
535 return std::make_unique<TCELETargetInfo>(Triple, Opts);
539 return std::make_unique<DarwinI386TargetInfo>(Triple, Opts);
541 return std::make_unique<AppleMachOI386TargetInfo>(Triple, Opts);
548 Opts);
550 return std::make_unique<AndroidX86_32TargetInfo>(Triple, Opts);
555 Opts);
557 return std::make_unique<NetBSDI386TargetInfo>(Triple, Opts);
559 return std::make_unique<OpenBSDI386TargetInfo>(Triple, Opts);
562 Opts);
565 Opts);
568 Opts);
571 Opts);
575 return std::make_unique<CygwinX86_32TargetInfo>(Triple, Opts);
577 return std::make_unique<MinGWX86_32TargetInfo>(Triple, Opts);
581 return std::make_unique<MicrosoftX86_32TargetInfo>(Triple, Opts);
585 return std::make_unique<HaikuX86_32TargetInfo>(Triple, Opts);
587 return std::make_unique<RTEMSX86_32TargetInfo>(Triple, Opts);
589 return std::make_unique<NaClTargetInfo<X86_32TargetInfo>>(Triple, Opts);
591 return std::make_unique<MCUX86_32TargetInfo>(Triple, Opts);
593 return std::make_unique<HurdTargetInfo<X86_32TargetInfo>>(Triple, Opts);
595 return std::make_unique<X86_32TargetInfo>(Triple, Opts);
600 return std::make_unique<DarwinX86_64TargetInfo>(Triple, Opts);
607 Opts);
609 return std::make_unique<AndroidX86_64TargetInfo>(Triple, Opts);
611 return std::make_unique<OHOSX86_64TargetInfo>(Triple, Opts);
616 Opts);
618 return std::make_unique<NetBSDTargetInfo<X86_64TargetInfo>>(Triple, Opts);
620 return std::make_unique<OpenBSDX86_64TargetInfo>(Triple, Opts);
623 Opts);
626 Opts);
629 Opts);
632 Opts);
634 return std::make_unique<UEFIX86_64TargetInfo>(Triple, Opts);
639 return std::make_unique<CygwinX86_64TargetInfo>(Triple, Opts);
641 return std::make_unique<MinGWX86_64TargetInfo>(Triple, Opts);
644 return std::make_unique<MicrosoftX86_64TargetInfo>(Triple, Opts);
648 return std::make_unique<HaikuTargetInfo<X86_64TargetInfo>>(Triple, Opts);
650 return std::make_unique<NaClTargetInfo<X86_64TargetInfo>>(Triple, Opts);
652 return std::make_unique<PS4OSTargetInfo<X86_64TargetInfo>>(Triple, Opts);
654 return std::make_unique<PS5OSTargetInfo<X86_64TargetInfo>>(Triple, Opts);
656 return std::make_unique<HurdTargetInfo<X86_64TargetInfo>>(Triple, Opts);
658 return std::make_unique<X86_64TargetInfo>(Triple, Opts);
665 return std::make_unique<SPIR32TargetInfo>(Triple, Opts);
671 return std::make_unique<SPIR64TargetInfo>(Triple, Opts);
674 return std::make_unique<SPIRVTargetInfo>(Triple, Opts);
680 return std::make_unique<SPIRV32TargetInfo>(Triple, Opts);
686 return std::make_unique<SPIRV64AMDGCNTargetInfo>(Triple, Opts);
689 return std::make_unique<SPIRV64TargetInfo>(Triple, Opts);
699 Opts);
702 Triple, Opts);
705 Triple, Opts);
717 Opts);
720 Triple, Opts);
723 Triple, Opts);
729 return std::make_unique<DirectXTargetInfo>(Triple, Opts);
732 return std::make_unique<LinuxTargetInfo<VETargetInfo>>(Triple, Opts);
737 return std::make_unique<LinuxTargetInfo<CSKYTargetInfo>>(Triple, Opts);
739 return std::make_unique<CSKYTargetInfo>(Triple, Opts);
745 Opts);
747 return std::make_unique<LoongArch32TargetInfo>(Triple, Opts);
753 Opts);
756 Opts);
758 return std::make_unique<LoongArch64TargetInfo>(Triple, Opts);
762 return std::make_unique<XtensaTargetInfo>(Triple, Opts);
773 const std::shared_ptr<TargetOptions> &Opts) {
774 llvm::Triple Triple(llvm::Triple::normalize(Opts->Triple));
777 std::unique_ptr<TargetInfo> Target = AllocateTarget(Triple, *Opts);
782 Target->TargetOpts = Opts;
785 if (!Opts->CPU.empty() && !Target->setCPU(Opts->CPU)) {
786 Diags.Report(diag::err_target_unknown_cpu) << Opts->CPU;
795 if (!Opts->TuneCPU.empty() &&
796 !Target->isValidTuneCPUName(Opts->TuneCPU)) {
797 Diags.Report(diag::err_target_unknown_cpu) << Opts->TuneCPU;
806 if (!Opts->ABI.empty() && !Target->setABI(Opts->ABI)) {
807 Diags.Report(diag::err_target_unknown_abi) << Opts->ABI;
812 if (!Opts->FPMath.empty() && !Target->setFPMath(Opts->FPMath)) {
813 Diags.Report(diag::err_target_unknown_fpmath) << Opts->FPMath;
819 llvm::erase_if(Opts->FeaturesAsWritten, [&](StringRef Name) {
826 if (!Target->initFeatureMap(Opts->FeatureMap, Diags, Opts->CPU,
827 Opts->FeaturesAsWritten))
831 Opts->Features.clear();
832 for (const auto &F : Opts->FeatureMap)
833 Opts->Features.push_back((F.getValue() ? "+" : "-") + F.getKey().str());
836 llvm::sort(Opts->Features);
838 if (!Target->handleTargetFeatures(Opts->Features, Diags))
845 if (!Opts->DarwinTargetVariantTriple.empty())
847 llvm::Triple(Opts->DarwinTargetVariantTriple);
858 bool TargetInfo::validateOpenCLTarget(const LangOptions &Opts,
863 if (OpenCLOptions::isOpenCLOptionCoreIn(Opts, OptArgs...) &&
866 << Name << Opts.OpenCLCPlusPlus
867 << Opts.getOpenCLVersionTuple().getAsString();
875 if (Opts.getOpenCLCompatibleVersion() < 300)