diff options
| author | Christian Pirker <cpirker@a-bix.com> | 2014-04-10 13:55:51 +0000 |
|---|---|---|
| committer | Christian Pirker <cpirker@a-bix.com> | 2014-04-10 13:55:51 +0000 |
| commit | 02c2e25d74ff30fd5b2f1d70943548f0c9a15767 (patch) | |
| tree | fdad5835084611f542486041d32c8ab52e812aaa /clang/lib | |
| parent | b373e01d870071e963fef19441257988cfa923f9 (diff) | |
| download | bcm5719-llvm-02c2e25d74ff30fd5b2f1d70943548f0c9a15767.tar.gz bcm5719-llvm-02c2e25d74ff30fd5b2f1d70943548f0c9a15767.zip | |
AArch64: Add command line option to select big or little endian
llvm-svn: 205966
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/Driver.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 317b8220950..c7a0919f98a 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -1862,18 +1862,24 @@ static llvm::Triple computeTargetTriple(StringRef DefaultTargetTriple, } } - // Handle pseudo-target flags '-EL' and '-EB'. - if (Arg *A = Args.getLastArg(options::OPT_EL, options::OPT_EB)) { - if (A->getOption().matches(options::OPT_EL)) { + // Handle pseudo-target flags '-mlittle-endian'/'-EL' and + // '-mbig-endian'/'-EB'. + if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian, + options::OPT_mbig_endian)) { + if (A->getOption().matches(options::OPT_mlittle_endian)) { if (Target.getArch() == llvm::Triple::mips) Target.setArch(llvm::Triple::mipsel); else if (Target.getArch() == llvm::Triple::mips64) Target.setArch(llvm::Triple::mips64el); + else if (Target.getArch() == llvm::Triple::aarch64_be) + Target.setArch(llvm::Triple::aarch64); } else { if (Target.getArch() == llvm::Triple::mipsel) Target.setArch(llvm::Triple::mips); else if (Target.getArch() == llvm::Triple::mips64el) Target.setArch(llvm::Triple::mips64); + else if (Target.getArch() == llvm::Triple::aarch64) + Target.setArch(llvm::Triple::aarch64_be); } } |

