diff options
author | Filipe Cabecinhas <me@filcab.net> | 2015-01-27 17:27:37 +0000 |
---|---|---|
committer | Filipe Cabecinhas <me@filcab.net> | 2015-01-27 17:27:37 +0000 |
commit | 4b44257c5486e64380efcac2089887dc738005e1 (patch) | |
tree | d05618ba70e558527345346653a4ba9dff22ac01 /clang/lib/Driver/Tools.cpp | |
parent | 75170778ec52e1d9d4d3e704669e2620d2c5c101 (diff) | |
download | bcm5719-llvm-4b44257c5486e64380efcac2089887dc738005e1.tar.gz bcm5719-llvm-4b44257c5486e64380efcac2089887dc738005e1.zip |
Added more PS4 defaults for code generation
llvm-svn: 227215
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 55d5283083e..39acef47abe 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1444,6 +1444,10 @@ static const char *getX86TargetCPU(const ArgList &Args, return Is64Bit ? "core2" : "yonah"; } + // Set up default CPU name for PS4 compilers. + if (Triple.isPS4CPU()) + return "btver2"; + // On Android use targets compatible with gcc if (Triple.getEnvironment() == llvm::Triple::Android) return Is64Bit ? "x86-64" : "i686"; @@ -1970,7 +1974,8 @@ static void addExceptionArgs(const ArgList &Args, types::ID InputType, } if (types::isCXX(InputType)) { - bool CXXExceptionsEnabled = Triple.getArch() != llvm::Triple::xcore; + bool CXXExceptionsEnabled = + Triple.getArch() != llvm::Triple::xcore && !Triple.isPS4CPU(); if (Arg *A = Args.getLastArg(options::OPT_fcxx_exceptions, options::OPT_fno_cxx_exceptions, options::OPT_fexceptions, @@ -2301,10 +2306,12 @@ static bool shouldUseFramePointerForTarget(const ArgList &Args, case llvm::Triple::systemz: case llvm::Triple::x86: case llvm::Triple::x86_64: - if (Triple.isOSLinux()) + if (Triple.isOSLinux()) { if (Arg *A = Args.getLastArg(options::OPT_O_Group)) if (!A->getOption().matches(options::OPT_O0)) return false; + } else if (Triple.isPS4CPU()) + return false; return true; case llvm::Triple::xcore: return false; |