diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-11-19 15:22:07 +0530 |
---|---|---|
committer | Matt Arsenault <arsenm2@gmail.com> | 2019-12-07 00:09:10 +0530 |
commit | 2cc11941a2e88236e0b4842229454ae6d85142cd (patch) | |
tree | 1f1c5b1d042d7f96d61bf44432ec5f86454da99c | |
parent | 543ffb4a2d6435004f7e41f2b3d9040aeb3e78ef (diff) | |
download | bcm5719-llvm-2cc11941a2e88236e0b4842229454ae6d85142cd.tar.gz bcm5719-llvm-2cc11941a2e88236e0b4842229454ae6d85142cd.zip |
clang/AMDGPU: Fix default for frame-pointer attribute
Enabling optimization should allow frame pointer elimination.
-rw-r--r-- | clang/lib/Driver/ToolChains/Clang.cpp | 2 | ||||
-rw-r--r-- | clang/test/Driver/frame-pointer-elim.cl | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 5ebf36f13ce..02a365fa496 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -538,6 +538,8 @@ static bool useFramePointerForTargetByDefault(const ArgList &Args, case llvm::Triple::ppc64le: case llvm::Triple::riscv32: case llvm::Triple::riscv64: + case llvm::Triple::amdgcn: + case llvm::Triple::r600: return !areOptimizationsEnabled(Args); default: break; diff --git a/clang/test/Driver/frame-pointer-elim.cl b/clang/test/Driver/frame-pointer-elim.cl new file mode 100644 index 00000000000..c469d10a64b --- /dev/null +++ b/clang/test/Driver/frame-pointer-elim.cl @@ -0,0 +1,8 @@ +// RUN: %clang -target amdgcn-amd-amdhsa -### -S -O3 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKNONE %s +// RUN: %clang -target amdgcn-amd-amdhsa -### -S -O3 -fno-omit-frame-pointer %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKALL %s +// RUN: %clang -target amdgcn-amd-amdhsa -### -S %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKALL %s +// RUN: %clang -target amdgcn-amd-amdhsa -### -S -O0 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKALL %s +// RUN: %clang -target amdgcn-amd-amdhsa -### -S -cl-opt-disable %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKALL %s + +// CHECKNONE: -mframe-pointer=none +// CHECKALL: -mframe-pointer=all |