diff options
| author | Brad Smith <brad@comstyle.com> | 2019-04-12 01:29:18 +0000 |
|---|---|---|
| committer | Brad Smith <brad@comstyle.com> | 2019-04-12 01:29:18 +0000 |
| commit | 21375ca136025f2a6dc55418d43630455ca0e98b (patch) | |
| tree | 10a75ec3bfb78f0536154c0d989869c94fcc297f /clang/lib/Driver | |
| parent | 492cad51a470964aac2351acf7e65d52dc4c04d5 (diff) | |
| download | bcm5719-llvm-21375ca136025f2a6dc55418d43630455ca0e98b.tar.gz bcm5719-llvm-21375ca136025f2a6dc55418d43630455ca0e98b.zip | |
Enable frame pointer elimination for OpenBSD on x86 and mips64.
llvm-svn: 358245
Diffstat (limited to 'clang/lib/Driver')
| -rw-r--r-- | clang/lib/Driver/ToolChains/Clang.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index a5b98aad54d..18856650a94 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -534,6 +534,18 @@ static bool useFramePointerForTargetByDefault(const ArgList &Args, return !areOptimizationsEnabled(Args); } + if (Triple.isOSOpenBSD()) { + switch (Triple.getArch()) { + case llvm::Triple::mips64: + case llvm::Triple::mips64el: + case llvm::Triple::x86: + case llvm::Triple::x86_64: + return !areOptimizationsEnabled(Args); + default: + return true; + } + } + if (Triple.isOSLinux() || Triple.getOS() == llvm::Triple::CloudABI || Triple.isOSHurd()) { switch (Triple.getArch()) { |

