Lines Matching refs:Triple

109 TargetInfo *AllocateTarget(const llvm::Triple &Triple,  in AllocateTarget()  argument
111 llvm::Triple::OSType os = Triple.getOS(); in AllocateTarget()
113 switch (Triple.getArch()) { in AllocateTarget()
117 case llvm::Triple::arc: in AllocateTarget()
118 return new ARCTargetInfo(Triple, Opts); in AllocateTarget()
120 case llvm::Triple::xcore: in AllocateTarget()
121 return new XCoreTargetInfo(Triple, Opts); in AllocateTarget()
123 case llvm::Triple::hexagon: in AllocateTarget()
124 if (os == llvm::Triple::Linux && in AllocateTarget()
125 Triple.getEnvironment() == llvm::Triple::Musl) in AllocateTarget()
126 return new LinuxTargetInfo<HexagonTargetInfo>(Triple, Opts); in AllocateTarget()
127 return new HexagonTargetInfo(Triple, Opts); in AllocateTarget()
129 case llvm::Triple::lanai: in AllocateTarget()
130 return new LanaiTargetInfo(Triple, Opts); in AllocateTarget()
132 case llvm::Triple::aarch64_32: in AllocateTarget()
133 if (Triple.isOSDarwin()) in AllocateTarget()
134 return new DarwinAArch64TargetInfo(Triple, Opts); in AllocateTarget()
137 case llvm::Triple::aarch64: in AllocateTarget()
138 if (Triple.isOSDarwin()) in AllocateTarget()
139 return new DarwinAArch64TargetInfo(Triple, Opts); in AllocateTarget()
142 case llvm::Triple::CloudABI: in AllocateTarget()
143 return new CloudABITargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
144 case llvm::Triple::FreeBSD: in AllocateTarget()
145 return new FreeBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
146 case llvm::Triple::Fuchsia: in AllocateTarget()
147 return new FuchsiaTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
148 case llvm::Triple::Linux: in AllocateTarget()
149 return new LinuxTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
150 case llvm::Triple::NetBSD: in AllocateTarget()
151 return new NetBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
152 case llvm::Triple::OpenBSD: in AllocateTarget()
153 return new OpenBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
154 case llvm::Triple::Win32: in AllocateTarget()
155 switch (Triple.getEnvironment()) { in AllocateTarget()
156 case llvm::Triple::GNU: in AllocateTarget()
157 return new MinGWARM64TargetInfo(Triple, Opts); in AllocateTarget()
158 case llvm::Triple::MSVC: in AllocateTarget()
160 return new MicrosoftARM64TargetInfo(Triple, Opts); in AllocateTarget()
163 return new AArch64leTargetInfo(Triple, Opts); in AllocateTarget()
166 case llvm::Triple::aarch64_be: in AllocateTarget()
168 case llvm::Triple::FreeBSD: in AllocateTarget()
169 return new FreeBSDTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
170 case llvm::Triple::Fuchsia: in AllocateTarget()
171 return new FuchsiaTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
172 case llvm::Triple::Linux: in AllocateTarget()
173 return new LinuxTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
174 case llvm::Triple::NetBSD: in AllocateTarget()
175 return new NetBSDTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
177 return new AArch64beTargetInfo(Triple, Opts); in AllocateTarget()
180 case llvm::Triple::arm: in AllocateTarget()
181 case llvm::Triple::thumb: in AllocateTarget()
182 if (Triple.isOSBinFormatMachO()) in AllocateTarget()
183 return new DarwinARMTargetInfo(Triple, Opts); in AllocateTarget()
186 case llvm::Triple::CloudABI: in AllocateTarget()
187 return new CloudABITargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
188 case llvm::Triple::Linux: in AllocateTarget()
189 return new LinuxTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
190 case llvm::Triple::FreeBSD: in AllocateTarget()
191 return new FreeBSDTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
192 case llvm::Triple::NetBSD: in AllocateTarget()
193 return new NetBSDTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
194 case llvm::Triple::OpenBSD: in AllocateTarget()
195 return new OpenBSDTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
196 case llvm::Triple::RTEMS: in AllocateTarget()
197 return new RTEMSTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
198 case llvm::Triple::NaCl: in AllocateTarget()
199 return new NaClTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
200 case llvm::Triple::Win32: in AllocateTarget()
201 switch (Triple.getEnvironment()) { in AllocateTarget()
202 case llvm::Triple::Cygnus: in AllocateTarget()
203 return new CygwinARMTargetInfo(Triple, Opts); in AllocateTarget()
204 case llvm::Triple::GNU: in AllocateTarget()
205 return new MinGWARMTargetInfo(Triple, Opts); in AllocateTarget()
206 case llvm::Triple::Itanium: in AllocateTarget()
207 return new ItaniumWindowsARMleTargetInfo(Triple, Opts); in AllocateTarget()
208 case llvm::Triple::MSVC: in AllocateTarget()
210 return new MicrosoftARMleTargetInfo(Triple, Opts); in AllocateTarget()
213 return new ARMleTargetInfo(Triple, Opts); in AllocateTarget()
216 case llvm::Triple::armeb: in AllocateTarget()
217 case llvm::Triple::thumbeb: in AllocateTarget()
218 if (Triple.isOSDarwin()) in AllocateTarget()
219 return new DarwinARMTargetInfo(Triple, Opts); in AllocateTarget()
222 case llvm::Triple::Linux: in AllocateTarget()
223 return new LinuxTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
224 case llvm::Triple::FreeBSD: in AllocateTarget()
225 return new FreeBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
226 case llvm::Triple::NetBSD: in AllocateTarget()
227 return new NetBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
228 case llvm::Triple::OpenBSD: in AllocateTarget()
229 return new OpenBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
230 case llvm::Triple::RTEMS: in AllocateTarget()
231 return new RTEMSTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
232 case llvm::Triple::NaCl: in AllocateTarget()
233 return new NaClTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
235 return new ARMbeTargetInfo(Triple, Opts); in AllocateTarget()
238 case llvm::Triple::avr: in AllocateTarget()
239 return new AVRTargetInfo(Triple, Opts); in AllocateTarget()
240 case llvm::Triple::bpfeb: in AllocateTarget()
241 case llvm::Triple::bpfel: in AllocateTarget()
242 return new BPFTargetInfo(Triple, Opts); in AllocateTarget()
244 case llvm::Triple::msp430: in AllocateTarget()
245 return new MSP430TargetInfo(Triple, Opts); in AllocateTarget()
247 case llvm::Triple::mips: in AllocateTarget()
249 case llvm::Triple::Linux: in AllocateTarget()
250 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
251 case llvm::Triple::RTEMS: in AllocateTarget()
252 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
253 case llvm::Triple::FreeBSD: in AllocateTarget()
254 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
255 case llvm::Triple::NetBSD: in AllocateTarget()
256 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
258 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
261 case llvm::Triple::mipsel: in AllocateTarget()
263 case llvm::Triple::Linux: in AllocateTarget()
264 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
265 case llvm::Triple::RTEMS: in AllocateTarget()
266 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
267 case llvm::Triple::FreeBSD: in AllocateTarget()
268 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
269 case llvm::Triple::NetBSD: in AllocateTarget()
270 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
271 case llvm::Triple::NaCl: in AllocateTarget()
272 return new NaClTargetInfo<NaClMips32TargetInfo>(Triple, Opts); in AllocateTarget()
274 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
277 case llvm::Triple::mips64: in AllocateTarget()
279 case llvm::Triple::Linux: in AllocateTarget()
280 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
281 case llvm::Triple::RTEMS: in AllocateTarget()
282 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
283 case llvm::Triple::FreeBSD: in AllocateTarget()
284 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
285 case llvm::Triple::NetBSD: in AllocateTarget()
286 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
287 case llvm::Triple::OpenBSD: in AllocateTarget()
288 return new OpenBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
290 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
293 case llvm::Triple::mips64el: in AllocateTarget()
295 case llvm::Triple::Linux: in AllocateTarget()
296 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
297 case llvm::Triple::RTEMS: in AllocateTarget()
298 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
299 case llvm::Triple::FreeBSD: in AllocateTarget()
300 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
301 case llvm::Triple::NetBSD: in AllocateTarget()
302 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
303 case llvm::Triple::OpenBSD: in AllocateTarget()
304 return new OpenBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
306 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
309 case llvm::Triple::m68k: in AllocateTarget()
311 case llvm::Triple::Linux: in AllocateTarget()
312 return new LinuxTargetInfo<M68kTargetInfo>(Triple, Opts); in AllocateTarget()
313 case llvm::Triple::NetBSD: in AllocateTarget()
314 return new NetBSDTargetInfo<M68kTargetInfo>(Triple, Opts); in AllocateTarget()
316 return new M68kTargetInfo(Triple, Opts); in AllocateTarget()
319 case llvm::Triple::le32: in AllocateTarget()
321 case llvm::Triple::NaCl: in AllocateTarget()
322 return new NaClTargetInfo<PNaClTargetInfo>(Triple, Opts); in AllocateTarget()
327 case llvm::Triple::le64: in AllocateTarget()
328 return new Le64TargetInfo(Triple, Opts); in AllocateTarget()
330 case llvm::Triple::ppc: in AllocateTarget()
331 if (Triple.isOSDarwin()) in AllocateTarget()
332 return new DarwinPPC32TargetInfo(Triple, Opts); in AllocateTarget()
334 case llvm::Triple::Linux: in AllocateTarget()
335 return new LinuxTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
336 case llvm::Triple::FreeBSD: in AllocateTarget()
337 return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
338 case llvm::Triple::NetBSD: in AllocateTarget()
339 return new NetBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
340 case llvm::Triple::OpenBSD: in AllocateTarget()
341 return new OpenBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
342 case llvm::Triple::RTEMS: in AllocateTarget()
343 return new RTEMSTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
344 case llvm::Triple::AIX: in AllocateTarget()
345 return new AIXPPC32TargetInfo(Triple, Opts); in AllocateTarget()
347 return new PPC32TargetInfo(Triple, Opts); in AllocateTarget()
350 case llvm::Triple::ppcle: in AllocateTarget()
352 case llvm::Triple::Linux: in AllocateTarget()
353 return new LinuxTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
354 case llvm::Triple::FreeBSD: in AllocateTarget()
355 return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
357 return new PPC32TargetInfo(Triple, Opts); in AllocateTarget()
360 case llvm::Triple::ppc64: in AllocateTarget()
361 if (Triple.isOSDarwin()) in AllocateTarget()
362 return new DarwinPPC64TargetInfo(Triple, Opts); in AllocateTarget()
364 case llvm::Triple::Linux: in AllocateTarget()
365 return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
366 case llvm::Triple::Lv2: in AllocateTarget()
367 return new PS3PPUTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
368 case llvm::Triple::FreeBSD: in AllocateTarget()
369 return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
370 case llvm::Triple::NetBSD: in AllocateTarget()
371 return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
372 case llvm::Triple::OpenBSD: in AllocateTarget()
373 return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
374 case llvm::Triple::AIX: in AllocateTarget()
375 return new AIXPPC64TargetInfo(Triple, Opts); in AllocateTarget()
377 return new PPC64TargetInfo(Triple, Opts); in AllocateTarget()
380 case llvm::Triple::ppc64le: in AllocateTarget()
382 case llvm::Triple::Linux: in AllocateTarget()
383 return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
384 case llvm::Triple::FreeBSD: in AllocateTarget()
385 return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
386 case llvm::Triple::NetBSD: in AllocateTarget()
387 return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
388 case llvm::Triple::OpenBSD: in AllocateTarget()
389 return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
391 return new PPC64TargetInfo(Triple, Opts); in AllocateTarget()
394 case llvm::Triple::nvptx: in AllocateTarget()
395 return new NVPTXTargetInfo(Triple, Opts, /*TargetPointerWidth=*/32); in AllocateTarget()
396 case llvm::Triple::nvptx64: in AllocateTarget()
397 return new NVPTXTargetInfo(Triple, Opts, /*TargetPointerWidth=*/64); in AllocateTarget()
399 case llvm::Triple::amdgcn: in AllocateTarget()
400 case llvm::Triple::r600: in AllocateTarget()
401 return new AMDGPUTargetInfo(Triple, Opts); in AllocateTarget()
403 case llvm::Triple::riscv32: in AllocateTarget()
406 case llvm::Triple::FreeBSD: in AllocateTarget()
407 return new FreeBSDTargetInfo<RISCV32TargetInfo>(Triple, Opts); in AllocateTarget()
408 case llvm::Triple::Linux: in AllocateTarget()
409 return new LinuxTargetInfo<RISCV32TargetInfo>(Triple, Opts); in AllocateTarget()
411 return new RISCV32TargetInfo(Triple, Opts); in AllocateTarget()
414 case llvm::Triple::riscv64: in AllocateTarget()
417 case llvm::Triple::FreeBSD: in AllocateTarget()
418 return new FreeBSDTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
419 case llvm::Triple::OpenBSD: in AllocateTarget()
420 return new OpenBSDTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
421 case llvm::Triple::Fuchsia: in AllocateTarget()
422 return new FuchsiaTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
423 case llvm::Triple::Linux: in AllocateTarget()
424 return new LinuxTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
426 return new RISCV64TargetInfo(Triple, Opts); in AllocateTarget()
429 case llvm::Triple::sparc: in AllocateTarget()
431 case llvm::Triple::Linux: in AllocateTarget()
432 return new LinuxTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
433 case llvm::Triple::Solaris: in AllocateTarget()
434 return new SolarisTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
435 case llvm::Triple::NetBSD: in AllocateTarget()
436 return new NetBSDTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
437 case llvm::Triple::RTEMS: in AllocateTarget()
438 return new RTEMSTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
440 return new SparcV8TargetInfo(Triple, Opts); in AllocateTarget()
444 case llvm::Triple::sparcel: in AllocateTarget()
446 case llvm::Triple::Linux: in AllocateTarget()
447 return new LinuxTargetInfo<SparcV8elTargetInfo>(Triple, Opts); in AllocateTarget()
448 case llvm::Triple::NetBSD: in AllocateTarget()
449 return new NetBSDTargetInfo<SparcV8elTargetInfo>(Triple, Opts); in AllocateTarget()
450 case llvm::Triple::RTEMS: in AllocateTarget()
451 return new RTEMSTargetInfo<SparcV8elTargetInfo>(Triple, Opts); in AllocateTarget()
453 return new SparcV8elTargetInfo(Triple, Opts); in AllocateTarget()
456 case llvm::Triple::sparcv9: in AllocateTarget()
458 case llvm::Triple::Linux: in AllocateTarget()
459 return new LinuxTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
460 case llvm::Triple::Solaris: in AllocateTarget()
461 return new SolarisTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
462 case llvm::Triple::NetBSD: in AllocateTarget()
463 return new NetBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
464 case llvm::Triple::OpenBSD: in AllocateTarget()
465 return new OpenBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
466 case llvm::Triple::FreeBSD: in AllocateTarget()
467 return new FreeBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
469 return new SparcV9TargetInfo(Triple, Opts); in AllocateTarget()
472 case llvm::Triple::systemz: in AllocateTarget()
474 case llvm::Triple::Linux: in AllocateTarget()
475 return new LinuxTargetInfo<SystemZTargetInfo>(Triple, Opts); in AllocateTarget()
476 case llvm::Triple::ZOS: in AllocateTarget()
477 return new ZOSTargetInfo<SystemZTargetInfo>(Triple, Opts); in AllocateTarget()
479 return new SystemZTargetInfo(Triple, Opts); in AllocateTarget()
482 case llvm::Triple::tce: in AllocateTarget()
483 return new TCETargetInfo(Triple, Opts); in AllocateTarget()
485 case llvm::Triple::tcele: in AllocateTarget()
486 return new TCELETargetInfo(Triple, Opts); in AllocateTarget()
488 case llvm::Triple::x86: in AllocateTarget()
489 if (Triple.isOSDarwin()) in AllocateTarget()
490 return new DarwinI386TargetInfo(Triple, Opts); in AllocateTarget()
493 case llvm::Triple::Ananas: in AllocateTarget()
494 return new AnanasTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
495 case llvm::Triple::CloudABI: in AllocateTarget()
496 return new CloudABITargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
497 case llvm::Triple::Linux: { in AllocateTarget()
498 switch (Triple.getEnvironment()) { in AllocateTarget()
500 return new LinuxTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
501 case llvm::Triple::Android: in AllocateTarget()
502 return new AndroidX86_32TargetInfo(Triple, Opts); in AllocateTarget()
505 case llvm::Triple::DragonFly: in AllocateTarget()
506 return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
507 case llvm::Triple::NetBSD: in AllocateTarget()
508 return new NetBSDI386TargetInfo(Triple, Opts); in AllocateTarget()
509 case llvm::Triple::OpenBSD: in AllocateTarget()
510 return new OpenBSDI386TargetInfo(Triple, Opts); in AllocateTarget()
511 case llvm::Triple::FreeBSD: in AllocateTarget()
512 return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
513 case llvm::Triple::Fuchsia: in AllocateTarget()
514 return new FuchsiaTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
515 case llvm::Triple::KFreeBSD: in AllocateTarget()
516 return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
517 case llvm::Triple::Minix: in AllocateTarget()
518 return new MinixTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
519 case llvm::Triple::Solaris: in AllocateTarget()
520 return new SolarisTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
521 case llvm::Triple::Win32: { in AllocateTarget()
522 switch (Triple.getEnvironment()) { in AllocateTarget()
523 case llvm::Triple::Cygnus: in AllocateTarget()
524 return new CygwinX86_32TargetInfo(Triple, Opts); in AllocateTarget()
525 case llvm::Triple::GNU: in AllocateTarget()
526 return new MinGWX86_32TargetInfo(Triple, Opts); in AllocateTarget()
527 case llvm::Triple::Itanium: in AllocateTarget()
528 case llvm::Triple::MSVC: in AllocateTarget()
530 return new MicrosoftX86_32TargetInfo(Triple, Opts); in AllocateTarget()
533 case llvm::Triple::Haiku: in AllocateTarget()
534 return new HaikuX86_32TargetInfo(Triple, Opts); in AllocateTarget()
535 case llvm::Triple::RTEMS: in AllocateTarget()
536 return new RTEMSX86_32TargetInfo(Triple, Opts); in AllocateTarget()
537 case llvm::Triple::NaCl: in AllocateTarget()
538 return new NaClTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
539 case llvm::Triple::ELFIAMCU: in AllocateTarget()
540 return new MCUX86_32TargetInfo(Triple, Opts); in AllocateTarget()
541 case llvm::Triple::Hurd: in AllocateTarget()
542 return new HurdTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
544 return new X86_32TargetInfo(Triple, Opts); in AllocateTarget()
547 case llvm::Triple::x86_64: in AllocateTarget()
548 if (Triple.isOSDarwin() || Triple.isOSBinFormatMachO()) in AllocateTarget()
549 return new DarwinX86_64TargetInfo(Triple, Opts); in AllocateTarget()
552 case llvm::Triple::Ananas: in AllocateTarget()
553 return new AnanasTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
554 case llvm::Triple::CloudABI: in AllocateTarget()
555 return new CloudABITargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
556 case llvm::Triple::Linux: { in AllocateTarget()
557 switch (Triple.getEnvironment()) { in AllocateTarget()
559 return new LinuxTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
560 case llvm::Triple::Android: in AllocateTarget()
561 return new AndroidX86_64TargetInfo(Triple, Opts); in AllocateTarget()
564 case llvm::Triple::DragonFly: in AllocateTarget()
565 return new DragonFlyBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
566 case llvm::Triple::NetBSD: in AllocateTarget()
567 return new NetBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
568 case llvm::Triple::OpenBSD: in AllocateTarget()
569 return new OpenBSDX86_64TargetInfo(Triple, Opts); in AllocateTarget()
570 case llvm::Triple::FreeBSD: in AllocateTarget()
571 return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
572 case llvm::Triple::Fuchsia: in AllocateTarget()
573 return new FuchsiaTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
574 case llvm::Triple::KFreeBSD: in AllocateTarget()
575 return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
576 case llvm::Triple::Solaris: in AllocateTarget()
577 return new SolarisTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
578 case llvm::Triple::Win32: { in AllocateTarget()
579 switch (Triple.getEnvironment()) { in AllocateTarget()
580 case llvm::Triple::Cygnus: in AllocateTarget()
581 return new CygwinX86_64TargetInfo(Triple, Opts); in AllocateTarget()
582 case llvm::Triple::GNU: in AllocateTarget()
583 return new MinGWX86_64TargetInfo(Triple, Opts); in AllocateTarget()
584 case llvm::Triple::MSVC: in AllocateTarget()
586 return new MicrosoftX86_64TargetInfo(Triple, Opts); in AllocateTarget()
589 case llvm::Triple::Haiku: in AllocateTarget()
590 return new HaikuTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
591 case llvm::Triple::NaCl: in AllocateTarget()
592 return new NaClTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
593 case llvm::Triple::PS4: in AllocateTarget()
594 return new PS4OSTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
595 case llvm::Triple::PS5: in AllocateTarget()
596 return new PS5OSTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
598 return new X86_64TargetInfo(Triple, Opts); in AllocateTarget()
601 case llvm::Triple::spir: { in AllocateTarget()
602 if (os != llvm::Triple::UnknownOS || in AllocateTarget()
603 Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) in AllocateTarget()
605 return new SPIR32TargetInfo(Triple, Opts); in AllocateTarget()
607 case llvm::Triple::spir64: { in AllocateTarget()
608 if (os != llvm::Triple::UnknownOS || in AllocateTarget()
609 Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) in AllocateTarget()
611 return new SPIR64TargetInfo(Triple, Opts); in AllocateTarget()
613 case llvm::Triple::spirv32: { in AllocateTarget()
614 if (os != llvm::Triple::UnknownOS || in AllocateTarget()
615 Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) in AllocateTarget()
617 return new SPIRV32TargetInfo(Triple, Opts); in AllocateTarget()
619 case llvm::Triple::spirv64: { in AllocateTarget()
620 if (os != llvm::Triple::UnknownOS || in AllocateTarget()
621 Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) in AllocateTarget()
623 return new SPIRV64TargetInfo(Triple, Opts); in AllocateTarget()
625 case llvm::Triple::wasm32: in AllocateTarget()
626 if (Triple.getSubArch() != llvm::Triple::NoSubArch || in AllocateTarget()
627 Triple.getVendor() != llvm::Triple::UnknownVendor || in AllocateTarget()
628 !Triple.isOSBinFormatWasm()) in AllocateTarget()
631 case llvm::Triple::WASI: in AllocateTarget()
632 return new WASITargetInfo<WebAssembly32TargetInfo>(Triple, Opts); in AllocateTarget()
633 case llvm::Triple::Emscripten: in AllocateTarget()
634 return new EmscriptenTargetInfo<WebAssembly32TargetInfo>(Triple, Opts); in AllocateTarget()
635 case llvm::Triple::UnknownOS: in AllocateTarget()
636 return new WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>(Triple, Opts); in AllocateTarget()
640 case llvm::Triple::wasm64: in AllocateTarget()
641 if (Triple.getSubArch() != llvm::Triple::NoSubArch || in AllocateTarget()
642 Triple.getVendor() != llvm::Triple::UnknownVendor || in AllocateTarget()
643 !Triple.isOSBinFormatWasm()) in AllocateTarget()
646 case llvm::Triple::WASI: in AllocateTarget()
647 return new WASITargetInfo<WebAssembly64TargetInfo>(Triple, Opts); in AllocateTarget()
648 case llvm::Triple::Emscripten: in AllocateTarget()
649 return new EmscriptenTargetInfo<WebAssembly64TargetInfo>(Triple, Opts); in AllocateTarget()
650 case llvm::Triple::UnknownOS: in AllocateTarget()
651 return new WebAssemblyOSTargetInfo<WebAssembly64TargetInfo>(Triple, Opts); in AllocateTarget()
656 case llvm::Triple::dxil: in AllocateTarget()
657 return new DirectXTargetInfo(Triple,Opts); in AllocateTarget()
658 case llvm::Triple::renderscript32: in AllocateTarget()
659 return new LinuxTargetInfo<RenderScript32TargetInfo>(Triple, Opts); in AllocateTarget()
660 case llvm::Triple::renderscript64: in AllocateTarget()
661 return new LinuxTargetInfo<RenderScript64TargetInfo>(Triple, Opts); in AllocateTarget()
663 case llvm::Triple::ve: in AllocateTarget()
664 return new LinuxTargetInfo<VETargetInfo>(Triple, Opts); in AllocateTarget()
666 case llvm::Triple::csky: in AllocateTarget()
668 case llvm::Triple::Linux: in AllocateTarget()
669 return new LinuxTargetInfo<CSKYTargetInfo>(Triple, Opts); in AllocateTarget()
671 return new CSKYTargetInfo(Triple, Opts); in AllocateTarget()
684 llvm::Triple Triple(Opts->Triple); in CreateTargetInfo() local
687 std::unique_ptr<TargetInfo> Target(AllocateTarget(Triple, *Opts)); in CreateTargetInfo()
689 Diags.Report(diag::err_target_unknown_triple) << Triple.str(); in CreateTargetInfo()
750 llvm::Triple(Opts->DarwinTargetVariantTriple); in CreateTargetInfo()