summaryrefslogtreecommitdiff
path: root/test/Driver/frame-pointer-elim.c
diff options
context:
space:
mode:
authorEd Schouten <ed@nuxi.nl>2016-08-11 19:23:30 +0000
committerEd Schouten <ed@nuxi.nl>2016-08-11 19:23:30 +0000
commit0882cc1ad83d061bb2a27aec757a5cac6e50a38d (patch)
tree0bcf71d31211417e6a80b35f07bb89878f733416 /test/Driver/frame-pointer-elim.c
parent271e3dbddedabb82291728cb87e700bdb72e2369 (diff)
downloadclang-0882cc1ad83d061bb2a27aec757a5cac6e50a38d.tar.gz
Pass in frame pointer omitting compiler flags for CloudABI as well.
On Linux we pass in -fomit-frame-pointer flags (and similar) automatically if optimization is enabled. Let's do the same thing on CloudABI. Without this, Clang seems to run out of registers quite quickly while trying to build code with inline assembly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@278393 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Driver/frame-pointer-elim.c')
-rw-r--r--test/Driver/frame-pointer-elim.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/Driver/frame-pointer-elim.c b/test/Driver/frame-pointer-elim.c
index 5355cbe3a3..139c0ccb95 100644
--- a/test/Driver/frame-pointer-elim.c
+++ b/test/Driver/frame-pointer-elim.c
@@ -8,6 +8,15 @@
// RUN: FileCheck --check-prefix=LINUX %s
// LINUX-NOT: "-momit-leaf-frame-pointer"
+// CloudABI follows the same rules as Linux.
+// RUN: %clang -### -target x86_64-unknown-cloudabi -S -O1 %s 2>&1 | \
+// RUN: FileCheck --check-prefix=CLOUDABI-OPT %s
+// CLOUDABI-OPT: "-momit-leaf-frame-pointer"
+
+// RUN: %clang -### -target x86_64-unknown-cloudabi -S %s 2>&1 | \
+// RUN: FileCheck --check-prefix=CLOUDABI %s
+// CLOUDABI-NOT: "-momit-leaf-frame-pointer"
+
// Darwin disables omitting the leaf frame pointer even under optimization
// unless the command lines are given.
// RUN: %clang -### -target i386-apple-darwin -S %s 2>&1 | \