diff options
Diffstat (limited to 'clang')
-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); } |