summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Triple.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Switch a bunch of manual if-chains to use StringSwitch. Clean them up inChandler Carruth2012-02-121-170/+93
| | | | | | | | the process. Some of these are still a bit gross. Still, this cuts 80 some lines out of this ridiculous file. ;] llvm-svn: 150331
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-071-3/+2
| | | | llvm-svn: 149967
* Introduce helpers to compute the 32-bit varaints and 64-bit variants ofChandler Carruth2012-02-061-0/+74
| | | | | | | some architectures. These are useful for interacting with multiarch or bi-arch GCC (or GCC-based) toolchains. llvm-svn: 149895
* Add Triple::getMacOSXVersion to replace crufty code in the clang driver.Bob Wilson2012-01-311-0/+39
| | | | | | | This new function provides a way to get the Mac OS X version number from either generic "darwin" triples of macosx triples. llvm-svn: 149438
* Add various coarse bit-width architecture predicates to llvm::Triple.Chandler Carruth2012-01-311-0/+49
| | | | | | | These are very useful for frontends and other utilities reasoning about or selecting between triples. llvm-svn: 149353
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-201-4/+5
| | | | llvm-svn: 148578
* Add support for the gnueabihf environment. Patch by Sylvestre Ledru.Rafael Espindola2012-01-181-0/+3
| | | | llvm-svn: 148434
* Teach the triple library about the androideabi environment.Chandler Carruth2012-01-101-0/+3
| | | | | | Patch by Evgeniy Stepanov. llvm-svn: 147871
* Hexagon backend supportTony Linthicum2011-12-121-0/+7
| | | | llvm-svn: 146412
* Remove the Alpha backend.Dan Gohman2011-10-271-7/+0
| | | | llvm-svn: 143164
* Remove the Blackfin backend.Dan Gohman2011-10-251-7/+0
| | | | llvm-svn: 142880
* Remove the SystemZ backend.Dan Gohman2011-10-241-5/+0
| | | | llvm-svn: 142878
* Add mips64 & mips64el to Triple. Patch by Liu with modifications.Akira Hatanaka2011-09-201-0/+10
| | | | llvm-svn: 140157
* Add AMDIL as valid target triple to LLVM.Tobias Grosser2011-08-291-1/+10
| | | | | | Submitted by: Villmow, Micah <Micah.Villmow@amd.com> llvm-svn: 138734
* This patch adds support of le32 pseudo-cpu that stands for genericIvan Krasin2011-08-231-0/+9
| | | | | | 32-bit little-endian CPU. Used by PNaCl and Emscripten. llvm-svn: 138335
* Add NativeClient support to Triple::ParseOS.Ivan Krasin2011-08-221-0/+2
| | | | llvm-svn: 138291
* Add NativeClient operating system support.Ivan Krasin2011-08-181-0/+1
| | | | | | | | | | | | | | This patch adds support of NativeClient (*-*-nacl) OS support to LLVM. It's already supported in autoconf/config.sub. The motivation for this change is to start upstreaming PNaCl work. The whole set of patches include llvm backends (i686, x86_64, ARM), llvm-gcc (probably, would not be upstreamed because it's deprecated) and clang (the work has been just started, the amount of changes is going to be low and the most of the work is expected to be done close to the mainline). llvm-svn: 138005
* Added several architecture names.Sean Callanan2011-07-301-1/+2
| | | | llvm-svn: 136552
* Teach the Triple class about kfreebsd (FreeBSD kernel withDuncan Sands2011-07-261-0/+3
| | | | | | a GNU userspace). llvm-svn: 136085
* switch Triple to take twines instead of stringrefs.Chris Lattner2011-07-241-5/+0
| | | | llvm-svn: 135889
* lib/Support/Triple.cpp: Recognize "-march=ppc32" to llc properly, as quick hack.NAKAMURA Takumi2011-07-221-0/+2
| | | | | FIXME: There is an inconsistency. llvm::Triple does not understand "ppc32" and PowerPC/TargetInfo holds "ppc32". llvm-svn: 135745
* Recognize mipseb as alias for mips for symmetry with mipsel.Joerg Sonnenberger2011-07-071-1/+2
| | | | llvm-svn: 134617
* Fix missing triple support for RTEMS target.Eli Friedman2011-07-061-0/+2
| | | | llvm-svn: 134532
* Add initial *-*-rtems* target, from Joel SherrillDouglas Gregor2011-07-011-0/+1
| | | | llvm-svn: 134282
* ...this is not a good commit day for me.John McCall2011-05-291-7/+0
| | | | llvm-svn: 132294
* On Darwin ARM, set the UNWIND_RESUME libcall to _Unwind_SjLj_Resume.John McCall2011-05-291-0/+7
| | | | | | | This is important for the correct lowering of unwind instructions (which doesn't matter at all) and llvm.eh.resume calls (which does). llvm-svn: 132291
* PTX: Add intrinsics to list of built-in intrinsics, which allows them to beJustin Holewinski2011-04-201-10/+20
| | | | | | | | | | used by Clang. To help Clang integration, the PTX target has been split into two targets: ptx32 and ptx64, depending on the desired pointer size. - Add GCCBuiltin class to all intrinsics - Split PTX target into ptx32 and ptx64 llvm-svn: 129851
* ADT/Triple: Drop support for -osx style triples, we are going with -macosxDaniel Dunbar2011-04-191-3/+0
| | | | | | instead. llvm-svn: 129836
* ADT/Triple: Add support for Triple::MacOSX per feedback from Chris, will removeDaniel Dunbar2011-04-191-0/+3
| | | | | | Triple::OSX once Clang has moved. llvm-svn: 129833
* ADT/Triple: Add isOSDarwin() and isOSWindows() helper functions.Daniel Dunbar2011-04-191-2/+1
| | | | llvm-svn: 129815
* ADT/Triple: Fix Triple::getArchNameForAssembler to support OSX and iOSDaniel Dunbar2011-04-191-1/+2
| | | | | | enumeration values. llvm-svn: 129814
* ADT/Triple: Generalize and simplify getDarwinNumber to just be getOSVersion.Daniel Dunbar2011-04-191-47/+24
| | | | llvm-svn: 129799
* ADT/Triple: Add support for more explicit "osx" and "ios" OS names.Daniel Dunbar2011-04-191-0/+6
| | | | llvm-svn: 129798
* Add scei vendorJohn Thompson2011-03-151-0/+3
| | | | llvm-svn: 127705
* Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 generally.NAKAMURA Takumi2011-02-171-3/+0
| | | | | | No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way. llvm-svn: 125747
* Fix a clang warning.Anders Carlsson2011-02-051-1/+2
| | | | llvm-svn: 124960
* Remove NoVendor and NoOS, added in commit 123990, from Triple. While itDuncan Sands2011-02-021-25/+5
| | | | | | | | | may be useful to understand "none", this is not the place for it. Tweak the fix to Normalize while there: the fix added in 123990 works correctly, but I like this way better. Finally, now that Triple understands some non-trivial environment values, teach the unittests about them. llvm-svn: 124720
* Patches to build EFI with Clang/LLVM. By Carl Norum.Evan Cheng2011-02-011-0/+3
| | | | llvm-svn: 124639
* Clang was not parsing target triples involving EABI and was generating wrong ↵Renato Golin2011-01-211-3/+33
| | | | | | IR (wrong PCS) and passing the wrong information down llc via the target-triple printed in IR. I've fixed this by adding the parsing of EABI into LLVM's Triple class and using it to choose the correct PCS in Clang's Tools. A Clang patch is on its way to use this infrastructure. llvm-svn: 123990
* Trailing whitespace and 80 column fixups.Jim Grosbach2010-12-171-14/+15
| | | | llvm-svn: 122026
* Remove PIC16 remnants.Benjamin Kramer2010-11-271-5/+0
| | | | llvm-svn: 120223
* Add better support for environment portion of triple. Original patch byDuncan Sands2010-09-161-6/+32
| | | | | | Cameron Esfahani, tweaked to use array_lengthof. llvm-svn: 114073
* Create PTX backend. Patch by Che-Liang Chiou!Nick Lewycky2010-09-071-0/+13
| | | | llvm-svn: 113235
* Remove a hack that tries to understand incorrect triples from theDuncan Sands2010-08-301-16/+0
| | | | | | | | | | | Triple class constructor. Only valid triples should now be used inside LLVM - front-ends are now responsable for rejecting or correcting invalid target triples. The Triple::normalize method can be used to straighten out funky triples provided by users. Give this a whirl through the buildbots to see if I caught all places where triples enter LLVM. llvm-svn: 112470
* Add a 'normalize' method to the Triple class, which takes a mucked upDuncan Sands2010-08-121-63/+196
| | | | | | | | | | | | | | | target triple and straightens it out. This does less than gcc's script config.sub, for example it turns i386-mingw32 into i386--mingw32 not i386-pc-mingw32, but it does a decent job of turning funky triples into something that the rest of the Triple class can understand. The plan is to use this to canonicalize triple's when they are first provided by users, and have the rest of LLVM only deal with canonical triples. Once this is done the special case workarounds in the Triple constructor can be removed, making the class more regular and easier to use. The comments and unittests for the Triple class are already adjusted in this patch appropriately for this brave new world of increased uniformity. llvm-svn: 110909
* add some triple for minix, patch by Kees van Reeuwijk from PR7582Chris Lattner2010-07-071-1/+4
| | | | llvm-svn: 107785
* Fix comment typo.Duncan Sands2010-03-241-1/+1
| | | | llvm-svn: 99392
* Adding the MicroBlaze backend.Wesley Peck2010-02-231-0/+9
| | | | | | | | | | | | The MicroBlaze is a highly configurable 32-bit soft-microprocessor for use on Xilinx FPGAs. For more information see: http://www.xilinx.com/tools/microblaze.htm http://en.wikipedia.org/wiki/MicroBlaze The current LLVM MicroBlaze backend generates assembly which can be compiled using the an appropriate binutils assembler. llvm-svn: 96969
* add support for the sparcv9-*-* target triple to turn onChris Lattner2010-02-041-0/+6
| | | | | | 64-bit sparc codegen. Patch by Nathan Keynes! llvm-svn: 95293
* Add PS3 Triple class, Credit to John Thompson.Edward O'Callaghan2009-11-191-1/+4
| | | | llvm-svn: 89339
OpenPOWER on IntegriCloud