diff options
author | Douglas Katzman <dougk@google.com> | 2016-07-25 16:36:02 +0000 |
---|---|---|
committer | Douglas Katzman <dougk@google.com> | 2016-07-25 16:36:02 +0000 |
commit | 87da5f47ac0b459de051a55e076157ec054bf1db (patch) | |
tree | fddc45173b9f9a0942056c6e6c23ec11de2d0083 /clang/lib/Basic/Targets.cpp | |
parent | 577935962456e90580b24082473416f110f7705d (diff) | |
download | bcm5719-llvm-87da5f47ac0b459de051a55e076157ec054bf1db.tar.gz bcm5719-llvm-87da5f47ac0b459de051a55e076157ec054bf1db.zip |
[Myriad]: better compatibility with vendor source
- Accept ma{2100,2150,2150} for -mcpu
- Define more preprocessor macros
- Don't append "le/" to little-endian lib dirs
llvm-svn: 276646
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 30e75847cb1..6ce14ced7b7 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -6470,8 +6470,9 @@ public: CK_NIAGARA2, CK_NIAGARA3, CK_NIAGARA4, - CK_MYRIAD2_1, - CK_MYRIAD2_2, + CK_MYRIAD2100, + CK_MYRIAD2150, + CK_MYRIAD2450, CK_LEON2, CK_LEON2_AT697E, CK_LEON2_AT697F, @@ -6498,8 +6499,9 @@ public: case CK_SPARCLITE86X: case CK_SPARCLET: case CK_TSC701: - case CK_MYRIAD2_1: - case CK_MYRIAD2_2: + case CK_MYRIAD2100: + case CK_MYRIAD2150: + case CK_MYRIAD2450: case CK_LEON2: case CK_LEON2_AT697E: case CK_LEON2_AT697F: @@ -6538,9 +6540,14 @@ public: .Case("niagara2", CK_NIAGARA2) .Case("niagara3", CK_NIAGARA3) .Case("niagara4", CK_NIAGARA4) - .Case("myriad2", CK_MYRIAD2_1) - .Case("myriad2.1", CK_MYRIAD2_1) - .Case("myriad2.2", CK_MYRIAD2_2) + .Case("ma2100", CK_MYRIAD2100) + .Case("ma2150", CK_MYRIAD2150) + .Case("ma2450", CK_MYRIAD2450) + // FIXME: the myriad2[.n] spellings are obsolete, + // but a grace period is needed to allow updating dependent builds. + .Case("myriad2", CK_MYRIAD2100) + .Case("myriad2.1", CK_MYRIAD2100) + .Case("myriad2.2", CK_MYRIAD2150) .Case("leon2", CK_LEON2) .Case("at697e", CK_LEON2_AT697E) .Case("at697f", CK_LEON2_AT697F) @@ -6649,18 +6656,27 @@ public: break; } if (getTriple().getVendor() == llvm::Triple::Myriad) { + std::string MyriadArchValue, Myriad2Value; + Builder.defineMacro("__sparc_v8__"); + Builder.defineMacro("__leon__"); switch (CPU) { - case CK_MYRIAD2_1: - Builder.defineMacro("__myriad2", "1"); - Builder.defineMacro("__myriad2__", "1"); + case CK_MYRIAD2150: + MyriadArchValue = "__ma2150"; + Myriad2Value = "2"; break; - case CK_MYRIAD2_2: - Builder.defineMacro("__myriad2", "2"); - Builder.defineMacro("__myriad2__", "2"); + case CK_MYRIAD2450: + MyriadArchValue = "__ma2450"; + Myriad2Value = "2"; break; default: + MyriadArchValue = "__ma2100"; + Myriad2Value = "1"; break; } + Builder.defineMacro(MyriadArchValue, "1"); + Builder.defineMacro(MyriadArchValue+"__", "1"); + Builder.defineMacro("__myriad2__", Myriad2Value); + Builder.defineMacro("__myriad2", Myriad2Value); } } |