Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(99)

Side by Side Diff: lib/Support/Triple.cpp

Issue 1024073002: LLVM: add support for asmjs arch and Emscripten OS (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Address comments. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/llvm/ADT/Triple.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===--- Triple.cpp - Target triple helper class --------------------------===// 1 //===--- Triple.cpp - Target triple helper class --------------------------===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 9
10 #include "llvm/ADT/Triple.h" 10 #include "llvm/ADT/Triple.h"
(...skipping 28 matching lines...) Expand all
39 case tce: return "tce"; 39 case tce: return "tce";
40 case thumb: return "thumb"; 40 case thumb: return "thumb";
41 case thumbeb: return "thumbeb"; 41 case thumbeb: return "thumbeb";
42 case x86: return "i386"; 42 case x86: return "i386";
43 case x86_64: return "x86_64"; 43 case x86_64: return "x86_64";
44 case xcore: return "xcore"; 44 case xcore: return "xcore";
45 case nvptx: return "nvptx"; 45 case nvptx: return "nvptx";
46 case nvptx64: return "nvptx64"; 46 case nvptx64: return "nvptx64";
47 case le32: return "le32"; 47 case le32: return "le32";
48 case le64: return "le64"; 48 case le64: return "le64";
49 case asmjs: return "asmjs"; // @LOCALMOD Emscripten
49 case amdil: return "amdil"; 50 case amdil: return "amdil";
50 case amdil64: return "amdil64"; 51 case amdil64: return "amdil64";
51 case hsail: return "hsail"; 52 case hsail: return "hsail";
52 case hsail64: return "hsail64"; 53 case hsail64: return "hsail64";
53 case spir: return "spir"; 54 case spir: return "spir";
54 case spir64: return "spir64"; 55 case spir64: return "spir64";
55 case kalimba: return "kalimba"; 56 case kalimba: return "kalimba";
56 } 57 }
57 58
58 llvm_unreachable("Invalid ArchType!"); 59 llvm_unreachable("Invalid ArchType!");
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 case x86_64: return "x86"; 94 case x86_64: return "x86";
94 95
95 case xcore: return "xcore"; 96 case xcore: return "xcore";
96 97
97 case nvptx: return "nvptx"; 98 case nvptx: return "nvptx";
98 case nvptx64: return "nvptx"; 99 case nvptx64: return "nvptx";
99 100
100 case le32: return "le32"; 101 case le32: return "le32";
101 case le64: return "le64"; 102 case le64: return "le64";
102 103
104 case asmjs: return "asmjs"; // @LOCALMOD Emscripten
105
103 case amdil: 106 case amdil:
104 case amdil64: return "amdil"; 107 case amdil64: return "amdil";
105 108
106 case hsail: 109 case hsail:
107 case hsail64: return "hsail"; 110 case hsail64: return "hsail";
108 111
109 case spir: 112 case spir:
110 case spir64: return "spir"; 113 case spir64: return "spir";
111 case kalimba: return "kalimba"; 114 case kalimba: return "kalimba";
112 } 115 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 case Linux: return "linux"; 147 case Linux: return "linux";
145 case Lv2: return "lv2"; 148 case Lv2: return "lv2";
146 case MacOSX: return "macosx"; 149 case MacOSX: return "macosx";
147 case NetBSD: return "netbsd"; 150 case NetBSD: return "netbsd";
148 case OpenBSD: return "openbsd"; 151 case OpenBSD: return "openbsd";
149 case Solaris: return "solaris"; 152 case Solaris: return "solaris";
150 case Win32: return "windows"; 153 case Win32: return "windows";
151 case Haiku: return "haiku"; 154 case Haiku: return "haiku";
152 case Minix: return "minix"; 155 case Minix: return "minix";
153 case RTEMS: return "rtems"; 156 case RTEMS: return "rtems";
157 case Emscripten: return "emscripten"; // @LOCALMOD Emscripten
154 case NaCl: return "nacl"; 158 case NaCl: return "nacl";
155 case CNK: return "cnk"; 159 case CNK: return "cnk";
156 case Bitrig: return "bitrig"; 160 case Bitrig: return "bitrig";
157 case AIX: return "aix"; 161 case AIX: return "aix";
158 case CUDA: return "cuda"; 162 case CUDA: return "cuda";
159 case NVCL: return "nvcl"; 163 case NVCL: return "nvcl";
160 } 164 }
161 165
162 llvm_unreachable("Invalid OSType"); 166 llvm_unreachable("Invalid OSType");
163 } 167 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 .Case("tce", tce) 209 .Case("tce", tce)
206 .Case("thumb", thumb) 210 .Case("thumb", thumb)
207 .Case("thumbeb", thumbeb) 211 .Case("thumbeb", thumbeb)
208 .Case("x86", x86) 212 .Case("x86", x86)
209 .Case("x86-64", x86_64) 213 .Case("x86-64", x86_64)
210 .Case("xcore", xcore) 214 .Case("xcore", xcore)
211 .Case("nvptx", nvptx) 215 .Case("nvptx", nvptx)
212 .Case("nvptx64", nvptx64) 216 .Case("nvptx64", nvptx64)
213 .Case("le32", le32) 217 .Case("le32", le32)
214 .Case("le64", le64) 218 .Case("le64", le64)
219 .Case("asmjs", asmjs) // @LOCALMOD Emscripten
215 .Case("amdil", amdil) 220 .Case("amdil", amdil)
216 .Case("amdil64", amdil64) 221 .Case("amdil64", amdil64)
217 .Case("hsail", hsail) 222 .Case("hsail", hsail)
218 .Case("hsail64", hsail64) 223 .Case("hsail64", hsail64)
219 .Case("spir", spir) 224 .Case("spir", spir)
220 .Case("spir64", spir64) 225 .Case("spir64", spir64)
221 .Case("kalimba", kalimba) 226 .Case("kalimba", kalimba)
222 .Default(UnknownArch); 227 .Default(UnknownArch);
223 } 228 }
224 229
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 .Case("hexagon", Triple::hexagon) 293 .Case("hexagon", Triple::hexagon)
289 .Case("s390x", Triple::systemz) 294 .Case("s390x", Triple::systemz)
290 .Case("sparc", Triple::sparc) 295 .Case("sparc", Triple::sparc)
291 .Cases("sparcv9", "sparc64", Triple::sparcv9) 296 .Cases("sparcv9", "sparc64", Triple::sparcv9)
292 .Case("tce", Triple::tce) 297 .Case("tce", Triple::tce)
293 .Case("xcore", Triple::xcore) 298 .Case("xcore", Triple::xcore)
294 .Case("nvptx", Triple::nvptx) 299 .Case("nvptx", Triple::nvptx)
295 .Case("nvptx64", Triple::nvptx64) 300 .Case("nvptx64", Triple::nvptx64)
296 .Case("le32", Triple::le32) 301 .Case("le32", Triple::le32)
297 .Case("le64", Triple::le64) 302 .Case("le64", Triple::le64)
303 .Case("asmjs", Triple::asmjs) // @LOCALMOD Emscripten
298 .Case("amdil", Triple::amdil) 304 .Case("amdil", Triple::amdil)
299 .Case("amdil64", Triple::amdil64) 305 .Case("amdil64", Triple::amdil64)
300 .Case("hsail", Triple::hsail) 306 .Case("hsail", Triple::hsail)
301 .Case("hsail64", Triple::hsail64) 307 .Case("hsail64", Triple::hsail64)
302 .Case("spir", Triple::spir) 308 .Case("spir", Triple::spir)
303 .Case("spir64", Triple::spir64) 309 .Case("spir64", Triple::spir64)
304 .StartsWith("kalimba", Triple::kalimba) 310 .StartsWith("kalimba", Triple::kalimba)
305 .Default(Triple::UnknownArch); 311 .Default(Triple::UnknownArch);
306 } 312 }
307 313
(...skipping 24 matching lines...) Expand all
332 .StartsWith("lv2", Triple::Lv2) 338 .StartsWith("lv2", Triple::Lv2)
333 .StartsWith("macosx", Triple::MacOSX) 339 .StartsWith("macosx", Triple::MacOSX)
334 .StartsWith("netbsd", Triple::NetBSD) 340 .StartsWith("netbsd", Triple::NetBSD)
335 .StartsWith("openbsd", Triple::OpenBSD) 341 .StartsWith("openbsd", Triple::OpenBSD)
336 .StartsWith("solaris", Triple::Solaris) 342 .StartsWith("solaris", Triple::Solaris)
337 .StartsWith("win32", Triple::Win32) 343 .StartsWith("win32", Triple::Win32)
338 .StartsWith("windows", Triple::Win32) 344 .StartsWith("windows", Triple::Win32)
339 .StartsWith("haiku", Triple::Haiku) 345 .StartsWith("haiku", Triple::Haiku)
340 .StartsWith("minix", Triple::Minix) 346 .StartsWith("minix", Triple::Minix)
341 .StartsWith("rtems", Triple::RTEMS) 347 .StartsWith("rtems", Triple::RTEMS)
348 .StartsWith("emscripten", Triple::Emscripten) // @LOCALMOD Emscripten
342 .StartsWith("nacl", Triple::NaCl) 349 .StartsWith("nacl", Triple::NaCl)
343 .StartsWith("cnk", Triple::CNK) 350 .StartsWith("cnk", Triple::CNK)
344 .StartsWith("bitrig", Triple::Bitrig) 351 .StartsWith("bitrig", Triple::Bitrig)
345 .StartsWith("aix", Triple::AIX) 352 .StartsWith("aix", Triple::AIX)
346 .StartsWith("cuda", Triple::CUDA) 353 .StartsWith("cuda", Triple::CUDA)
347 .StartsWith("nvcl", Triple::NVCL) 354 .StartsWith("nvcl", Triple::NVCL)
348 .Default(Triple::UnknownOS); 355 .Default(Triple::UnknownOS);
349 } 356 }
350 357
351 static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) { 358 static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
836 case llvm::Triple::UnknownArch: 843 case llvm::Triple::UnknownArch:
837 return 0; 844 return 0;
838 845
839 case llvm::Triple::msp430: 846 case llvm::Triple::msp430:
840 return 16; 847 return 16;
841 848
842 case llvm::Triple::arm: 849 case llvm::Triple::arm:
843 case llvm::Triple::armeb: 850 case llvm::Triple::armeb:
844 case llvm::Triple::hexagon: 851 case llvm::Triple::hexagon:
845 case llvm::Triple::le32: 852 case llvm::Triple::le32:
853 case llvm::Triple::asmjs: // @LOCALMOD Emscripten
846 case llvm::Triple::mips: 854 case llvm::Triple::mips:
847 case llvm::Triple::mipsel: 855 case llvm::Triple::mipsel:
848 case llvm::Triple::nvptx: 856 case llvm::Triple::nvptx:
849 case llvm::Triple::ppc: 857 case llvm::Triple::ppc:
850 case llvm::Triple::r600: 858 case llvm::Triple::r600:
851 case llvm::Triple::sparc: 859 case llvm::Triple::sparc:
852 case llvm::Triple::tce: 860 case llvm::Triple::tce:
853 case llvm::Triple::thumb: 861 case llvm::Triple::thumb:
854 case llvm::Triple::thumbeb: 862 case llvm::Triple::thumbeb:
855 case llvm::Triple::x86: 863 case llvm::Triple::x86:
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 break; 912 break;
905 913
906 case Triple::amdil: 914 case Triple::amdil:
907 case Triple::hsail: 915 case Triple::hsail:
908 case Triple::spir: 916 case Triple::spir:
909 case Triple::arm: 917 case Triple::arm:
910 case Triple::armeb: 918 case Triple::armeb:
911 case Triple::hexagon: 919 case Triple::hexagon:
912 case Triple::kalimba: 920 case Triple::kalimba:
913 case Triple::le32: 921 case Triple::le32:
922 case Triple::asmjs: // @LOCALMOD Emscripten
914 case Triple::mips: 923 case Triple::mips:
915 case Triple::mipsel: 924 case Triple::mipsel:
916 case Triple::nvptx: 925 case Triple::nvptx:
917 case Triple::ppc: 926 case Triple::ppc:
918 case Triple::r600: 927 case Triple::r600:
919 case Triple::sparc: 928 case Triple::sparc:
920 case Triple::tce: 929 case Triple::tce:
921 case Triple::thumb: 930 case Triple::thumb:
922 case Triple::thumbeb: 931 case Triple::thumbeb:
923 case Triple::x86: 932 case Triple::x86:
(...skipping 22 matching lines...) Expand all
946 case Triple::arm: 955 case Triple::arm:
947 case Triple::armeb: 956 case Triple::armeb:
948 case Triple::hexagon: 957 case Triple::hexagon:
949 case Triple::kalimba: 958 case Triple::kalimba:
950 case Triple::msp430: 959 case Triple::msp430:
951 case Triple::r600: 960 case Triple::r600:
952 case Triple::tce: 961 case Triple::tce:
953 case Triple::thumb: 962 case Triple::thumb:
954 case Triple::thumbeb: 963 case Triple::thumbeb:
955 case Triple::xcore: 964 case Triple::xcore:
965 case Triple::asmjs: // @LOCALMOD Emscripten
956 T.setArch(UnknownArch); 966 T.setArch(UnknownArch);
957 break; 967 break;
958 968
959 case Triple::aarch64: 969 case Triple::aarch64:
960 case Triple::aarch64_be: 970 case Triple::aarch64_be:
961 case Triple::le64: 971 case Triple::le64:
962 case Triple::amdil64: 972 case Triple::amdil64:
963 case Triple::hsail64: 973 case Triple::hsail64:
964 case Triple::spir64: 974 case Triple::spir64:
965 case Triple::mips64: 975 case Triple::mips64:
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
1069 default: 1079 default:
1070 switch (getEnvironment()) { 1080 switch (getEnvironment()) {
1071 case llvm::Triple::EABIHF: 1081 case llvm::Triple::EABIHF:
1072 case llvm::Triple::GNUEABIHF: 1082 case llvm::Triple::GNUEABIHF:
1073 return "arm1176jzf-s"; 1083 return "arm1176jzf-s";
1074 default: 1084 default:
1075 return "arm7tdmi"; 1085 return "arm7tdmi";
1076 } 1086 }
1077 } 1087 }
1078 } 1088 }
OLDNEW
« no previous file with comments | « include/llvm/ADT/Triple.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698