diff options
author | Filipe Cabecinhas <me@filcab.net> | 2015-01-27 18:08:32 +0000 |
---|---|---|
committer | Filipe Cabecinhas <me@filcab.net> | 2015-01-27 18:08:32 +0000 |
commit | b1e6c2dd3d9da079cb7586395bfcf9f68d2e414a (patch) | |
tree | ba3d5f052238ce7906ef6fa08fad9dceef77d3e9 /clang/lib/Driver/Tools.cpp | |
parent | 692f5f3795aa6a1de7b490285b1a0957dd01c153 (diff) | |
download | bcm5719-llvm-b1e6c2dd3d9da079cb7586395bfcf9f68d2e414a.tar.gz bcm5719-llvm-b1e6c2dd3d9da079cb7586395bfcf9f68d2e414a.zip |
Fix part of r227215. PS4 code just omits leaf frame pointers.
llvm-svn: 227219
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 39acef47abe..c9ca29424dc 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -2306,12 +2306,10 @@ 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; @@ -2335,6 +2333,9 @@ static bool shouldUseLeafFramePointer(const ArgList &Args, options::OPT_momit_leaf_frame_pointer)) return A->getOption().matches(options::OPT_mno_omit_leaf_frame_pointer); + if (Triple.isPS4CPU()) + return false; + return shouldUseFramePointerForTarget(Args, Triple); } |