diff options
author | Renato Golin <renato.golin@arm.com> | 2011-01-21 18:25:47 +0000 |
---|---|---|
committer | Renato Golin <renato.golin@arm.com> | 2011-01-21 18:25:47 +0000 |
commit | 859f8183639346378ed29d1e04a4b070ebc7e97f (patch) | |
tree | c52e2cb8579093cc8e76670765e8b3f07d5e52fa /include/llvm/ADT/Triple.h | |
parent | 596937914548c181f2504aad3b709189e87a561b (diff) | |
download | external_llvm-859f8183639346378ed29d1e04a4b070ebc7e97f.zip external_llvm-859f8183639346378ed29d1e04a4b070ebc7e97f.tar.gz external_llvm-859f8183639346378ed29d1e04a4b070ebc7e97f.tar.bz2 |
Clang was not parsing target triples involving EABI and was generating wrong 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123990 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/Triple.h')
-rw-r--r-- | include/llvm/ADT/Triple.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h index ef53eb9..8c2d18d 100644 --- a/include/llvm/ADT/Triple.h +++ b/include/llvm/ADT/Triple.h @@ -72,7 +72,8 @@ public: UnknownVendor, Apple, - PC + PC, + NoVendor }; enum OSType { UnknownOS, @@ -92,10 +93,15 @@ public: Solaris, Win32, Haiku, - Minix + Minix, + NoOS }; enum EnvironmentType { - UnknownEnvironment + UnknownEnvironment, + + GNU, + GNUEABI, + EABI }; private: |