From 4fccc0cedd28710cef54c7acf5f7f4d9d1fcf6e0 Mon Sep 17 00:00:00 2001 From: Brad Smith Date: Fri, 19 Apr 2019 18:41:40 +0000 Subject: [PATCH] Enable frame pointer elimination for OpenBSD on powerpc. llvm-svn: 358775 --- clang/lib/Driver/ToolChains/Clang.cpp | 1 + clang/test/Driver/frame-pointer-elim.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index a7055b4..cbaf5cb 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -538,6 +538,7 @@ static bool useFramePointerForTargetByDefault(const ArgList &Args, switch (Triple.getArch()) { case llvm::Triple::mips64: case llvm::Triple::mips64el: + case llvm::Triple::ppc: case llvm::Triple::x86: case llvm::Triple::x86_64: return !areOptimizationsEnabled(Args); diff --git a/clang/test/Driver/frame-pointer-elim.c b/clang/test/Driver/frame-pointer-elim.c index b050f71..3293517 100644 --- a/clang/test/Driver/frame-pointer-elim.c +++ b/clang/test/Driver/frame-pointer-elim.c @@ -29,10 +29,14 @@ // OpenBSD follows the same rules as Linux. // RUN: %clang -### -target x86_64-unknown-openbsd -S -O1 %s 2>&1 | \ // RUN: FileCheck --check-prefix=OPENBSD-OPT %s +// RUN: %clang -### -target powerpc-unknown-openbsd -S -O1 %s 2>&1 | \ +// RUN: FileCheck --check-prefix=OPENBSD-OPT %s // OPENBSD-OPT: "-momit-leaf-frame-pointer" // RUN: %clang -### -target x86_64-unknown-openbsd -S %s 2>&1 | \ // RUN: FileCheck --check-prefix=OPENBSD %s +// RUN: %clang -### -target powerpc-unknown-openbsd -S %s 2>&1 | \ +// RUN: FileCheck --check-prefix=OPENBSD %s // OPENBSD-NOT: "-momit-leaf-frame-pointer" // Darwin disables omitting the leaf frame pointer even under optimization -- 2.7.4