summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Triple.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add support for AuroraUX. Patch by evocallaghan.Duncan Sands2009-06-191-1/+4
| | | | llvm-svn: 73766
* Add llvm::triple constructor from arch, vendor, os strings, and recognizeDaniel Dunbar2009-05-221-0/+3
| | | | | | DragonFly OS type. llvm-svn: 72242
* Fix build on Linux.Mikhail Glushenkov2009-04-021-0/+1
| | | | llvm-svn: 68269
* Add llvm::Triple class for abstracting access to target triples.Daniel Dunbar2009-04-011-0/+183
- The code is silly, I'm just amusing myself. Rewrite to be efficient if you like. :) Also, if you wish to debate the proper names of the triple components I'm all ears. llvm-svn: 68252
OpenPOWER on IntegriCloud