Lines Matching refs:Triple
107 TargetInfo *AllocateTarget(const llvm::Triple &Triple, in AllocateTarget() argument
109 llvm::Triple::OSType os = Triple.getOS(); in AllocateTarget()
111 switch (Triple.getArch()) { in AllocateTarget()
115 case llvm::Triple::arc: in AllocateTarget()
116 return new ARCTargetInfo(Triple, Opts); in AllocateTarget()
118 case llvm::Triple::xcore: in AllocateTarget()
119 return new XCoreTargetInfo(Triple, Opts); in AllocateTarget()
121 case llvm::Triple::hexagon: in AllocateTarget()
122 if (os == llvm::Triple::Linux && in AllocateTarget()
123 Triple.getEnvironment() == llvm::Triple::Musl) in AllocateTarget()
124 return new LinuxTargetInfo<HexagonTargetInfo>(Triple, Opts); in AllocateTarget()
125 return new HexagonTargetInfo(Triple, Opts); in AllocateTarget()
127 case llvm::Triple::lanai: in AllocateTarget()
128 return new LanaiTargetInfo(Triple, Opts); in AllocateTarget()
130 case llvm::Triple::aarch64_32: in AllocateTarget()
131 if (Triple.isOSDarwin()) in AllocateTarget()
132 return new DarwinAArch64TargetInfo(Triple, Opts); in AllocateTarget()
135 case llvm::Triple::aarch64: in AllocateTarget()
136 if (Triple.isOSDarwin()) in AllocateTarget()
137 return new DarwinAArch64TargetInfo(Triple, Opts); in AllocateTarget()
140 case llvm::Triple::CloudABI: in AllocateTarget()
141 return new CloudABITargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
142 case llvm::Triple::FreeBSD: in AllocateTarget()
143 return new FreeBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
144 case llvm::Triple::Fuchsia: in AllocateTarget()
145 return new FuchsiaTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
146 case llvm::Triple::Linux: in AllocateTarget()
147 return new LinuxTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
148 case llvm::Triple::NetBSD: in AllocateTarget()
149 return new NetBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
150 case llvm::Triple::OpenBSD: in AllocateTarget()
151 return new OpenBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts); in AllocateTarget()
152 case llvm::Triple::Win32: in AllocateTarget()
153 switch (Triple.getEnvironment()) { in AllocateTarget()
154 case llvm::Triple::GNU: in AllocateTarget()
155 return new MinGWARM64TargetInfo(Triple, Opts); in AllocateTarget()
156 case llvm::Triple::MSVC: in AllocateTarget()
158 return new MicrosoftARM64TargetInfo(Triple, Opts); in AllocateTarget()
161 return new AArch64leTargetInfo(Triple, Opts); in AllocateTarget()
164 case llvm::Triple::aarch64_be: in AllocateTarget()
166 case llvm::Triple::FreeBSD: in AllocateTarget()
167 return new FreeBSDTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
168 case llvm::Triple::Fuchsia: in AllocateTarget()
169 return new FuchsiaTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
170 case llvm::Triple::Linux: in AllocateTarget()
171 return new LinuxTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
172 case llvm::Triple::NetBSD: in AllocateTarget()
173 return new NetBSDTargetInfo<AArch64beTargetInfo>(Triple, Opts); in AllocateTarget()
175 return new AArch64beTargetInfo(Triple, Opts); in AllocateTarget()
178 case llvm::Triple::arm: in AllocateTarget()
179 case llvm::Triple::thumb: in AllocateTarget()
180 if (Triple.isOSBinFormatMachO()) in AllocateTarget()
181 return new DarwinARMTargetInfo(Triple, Opts); in AllocateTarget()
184 case llvm::Triple::CloudABI: in AllocateTarget()
185 return new CloudABITargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
186 case llvm::Triple::Linux: in AllocateTarget()
187 return new LinuxTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
188 case llvm::Triple::FreeBSD: in AllocateTarget()
189 return new FreeBSDTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
190 case llvm::Triple::NetBSD: in AllocateTarget()
191 return new NetBSDTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
192 case llvm::Triple::OpenBSD: in AllocateTarget()
193 return new OpenBSDTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
194 case llvm::Triple::RTEMS: in AllocateTarget()
195 return new RTEMSTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
196 case llvm::Triple::NaCl: in AllocateTarget()
197 return new NaClTargetInfo<ARMleTargetInfo>(Triple, Opts); in AllocateTarget()
198 case llvm::Triple::Win32: in AllocateTarget()
199 switch (Triple.getEnvironment()) { in AllocateTarget()
200 case llvm::Triple::Cygnus: in AllocateTarget()
201 return new CygwinARMTargetInfo(Triple, Opts); in AllocateTarget()
202 case llvm::Triple::GNU: in AllocateTarget()
203 return new MinGWARMTargetInfo(Triple, Opts); in AllocateTarget()
204 case llvm::Triple::Itanium: in AllocateTarget()
205 return new ItaniumWindowsARMleTargetInfo(Triple, Opts); in AllocateTarget()
206 case llvm::Triple::MSVC: in AllocateTarget()
208 return new MicrosoftARMleTargetInfo(Triple, Opts); in AllocateTarget()
211 return new ARMleTargetInfo(Triple, Opts); in AllocateTarget()
214 case llvm::Triple::armeb: in AllocateTarget()
215 case llvm::Triple::thumbeb: in AllocateTarget()
216 if (Triple.isOSDarwin()) in AllocateTarget()
217 return new DarwinARMTargetInfo(Triple, Opts); in AllocateTarget()
220 case llvm::Triple::Linux: in AllocateTarget()
221 return new LinuxTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
222 case llvm::Triple::FreeBSD: in AllocateTarget()
223 return new FreeBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
224 case llvm::Triple::NetBSD: in AllocateTarget()
225 return new NetBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
226 case llvm::Triple::OpenBSD: in AllocateTarget()
227 return new OpenBSDTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
228 case llvm::Triple::RTEMS: in AllocateTarget()
229 return new RTEMSTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
230 case llvm::Triple::NaCl: in AllocateTarget()
231 return new NaClTargetInfo<ARMbeTargetInfo>(Triple, Opts); in AllocateTarget()
233 return new ARMbeTargetInfo(Triple, Opts); in AllocateTarget()
236 case llvm::Triple::avr: in AllocateTarget()
237 return new AVRTargetInfo(Triple, Opts); in AllocateTarget()
238 case llvm::Triple::bpfeb: in AllocateTarget()
239 case llvm::Triple::bpfel: in AllocateTarget()
240 return new BPFTargetInfo(Triple, Opts); in AllocateTarget()
242 case llvm::Triple::msp430: in AllocateTarget()
243 return new MSP430TargetInfo(Triple, Opts); in AllocateTarget()
245 case llvm::Triple::mips: in AllocateTarget()
247 case llvm::Triple::Linux: in AllocateTarget()
248 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
249 case llvm::Triple::RTEMS: in AllocateTarget()
250 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
251 case llvm::Triple::FreeBSD: in AllocateTarget()
252 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
253 case llvm::Triple::NetBSD: in AllocateTarget()
254 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
256 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
259 case llvm::Triple::mipsel: in AllocateTarget()
261 case llvm::Triple::Linux: in AllocateTarget()
262 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
263 case llvm::Triple::RTEMS: in AllocateTarget()
264 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
265 case llvm::Triple::FreeBSD: in AllocateTarget()
266 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
267 case llvm::Triple::NetBSD: in AllocateTarget()
268 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
269 case llvm::Triple::NaCl: in AllocateTarget()
270 return new NaClTargetInfo<NaClMips32TargetInfo>(Triple, Opts); in AllocateTarget()
272 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
275 case llvm::Triple::mips64: in AllocateTarget()
277 case llvm::Triple::Linux: in AllocateTarget()
278 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
279 case llvm::Triple::RTEMS: in AllocateTarget()
280 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
281 case llvm::Triple::FreeBSD: in AllocateTarget()
282 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
283 case llvm::Triple::NetBSD: in AllocateTarget()
284 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
285 case llvm::Triple::OpenBSD: in AllocateTarget()
286 return new OpenBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
288 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
291 case llvm::Triple::mips64el: in AllocateTarget()
293 case llvm::Triple::Linux: in AllocateTarget()
294 return new LinuxTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
295 case llvm::Triple::RTEMS: in AllocateTarget()
296 return new RTEMSTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
297 case llvm::Triple::FreeBSD: in AllocateTarget()
298 return new FreeBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
299 case llvm::Triple::NetBSD: in AllocateTarget()
300 return new NetBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
301 case llvm::Triple::OpenBSD: in AllocateTarget()
302 return new OpenBSDTargetInfo<MipsTargetInfo>(Triple, Opts); in AllocateTarget()
304 return new MipsTargetInfo(Triple, Opts); in AllocateTarget()
307 case llvm::Triple::m68k: in AllocateTarget()
309 case llvm::Triple::Linux: in AllocateTarget()
310 return new LinuxTargetInfo<M68kTargetInfo>(Triple, Opts); in AllocateTarget()
311 case llvm::Triple::NetBSD: in AllocateTarget()
312 return new NetBSDTargetInfo<M68kTargetInfo>(Triple, Opts); in AllocateTarget()
314 return new M68kTargetInfo(Triple, Opts); in AllocateTarget()
317 case llvm::Triple::le32: in AllocateTarget()
319 case llvm::Triple::NaCl: in AllocateTarget()
320 return new NaClTargetInfo<PNaClTargetInfo>(Triple, Opts); in AllocateTarget()
325 case llvm::Triple::le64: in AllocateTarget()
326 return new Le64TargetInfo(Triple, Opts); in AllocateTarget()
328 case llvm::Triple::ppc: in AllocateTarget()
329 if (Triple.isOSDarwin()) in AllocateTarget()
330 return new DarwinPPC32TargetInfo(Triple, Opts); in AllocateTarget()
332 case llvm::Triple::Linux: in AllocateTarget()
333 return new LinuxTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
334 case llvm::Triple::FreeBSD: in AllocateTarget()
335 return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
336 case llvm::Triple::NetBSD: in AllocateTarget()
337 return new NetBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
338 case llvm::Triple::OpenBSD: in AllocateTarget()
339 return new OpenBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
340 case llvm::Triple::RTEMS: in AllocateTarget()
341 return new RTEMSTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
342 case llvm::Triple::AIX: in AllocateTarget()
343 return new AIXPPC32TargetInfo(Triple, Opts); in AllocateTarget()
345 return new PPC32TargetInfo(Triple, Opts); in AllocateTarget()
348 case llvm::Triple::ppcle: in AllocateTarget()
350 case llvm::Triple::Linux: in AllocateTarget()
351 return new LinuxTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
352 case llvm::Triple::FreeBSD: in AllocateTarget()
353 return new FreeBSDTargetInfo<PPC32TargetInfo>(Triple, Opts); in AllocateTarget()
355 return new PPC32TargetInfo(Triple, Opts); in AllocateTarget()
358 case llvm::Triple::ppc64: in AllocateTarget()
359 if (Triple.isOSDarwin()) in AllocateTarget()
360 return new DarwinPPC64TargetInfo(Triple, Opts); in AllocateTarget()
362 case llvm::Triple::Linux: in AllocateTarget()
363 return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
364 case llvm::Triple::Lv2: in AllocateTarget()
365 return new PS3PPUTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
366 case llvm::Triple::FreeBSD: in AllocateTarget()
367 return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
368 case llvm::Triple::NetBSD: in AllocateTarget()
369 return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
370 case llvm::Triple::OpenBSD: in AllocateTarget()
371 return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
372 case llvm::Triple::AIX: in AllocateTarget()
373 return new AIXPPC64TargetInfo(Triple, Opts); in AllocateTarget()
375 return new PPC64TargetInfo(Triple, Opts); in AllocateTarget()
378 case llvm::Triple::ppc64le: in AllocateTarget()
380 case llvm::Triple::Linux: in AllocateTarget()
381 return new LinuxTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
382 case llvm::Triple::FreeBSD: in AllocateTarget()
383 return new FreeBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
384 case llvm::Triple::NetBSD: in AllocateTarget()
385 return new NetBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
386 case llvm::Triple::OpenBSD: in AllocateTarget()
387 return new OpenBSDTargetInfo<PPC64TargetInfo>(Triple, Opts); in AllocateTarget()
389 return new PPC64TargetInfo(Triple, Opts); in AllocateTarget()
392 case llvm::Triple::nvptx: in AllocateTarget()
393 return new NVPTXTargetInfo(Triple, Opts, /*TargetPointerWidth=*/32); in AllocateTarget()
394 case llvm::Triple::nvptx64: in AllocateTarget()
395 return new NVPTXTargetInfo(Triple, Opts, /*TargetPointerWidth=*/64); in AllocateTarget()
397 case llvm::Triple::amdgcn: in AllocateTarget()
398 case llvm::Triple::r600: in AllocateTarget()
399 return new AMDGPUTargetInfo(Triple, Opts); in AllocateTarget()
401 case llvm::Triple::riscv32: in AllocateTarget()
404 case llvm::Triple::FreeBSD: in AllocateTarget()
405 return new FreeBSDTargetInfo<RISCV32TargetInfo>(Triple, Opts); in AllocateTarget()
406 case llvm::Triple::Linux: in AllocateTarget()
407 return new LinuxTargetInfo<RISCV32TargetInfo>(Triple, Opts); in AllocateTarget()
409 return new RISCV32TargetInfo(Triple, Opts); in AllocateTarget()
412 case llvm::Triple::riscv64: in AllocateTarget()
415 case llvm::Triple::FreeBSD: in AllocateTarget()
416 return new FreeBSDTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
417 case llvm::Triple::OpenBSD: in AllocateTarget()
418 return new OpenBSDTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
419 case llvm::Triple::Fuchsia: in AllocateTarget()
420 return new FuchsiaTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
421 case llvm::Triple::Linux: in AllocateTarget()
422 return new LinuxTargetInfo<RISCV64TargetInfo>(Triple, Opts); in AllocateTarget()
424 return new RISCV64TargetInfo(Triple, Opts); in AllocateTarget()
427 case llvm::Triple::sparc: in AllocateTarget()
429 case llvm::Triple::Linux: in AllocateTarget()
430 return new LinuxTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
431 case llvm::Triple::Solaris: in AllocateTarget()
432 return new SolarisTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
433 case llvm::Triple::NetBSD: in AllocateTarget()
434 return new NetBSDTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
435 case llvm::Triple::RTEMS: in AllocateTarget()
436 return new RTEMSTargetInfo<SparcV8TargetInfo>(Triple, Opts); in AllocateTarget()
438 return new SparcV8TargetInfo(Triple, Opts); in AllocateTarget()
442 case llvm::Triple::sparcel: in AllocateTarget()
444 case llvm::Triple::Linux: in AllocateTarget()
445 return new LinuxTargetInfo<SparcV8elTargetInfo>(Triple, Opts); in AllocateTarget()
446 case llvm::Triple::NetBSD: in AllocateTarget()
447 return new NetBSDTargetInfo<SparcV8elTargetInfo>(Triple, Opts); in AllocateTarget()
448 case llvm::Triple::RTEMS: in AllocateTarget()
449 return new RTEMSTargetInfo<SparcV8elTargetInfo>(Triple, Opts); in AllocateTarget()
451 return new SparcV8elTargetInfo(Triple, Opts); in AllocateTarget()
454 case llvm::Triple::sparcv9: in AllocateTarget()
456 case llvm::Triple::Linux: in AllocateTarget()
457 return new LinuxTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
458 case llvm::Triple::Solaris: in AllocateTarget()
459 return new SolarisTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
460 case llvm::Triple::NetBSD: in AllocateTarget()
461 return new NetBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
462 case llvm::Triple::OpenBSD: in AllocateTarget()
463 return new OpenBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
464 case llvm::Triple::FreeBSD: in AllocateTarget()
465 return new FreeBSDTargetInfo<SparcV9TargetInfo>(Triple, Opts); in AllocateTarget()
467 return new SparcV9TargetInfo(Triple, Opts); in AllocateTarget()
470 case llvm::Triple::systemz: in AllocateTarget()
472 case llvm::Triple::Linux: in AllocateTarget()
473 return new LinuxTargetInfo<SystemZTargetInfo>(Triple, Opts); in AllocateTarget()
474 case llvm::Triple::ZOS: in AllocateTarget()
475 return new ZOSTargetInfo<SystemZTargetInfo>(Triple, Opts); in AllocateTarget()
477 return new SystemZTargetInfo(Triple, Opts); in AllocateTarget()
480 case llvm::Triple::tce: in AllocateTarget()
481 return new TCETargetInfo(Triple, Opts); in AllocateTarget()
483 case llvm::Triple::tcele: in AllocateTarget()
484 return new TCELETargetInfo(Triple, Opts); in AllocateTarget()
486 case llvm::Triple::x86: in AllocateTarget()
487 if (Triple.isOSDarwin()) in AllocateTarget()
488 return new DarwinI386TargetInfo(Triple, Opts); in AllocateTarget()
491 case llvm::Triple::Ananas: in AllocateTarget()
492 return new AnanasTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
493 case llvm::Triple::CloudABI: in AllocateTarget()
494 return new CloudABITargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
495 case llvm::Triple::Linux: { in AllocateTarget()
496 switch (Triple.getEnvironment()) { in AllocateTarget()
498 return new LinuxTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
499 case llvm::Triple::Android: in AllocateTarget()
500 return new AndroidX86_32TargetInfo(Triple, Opts); in AllocateTarget()
503 case llvm::Triple::DragonFly: in AllocateTarget()
504 return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
505 case llvm::Triple::NetBSD: in AllocateTarget()
506 return new NetBSDI386TargetInfo(Triple, Opts); in AllocateTarget()
507 case llvm::Triple::OpenBSD: in AllocateTarget()
508 return new OpenBSDI386TargetInfo(Triple, Opts); in AllocateTarget()
509 case llvm::Triple::FreeBSD: in AllocateTarget()
510 return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
511 case llvm::Triple::Fuchsia: in AllocateTarget()
512 return new FuchsiaTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
513 case llvm::Triple::KFreeBSD: in AllocateTarget()
514 return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
515 case llvm::Triple::Minix: in AllocateTarget()
516 return new MinixTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
517 case llvm::Triple::Solaris: in AllocateTarget()
518 return new SolarisTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
519 case llvm::Triple::Win32: { in AllocateTarget()
520 switch (Triple.getEnvironment()) { in AllocateTarget()
521 case llvm::Triple::Cygnus: in AllocateTarget()
522 return new CygwinX86_32TargetInfo(Triple, Opts); in AllocateTarget()
523 case llvm::Triple::GNU: in AllocateTarget()
524 return new MinGWX86_32TargetInfo(Triple, Opts); in AllocateTarget()
525 case llvm::Triple::Itanium: in AllocateTarget()
526 case llvm::Triple::MSVC: in AllocateTarget()
528 return new MicrosoftX86_32TargetInfo(Triple, Opts); in AllocateTarget()
531 case llvm::Triple::Haiku: in AllocateTarget()
532 return new HaikuX86_32TargetInfo(Triple, Opts); in AllocateTarget()
533 case llvm::Triple::RTEMS: in AllocateTarget()
534 return new RTEMSX86_32TargetInfo(Triple, Opts); in AllocateTarget()
535 case llvm::Triple::NaCl: in AllocateTarget()
536 return new NaClTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
537 case llvm::Triple::ELFIAMCU: in AllocateTarget()
538 return new MCUX86_32TargetInfo(Triple, Opts); in AllocateTarget()
539 case llvm::Triple::Hurd: in AllocateTarget()
540 return new HurdTargetInfo<X86_32TargetInfo>(Triple, Opts); in AllocateTarget()
542 return new X86_32TargetInfo(Triple, Opts); in AllocateTarget()
545 case llvm::Triple::x86_64: in AllocateTarget()
546 if (Triple.isOSDarwin() || Triple.isOSBinFormatMachO()) in AllocateTarget()
547 return new DarwinX86_64TargetInfo(Triple, Opts); in AllocateTarget()
550 case llvm::Triple::Ananas: in AllocateTarget()
551 return new AnanasTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
552 case llvm::Triple::CloudABI: in AllocateTarget()
553 return new CloudABITargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
554 case llvm::Triple::Linux: { in AllocateTarget()
555 switch (Triple.getEnvironment()) { in AllocateTarget()
557 return new LinuxTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
558 case llvm::Triple::Android: in AllocateTarget()
559 return new AndroidX86_64TargetInfo(Triple, Opts); in AllocateTarget()
562 case llvm::Triple::DragonFly: in AllocateTarget()
563 return new DragonFlyBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
564 case llvm::Triple::NetBSD: in AllocateTarget()
565 return new NetBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
566 case llvm::Triple::OpenBSD: in AllocateTarget()
567 return new OpenBSDX86_64TargetInfo(Triple, Opts); in AllocateTarget()
568 case llvm::Triple::FreeBSD: in AllocateTarget()
569 return new FreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
570 case llvm::Triple::Fuchsia: in AllocateTarget()
571 return new FuchsiaTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
572 case llvm::Triple::KFreeBSD: in AllocateTarget()
573 return new KFreeBSDTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
574 case llvm::Triple::Solaris: in AllocateTarget()
575 return new SolarisTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
576 case llvm::Triple::Win32: { in AllocateTarget()
577 switch (Triple.getEnvironment()) { in AllocateTarget()
578 case llvm::Triple::Cygnus: in AllocateTarget()
579 return new CygwinX86_64TargetInfo(Triple, Opts); in AllocateTarget()
580 case llvm::Triple::GNU: in AllocateTarget()
581 return new MinGWX86_64TargetInfo(Triple, Opts); in AllocateTarget()
582 case llvm::Triple::MSVC: in AllocateTarget()
584 return new MicrosoftX86_64TargetInfo(Triple, Opts); in AllocateTarget()
587 case llvm::Triple::Haiku: in AllocateTarget()
588 return new HaikuTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
589 case llvm::Triple::NaCl: in AllocateTarget()
590 return new NaClTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
591 case llvm::Triple::PS4: in AllocateTarget()
592 return new PS4OSTargetInfo<X86_64TargetInfo>(Triple, Opts); in AllocateTarget()
594 return new X86_64TargetInfo(Triple, Opts); in AllocateTarget()
597 case llvm::Triple::spir: { in AllocateTarget()
598 if (os != llvm::Triple::UnknownOS || in AllocateTarget()
599 Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) in AllocateTarget()
601 return new SPIR32TargetInfo(Triple, Opts); in AllocateTarget()
603 case llvm::Triple::spir64: { in AllocateTarget()
604 if (os != llvm::Triple::UnknownOS || in AllocateTarget()
605 Triple.getEnvironment() != llvm::Triple::UnknownEnvironment) in AllocateTarget()
607 return new SPIR64TargetInfo(Triple, Opts); in AllocateTarget()
609 case llvm::Triple::wasm32: in AllocateTarget()
610 if (Triple.getSubArch() != llvm::Triple::NoSubArch || in AllocateTarget()
611 Triple.getVendor() != llvm::Triple::UnknownVendor || in AllocateTarget()
612 !Triple.isOSBinFormatWasm()) in AllocateTarget()
615 case llvm::Triple::WASI: in AllocateTarget()
616 return new WASITargetInfo<WebAssembly32TargetInfo>(Triple, Opts); in AllocateTarget()
617 case llvm::Triple::Emscripten: in AllocateTarget()
618 return new EmscriptenTargetInfo<WebAssembly32TargetInfo>(Triple, Opts); in AllocateTarget()
619 case llvm::Triple::UnknownOS: in AllocateTarget()
620 return new WebAssemblyOSTargetInfo<WebAssembly32TargetInfo>(Triple, Opts); in AllocateTarget()
624 case llvm::Triple::wasm64: in AllocateTarget()
625 if (Triple.getSubArch() != llvm::Triple::NoSubArch || in AllocateTarget()
626 Triple.getVendor() != llvm::Triple::UnknownVendor || in AllocateTarget()
627 !Triple.isOSBinFormatWasm()) in AllocateTarget()
630 case llvm::Triple::WASI: in AllocateTarget()
631 return new WASITargetInfo<WebAssembly64TargetInfo>(Triple, Opts); in AllocateTarget()
632 case llvm::Triple::Emscripten: in AllocateTarget()
633 return new EmscriptenTargetInfo<WebAssembly64TargetInfo>(Triple, Opts); in AllocateTarget()
634 case llvm::Triple::UnknownOS: in AllocateTarget()
635 return new WebAssemblyOSTargetInfo<WebAssembly64TargetInfo>(Triple, Opts); in AllocateTarget()
640 case llvm::Triple::renderscript32: in AllocateTarget()
641 return new LinuxTargetInfo<RenderScript32TargetInfo>(Triple, Opts); in AllocateTarget()
642 case llvm::Triple::renderscript64: in AllocateTarget()
643 return new LinuxTargetInfo<RenderScript64TargetInfo>(Triple, Opts); in AllocateTarget()
645 case llvm::Triple::ve: in AllocateTarget()
646 return new LinuxTargetInfo<VETargetInfo>(Triple, Opts); in AllocateTarget()
658 llvm::Triple Triple(Opts->Triple); in CreateTargetInfo() local
661 std::unique_ptr<TargetInfo> Target(AllocateTarget(Triple, *Opts)); in CreateTargetInfo()
663 Diags.Report(diag::err_target_unknown_triple) << Triple.str(); in CreateTargetInfo()