summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Triple.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Added getArchNameForAssembler method to the Triple class for which returns ↵Viktor Kutuzov2009-11-171-0/+27
| | | | | | OS and Vendor independent target assembler arch. llvm-svn: 89122
* Add PSP OS Target to Triple, Credit to Bruno Cardoso Lopes.Edward O'Callaghan2009-11-151-0/+3
| | | | llvm-svn: 88849
* Pass StringRef by value.Daniel Dunbar2009-11-061-8/+8
| | | | llvm-svn: 86251
* add haiku support, patch by Paul Davey!Chris Lattner2009-10-161-0/+3
| | | | llvm-svn: 84238
* r83391 was completely broken since Twines keep references to their inputs, andJeffrey Yasskin2009-10-061-4/+9
| | | | | | | some of the inputs were temporaries. Here's a real fix for the miscompilation. Thanks to sabre for pointing out the problem. llvm-svn: 83417
* Fix PR5112, a miscompilation on gcc-4.0.3. Patch by Collin Winter!Jeffrey Yasskin2009-10-061-1/+4
| | | | llvm-svn: 83391
* Add comment re: clang dependency.Daniel Dunbar2009-09-091-0/+3
| | | | llvm-svn: 81393
* Add Triple::getArchTypeForDarwinArchName, which converts a "Darwin" architectureDaniel Dunbar2009-09-081-0/+34
| | | | | | | | name (e.g. "ppc") to the appropriate constant. Also, StringRefize additional Triple constructor. llvm-svn: 81274
* Add triple parsing support for XCore.Richard Osborne2009-08-311-0/+2
| | | | llvm-svn: 80629
* Add llvm::Triple::getArchTypePrefix for getting the intrinsic prefix for anDaniel Dunbar2009-08-241-0/+25
| | | | | | identifier architecture. llvm-svn: 79906
* Add triple parsing support for TCE.Eli Friedman2009-08-191-0/+5
| | | | llvm-svn: 79461
* Improve Triple to recognize the OS in i386-mingw32.Daniel Dunbar2009-08-181-2/+19
| | | | llvm-svn: 79359
* Fix Triple to recognize the 'bfin' arch.Daniel Dunbar2009-08-181-0/+2
| | | | llvm-svn: 79325
* Recognize xscale as an ARM arch.Daniel Dunbar2009-08-181-1/+2
| | | | | | - Patch by Yonggang Luo. llvm-svn: 79315
* Add Triple matching for pic16 arch and solaris OS.Daniel Dunbar2009-08-181-2/+8
| | | | | | - Patch by Yonggang Luo. llvm-svn: 79314
* fix "pc" to be lower case in a target triple, patch by Yonggang LuoChris Lattner2009-08-141-1/+1
| | | | llvm-svn: 79016
* the x86 version of the name is x86-64, not x86_64. Handle this properlyChris Lattner2009-08-121-1/+1
| | | | | | in getArchTypeForLLVMName. llvm-svn: 78799
* add support for mingw64 target triples.Chris Lattner2009-08-121-0/+3
| | | | llvm-svn: 78797
* add a couple of helpers to the Triple class for decodingChris Lattner2009-08-121-0/+65
| | | | | | | | the darwin version string. This should help consolidate the variety of weird functions we have scattered around the codebase that do stuff like this. llvm-svn: 78792
* Pass target triple string in to TargetMachine constructor.Daniel Dunbar2009-08-031-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | This is not just a matter of passing in the target triple from the module; currently backends are making decisions based on the build and host architecture. The goal is to migrate to making these decisions based off of the triple (in conjunction with the feature string). Thus most clients pass in the target triple, or the host triple if that is empty. This has one important change in the way behavior of the JIT and llc. For the JIT, it was previously selecting the Target based on the host (naturally), but it was setting the target machine features based on the triple from the module. Now it is setting the target machine features based on the triple of the host. For LLC, -march was previously only used to select the target, the target machine features were initialized from the module's triple (which may have been empty). Now the target triple is taken from the module, or the host's triple is used if that is empty. Then the triple is adjusted to match -march. The take away is that -march for llc is now used in conjunction with the host triple to initialize the subtarget. If users want more deterministic behavior from llc, they should use -mtriple, or set the triple in the input module. llvm-svn: 77946
* Analog Devices Blackfin back-end.Jakob Stoklund Olesen2009-08-021-0/+3
| | | | | | | | | | | | | | Generate code for the Blackfin family of DSPs from Analog Devices: http://www.analog.com/en/embedded-processing-dsp/blackfin/processors/index.html We aim to be compatible with the exsisting GNU toolchain found at: http://blackfin.uclinux.org/gf/project/toolchain The back-end is experimental. llvm-svn: 77897
* Oops, forgot XCore. Sorry XCore!Daniel Dunbar2009-07-261-2/+3
| | | | llvm-svn: 77125
* Update for API change.Daniel Dunbar2009-07-261-6/+46
| | | | llvm-svn: 77124
* Update Triple to use StringRef/Twine based APIs.Daniel Dunbar2009-07-261-58/+35
| | | | | | - This is now shorter, simpler, safer, and more efficient, what a deal. llvm-svn: 77119
* Add NetBSD to the Triple class, patch by Krister Walfridsson!Chris Lattner2009-07-131-0/+3
| | | | llvm-svn: 75489
* Add triple for OpenBSD.Duncan Sands2009-06-291-0/+3
| | | | llvm-svn: 74422
OpenPOWER on IntegriCloud