Lines Matching refs:Opts
57 const LangOptions &Opts) {
62 if (Opts.GNUMode)
79 void addCygMingDefines(const LangOptions &Opts, MacroBuilder &Builder) {
83 if (Opts.MicrosoftExt)
88 if (!Opts.MicrosoftExt) {
108 const TargetOptions &Opts) {
116 return new ARCTargetInfo(Triple, Opts);
119 return new XCoreTargetInfo(Triple, Opts);
124 return new LinuxTargetInfo<HexagonTargetInfo>(Triple, Opts);
125 return new HexagonTargetInfo(Triple, Opts);
128 return new LanaiTargetInfo(Triple, Opts);
132 return new DarwinAArch64TargetInfo(Triple, Opts);
137 return new DarwinAArch64TargetInfo(Triple, Opts);
141 return new CloudABITargetInfo<AArch64leTargetInfo>(Triple, Opts);
143 return new FreeBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts);
145 return new FuchsiaTargetInfo<AArch64leTargetInfo>(Triple, Opts);
147 return new LinuxTargetInfo<AArch64leTargetInfo>(Triple, Opts);
149 return new NetBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts);
151 return new OpenBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts);
155 return new MinGWARM64TargetInfo(Triple, Opts);
158 return new MicrosoftARM64TargetInfo(Triple, Opts);
161 return new AArch64leTargetInfo(Triple, Opts);
167 return new FreeBSDTargetInfo<AArch64beTargetInfo>(Triple, Opts);
169 return new FuchsiaTargetInfo<AArch64beTargetInfo>(Triple, Opts);
171 return new LinuxTargetInfo<AArch64beTargetInfo>(Triple, Opts);
173 return new NetBSDTargetInfo<AArch64beTargetInfo>(Triple, Opts);
175 return new AArch64beTargetInfo(Triple, Opts);
181 return new DarwinARMTargetInfo(Triple, Opts);
185 return new CloudABITargetInfo<ARMleTargetInfo>(Triple, Opts);
187 return new LinuxTargetInfo<ARMleTargetInfo>(Triple, Opts);
189 return new FreeBSDTargetInfo<ARMleTargetInfo>(Triple, Opts);
191 return new NetBSDTargetInfo<ARMleTargetInfo>(Triple, Opts);
193 return new OpenBSDTargetInfo<ARMleTargetInfo>(Triple, Opts);
195 return new RTEMSTargetInfo<ARMleTargetInfo>(Triple, Opts);
197 return new NaClTargetInfo<ARMleTargetInfo>(Triple, Opts);
201 return new CygwinARMTargetInfo(Triple, Opts);
203 return new MinGWARMTargetInfo(Triple, Opts);
205 return new ItaniumWindowsARMleTargetInfo(Triple, Opts);
208 return new MicrosoftARMleTargetInfo(Triple, Opts);
211 return new ARMleTargetInfo(Triple, Opts);
217 return new DarwinARMTargetInfo(Triple, Opts);
221 return new LinuxTargetInfo<ARMbeTargetInfo>(Triple, Opts);
223 return new FreeBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts);
225 return new NetBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts);
227 return new OpenBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts);
229 return new RTEMSTargetInfo<ARMbeTargetInfo>(Triple, Opts);
231 return new NaClTargetInfo<ARMbeTargetInfo>(Triple, Opts);
233 return new ARMbeTargetInfo(Triple, Opts);
237 return new AVRTargetInfo(Triple, Opts);
240 return new BPFTargetInfo(Triple, Opts);
243 return new MSP430TargetInfo(Triple, Opts);
248 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts);
250 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts);
252 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
254 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
256 return new MipsTargetInfo(Triple, Opts);
262 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts);
264 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts);
266 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
268 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
270 return new NaClTargetInfo<NaClMips32TargetInfo>(Triple, Opts);
272 return new MipsTargetInfo(Triple, Opts);
278 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts);
280 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts);
282 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
284 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
286 return new OpenBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
288 return new MipsTargetInfo(Triple, Opts);
294 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts);
296 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts);
298 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
300 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
302 return new OpenBSDTargetInfo<MipsTargetInfo>(Triple, Opts);
304 return new MipsTargetInfo(Triple, Opts);
310 return new LinuxTargetInfo<M68kTargetInfo>(Triple, Opts);
312 return new NetBSDTargetInfo<M68kTargetInfo>(Triple, Opts);
314 return new M68kTargetInfo(Triple, Opts);
320 return new NaClTargetInfo<PNaClTargetInfo>(Triple, Opts);
326 return new Le64TargetInfo(Triple, Opts);
330 return new DarwinPPC32TargetInfo(Triple, Opts);
333 return new LinuxTargetInfo<PPC32TargetInfo>(Triple, Opts);
335 return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, Opts);
337 return new NetBSDTargetInfo<PPC32TargetInfo>(Triple, Opts);
339 return new OpenBSDTargetInfo<PPC32TargetInfo>(Triple, Opts);
341 return new RTEMSTargetInfo<PPC32TargetInfo>(Triple, Opts);
343 return new AIXPPC32TargetInfo(Triple, Opts);
345 return new PPC32TargetInfo(Triple, Opts);
351 return new LinuxTargetInfo<PPC32TargetInfo>(Triple, Opts);
353 return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, Opts);
355 return new PPC32TargetInfo(Triple, Opts);
360 return new DarwinPPC64TargetInfo(Triple, Opts);
363 return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts);
365 return new PS3PPUTargetInfo<PPC64TargetInfo>(Triple, Opts);
367 return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
369 return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
371 return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
373 return new AIXPPC64TargetInfo(Triple, Opts);
375 return new PPC64TargetInfo(Triple, Opts);
381 return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts);
383 return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
385 return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
387 return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts);
389 return new PPC64TargetInfo(Triple, Opts);
393 return new NVPTXTargetInfo(Triple, Opts, /*TargetPointerWidth=*/32);
395 return new NVPTXTargetInfo(Triple, Opts, /*TargetPointerWidth=*/64);
399 return new AMDGPUTargetInfo(Triple, Opts);
405 return new FreeBSDTargetInfo<RISCV32TargetInfo>(Triple, Opts);
407 return new LinuxTargetInfo<RISCV32TargetInfo>(Triple, Opts);
409 return new RISCV32TargetInfo(Triple, Opts);
416 return new FreeBSDTargetInfo<RISCV64TargetInfo>(Triple, Opts);
418 return new OpenBSDTargetInfo<RISCV64TargetInfo>(Triple, Opts);
420 return new FuchsiaTargetInfo<RISCV64TargetInfo>(Triple, Opts);
422 return new LinuxTargetInfo<RISCV64TargetInfo>(Triple, Opts);
424 return new RISCV64TargetInfo(Triple, Opts);
430 return new LinuxTargetInfo<SparcV8TargetInfo>(Triple, Opts);
432 return new SolarisTargetInfo<SparcV8TargetInfo>(Triple, Opts);
434 return new NetBSDTargetInfo<SparcV8TargetInfo>(Triple, Opts);
436 return new RTEMSTargetInfo<SparcV8TargetInfo>(Triple, Opts);
438 return new SparcV8TargetInfo(Triple, Opts);
445 return new LinuxTargetInfo<SparcV8elTargetInfo>(Triple, Opts);
447 return new NetBSDTargetInfo<SparcV8elTargetInfo>(Triple, Opts);
449 return new RTEMSTargetInfo<SparcV8elTargetInfo>(Triple, Opts);
451 return new SparcV8elTargetInfo(Triple, Opts);
457 return new LinuxTargetInfo<SparcV9TargetInfo>(Triple, Opts);
459 return new SolarisTargetInfo<SparcV9TargetInfo>(Triple, Opts);
461 Opts);
463 return new OpenBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts);
465 return new FreeBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts);
467 return new SparcV9TargetInfo(Triple, Opts);
473 return new LinuxTargetInfo<SystemZTargetInfo>(Triple, Opts);
475 return new ZOSTargetInfo<SystemZTargetInfo>(Triple, Opts);
477 return new SystemZTargetInfo(Triple, Opts);
481 return new TCETargetInfo(Triple, Opts);
484 return new TCELETargetInfo(Triple, Opts);
488 return new DarwinI386TargetInfo(Triple, Opts);
492 return new AnanasTargetInfo<X86_32TargetInfo>(Triple, Opts);
494 return new CloudABITargetInfo<X86_32TargetInfo>(Triple, Opts);
498 return new LinuxTargetInfo<X86_32TargetInfo>(Triple, Opts);
500 return new AndroidX86_32TargetInfo(Triple, Opts);
504 return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(Triple, Opts);
506 return new NetBSDI386TargetInfo(Triple, Opts);
508 return new OpenBSDI386TargetInfo(Triple, Opts);
510 return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts);
512 return new FuchsiaTargetInfo<X86_32TargetInfo>(Triple, Opts);
514 return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts);
516 return new MinixTargetInfo<X86_32TargetInfo>(Triple, Opts);
518 return new SolarisTargetInfo<X86_32TargetInfo>(Triple, Opts);
522 return new CygwinX86_32TargetInfo(Triple, Opts);
524 return new MinGWX86_32TargetInfo(Triple, Opts);
528 return new MicrosoftX86_32TargetInfo(Triple, Opts);
532 return new HaikuX86_32TargetInfo(Triple, Opts);
534 return new RTEMSX86_32TargetInfo(Triple, Opts);
536 return new NaClTargetInfo<X86_32TargetInfo>(Triple, Opts);
538 return new MCUX86_32TargetInfo(Triple, Opts);
540 return new HurdTargetInfo<X86_32TargetInfo>(Triple, Opts);
542 return new X86_32TargetInfo(Triple, Opts);
547 return new DarwinX86_64TargetInfo(Triple, Opts);
551 return new AnanasTargetInfo<X86_64TargetInfo>(Triple, Opts);
553 return new CloudABITargetInfo<X86_64TargetInfo>(Triple, Opts);
557 return new LinuxTargetInfo<X86_64TargetInfo>(Triple, Opts);
559 return new AndroidX86_64TargetInfo(Triple, Opts);
563 return new DragonFlyBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
565 return new NetBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
567 return new OpenBSDX86_64TargetInfo(Triple, Opts);
569 return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
571 return new FuchsiaTargetInfo<X86_64TargetInfo>(Triple, Opts);
573 return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts);
575 return new SolarisTargetInfo<X86_64TargetInfo>(Triple, Opts);
579 return new CygwinX86_64TargetInfo(Triple, Opts);
581 return new MinGWX86_64TargetInfo(Triple, Opts);
584 return new MicrosoftX86_64TargetInfo(Triple, Opts);
588 return new HaikuTargetInfo<X86_64TargetInfo>(Triple, Opts);
590 return new NaClTargetInfo<X86_64TargetInfo>(Triple, Opts);
592 return new PS4OSTargetInfo<X86_64TargetInfo>(Triple, Opts);
594 return new X86_64TargetInfo(Triple, Opts);
601 return new SPIR32TargetInfo(Triple, Opts);
607 return new SPIR64TargetInfo(Triple, Opts);
616 return new WASITargetInfo<WebAssembly32TargetInfo>(Triple, Opts);
618 return new EmscriptenTargetInfo<WebAssembly32TargetInfo>(Triple, Opts);
620 return new WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>(Triple, Opts);
631 return new WASITargetInfo<WebAssembly64TargetInfo>(Triple, Opts);
633 return new EmscriptenTargetInfo<WebAssembly64TargetInfo>(Triple, Opts);
635 return new WebAssemblyOSTargetInfo<WebAssembly64TargetInfo>(Triple, Opts);
641 return new LinuxTargetInfo<RenderScript32TargetInfo>(Triple, Opts);
643 return new LinuxTargetInfo<RenderScript64TargetInfo>(Triple, Opts);
646 return new LinuxTargetInfo<VETargetInfo>(Triple, Opts);
657 const std::shared_ptr<TargetOptions> &Opts) {
658 llvm::Triple Triple(Opts->Triple);
661 std::unique_ptr<TargetInfo> Target(AllocateTarget(Triple, *Opts));
666 Target->TargetOpts = Opts;
669 if (!Opts->CPU.empty() && !Target->setCPU(Opts->CPU)) {
670 Diags.Report(diag::err_target_unknown_cpu) << Opts->CPU;
679 if (!Opts->TuneCPU.empty() &&
680 !Target->isValidTuneCPUName(Opts->TuneCPU)) {
681 Diags.Report(diag::err_target_unknown_cpu) << Opts->TuneCPU;
690 if (!Opts->ABI.empty() && !Target->setABI(Opts->ABI)) {
691 Diags.Report(diag::err_target_unknown_abi) << Opts->ABI;
696 if (!Opts->FPMath.empty() && !Target->setFPMath(Opts->FPMath)) {
697 Diags.Report(diag::err_target_unknown_fpmath) << Opts->FPMath;
703 if (!Target->initFeatureMap(Opts->FeatureMap, Diags, Opts->CPU,
704 Opts->FeaturesAsWritten))
708 Opts->Features.clear();
709 for (const auto &F : Opts->FeatureMap)
710 Opts->Features.push_back((F.getValue() ? "+" : "-") + F.getKey().str());
713 llvm::sort(Opts->Features);
715 if (!Target->handleTargetFeatures(Opts->Features, Diags))
731 bool TargetInfo::validateOpenCLTarget(const LangOptions &Opts,
736 if (OpenCLOptions::isOpenCLOptionCoreIn(Opts, OptArgs...) &&
739 << Name << Opts.OpenCLCPlusPlus
740 << Opts.getOpenCLVersionTuple().getAsString();
748 if (Opts.OpenCLCPlusPlus || Opts.OpenCLVersion < 300)