From: Filipe Cabecinhas Date: Tue, 27 Jan 2015 18:08:32 +0000 (+0000) Subject: Fix part of r227215. PS4 code just omits leaf frame pointers. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=351e556babd40e652454246cc8cd86dcdc94377c;p=clang Fix part of r227215. PS4 code just omits leaf frame pointers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@227219 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 39acef47ab..c9ca29424d 100644 --- a/lib/Driver/Tools.cpp +++ b/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); }