Commit Graph

14 Commits

Author SHA1 Message Date
Chris Lattner 8268cc9c77 the x86 version of the name is x86-64, not x86_64. Handle this properly
in getArchTypeForLLVMName.

llvm-svn: 78799
2009-08-12 06:45:02 +00:00
Chris Lattner e0971bc29f add support for mingw64 target triples.
llvm-svn: 78797
2009-08-12 06:32:10 +00:00
Chris Lattner 553c9f35a7 add a couple of helpers to the Triple class for decoding
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
2009-08-12 06:19:40 +00:00
Daniel Dunbar 0f16ea5c30 Pass target triple string in to TargetMachine constructor.
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
2009-08-03 04:03:51 +00:00
Jakob Stoklund Olesen 552d8d6618 Analog Devices Blackfin back-end.
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
2009-08-02 17:32:10 +00:00
Daniel Dunbar bd481a119c Oops, forgot XCore. Sorry XCore!
llvm-svn: 77125
2009-07-26 04:52:45 +00:00
Daniel Dunbar 172649be2c Update for API change.
llvm-svn: 77124
2009-07-26 04:23:03 +00:00
Daniel Dunbar 19e7076ddd Update Triple to use StringRef/Twine based APIs.
- This is now shorter, simpler, safer, and more efficient, what a deal.

llvm-svn: 77119
2009-07-26 03:31:47 +00:00
Chris Lattner 01218d5b17 Add NetBSD to the Triple class, patch by Krister Walfridsson!
llvm-svn: 75489
2009-07-13 20:22:23 +00:00
Duncan Sands 14814d4477 Add triple for OpenBSD.
llvm-svn: 74422
2009-06-29 13:36:13 +00:00
Duncan Sands 0de39b42ff Add support for AuroraUX. Patch by evocallaghan.
llvm-svn: 73766
2009-06-19 14:40:01 +00:00
Daniel Dunbar e3384c4f2e Add llvm::triple constructor from arch, vendor, os strings, and recognize
DragonFly OS type.

llvm-svn: 72242
2009-05-22 02:24:11 +00:00
Mikhail Glushenkov 12062ba83d Fix build on Linux.
llvm-svn: 68269
2009-04-02 01:11:37 +00:00
Daniel Dunbar 4abd56677d Add llvm::Triple class for abstracting access to target triples.
- 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
2009-04-01 21:53:23 +00:00